This is a partial reversion of
https://github.com/zed-industries/zed/pull/30878 - having it always
scroll to bottom whenever a new message is added makes it so that when
you're scrolled up, you don't have time to read what you're trying to
read before it autoscrolls to the end.
@danilo-leal when you're back, we can pair on addressing that in a
different way!
Release Notes:
- Fixed bug where scrolling up in the agent panel didn't prevent
automatic scroll-to-end whenever a new message arrived.
Closes#17088
This PR allows users to override ESLint settings as they want instead of
depending on a few set of hardcoded keys.
Release Notes:
- Added support for configuring all ESLint server settings instead of
only a limited set of predefined options.
This PR makes it so the Zed Free plan cannot be canceled.
We were already preventing this on the zed.dev side, but this will make
it more airtight.
Release Notes:
- N/A
This is needed for apples-to-apples comparison of different agent
models.
Another change is that now `cargo -p eval` accepts model names as
`provider_id/model_id` instead of separate `--provider` and `--model`
params.
Release Notes:
- N/A
Release Notes:
- debugger beta: Go's debug adapter will now automatically download if
not found on user's PATH
Co-authored-by: Remco Smits <djsmits12@gmail.com>
If gdb doesn't send a thread name we display the thread's process id in
the thread drop down menu instead now.
Co-authored-by: Remco Smits \<djsmits12@gmail.com\>
Release Notes:
- debugger beta: Handle bug where DAPs don't send thread names
Release Notes:
- Fixed issue where pressing Enter on a line starting with * incorrectly
added comment delimiter.
---------
Co-authored-by: Piotr Osiewicz <peterosiewicz@gmail.com>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
- Make remembering focus work with `ActivatePaneDown` as well
- Tone down the console's focus-in behavior so clicking doesn't
misbehave
Release Notes:
- N/A
By consuming the event during processing we save a few clones during
event processing.
Overall in this PR we save one Clone each during:
- Paste to the terminal
- Writing to the terminal
- Setting the title
- On every terminal transaction
- On every ViMotion when not using shift
Release Notes:
- N/A
`SearchHistory` internally enforced the max length of the search history
by popping elements from the front using `.remove(0)`. For a `Vec` this
is a `O(n)` operation. Use a `VecDeque` to make this `O(1)`
I also made it so the excess element is popped before the new one is
added, which keeps the allocation at the desired size.
Release Notes:
- N/A
This PR replaces some `update()` calls with either `read()` or
`read_with()` when the `update()` call performed read-only operations on
the entity.
Many more likely exist, will follow-up with more PRs.
Release Notes:
- N/A
Right now you find this out the first time you try and submit a
completion.
These changes communicate much earlier to the user what the issue is
with their account and what they can do about it.
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Closes https://github.com/blopker/codebook/issues/79
Recently, the setting `diagnostics_max_severity` was changed from `null`
to `warning`in this PR: https://github.com/zed-industries/zed/pull/30316
This change has caused the various spell checking extensions to not work
as expected by default, most of which use the `hint` diagnostic. This
goes against user expectations when installing one of these extensions.
Without `hint` as the default, extension authors will either need to
change the diagnostic levels, or instruct users to add
`diagnostics_max_severity` to their settings as an additional step,
neither of which is a great user experience.
This PR sets the default `hint`, which is closer to the original
behavior before the aforementioned PR.
Release Notes:
- Changed `diagnostics_max_severity` to `hint` instead of `warning` by
default
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
This PR fixes an issue where the eval was incorrectly pulling the
provider/model from the user settings, which could cause problems when
running certain evals.
Was introduced in #30168 due to the restructuring after the removal of
the `assistant` crate.
Release Notes:
- N/A
This is a follow-up to https://github.com/zed-industries/zed/pull/31217
that removes the last turn after we get a `refusal` stop reason, as
advised by the Anthropic docs.
Meant to include it in that PR, but accidentally merged it before
pushing these changes 🤦🏻♂️.
Release Notes:
- N/A
Release Notes:
- Debugger Beta: Fixed a bug where environment variables were not
substituted in debug tasks in some cases.
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Remco Smits <djsmits12@gmail.com>
This PR updates the default/recommended models for the Anthropic and Zed
providers to be Claude Sonnet 4.
Release Notes:
- Updated default/recommended Anthropic models to Claude Sonnet 4.
Mistral just released a sota coding model:
https://mistral.ai/news/devstral
This PR adds support for it in both ollama and mistral
Release Notes:
- Add DevstralSmallLatest model to Mistral and Ollama
This PR adds support for [Claude
4](https://www.anthropic.com/news/claude-4).
Release Notes:
- Added support for Claude Opus 4 and Claude Sonnet 4.
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Closes#31138
Fix edge case where adding newline if there is text afterwards end
delimiter of multiline comment, would continue the comment prefix. This
is fixed by checking for end delimiter on whole line instead of just
assuming it would always be at end.
- [x] Tests
Release Notes:
- Fixed the issue where in some cases the block comment continues to the
next line even though the comment block is already closed.
This affects python's when debugging because the selected toolchain is
used as the python binary to spawn Debugpy
Release Notes:
- Fix bug where selected toolchain didn't exist
This move was done so debug configs could use path resolution, and
saving a configuration from the new session modal wouldn't resolve paths
beforehand.
I also added an integration test to make sure path resolution happens
from an arbitrary config. The test was placed under the new session
modal directory because it has to do with starting a session, and that's
what the new session modal typically does, even if it's implicitly used
in the test.
In the future, I plan to add more tests to the new session modal too.
Release Notes:
- debugger beta: Allow configs from debug.json to resolve paths
Part of #31174
Because the keyboard layout parameter wasn’t set correctly, characters
don’t show up properly when using the German layout at launch.
To reproduce:
Switch to the German layout, launch Zed, and press the `7` key. it
should output `7`, but instead it outputs `è`.
Release Notes:
- N/A
Closes #ISSUE
Release Notes:
- debugger: Use integrated terminal for Python, allowing one to interact
with standard input/output when debugging Python projects.
The docs include basic information on starting a session but will need
to be further iterated upon once we get deeper into the beta
Release Notes:
- N/A
Closes#28164
This PR adresses inproper keybinds being shown in MacOS application
menus. The issue arises because the keybinds shown in MacOS application
menus are unaware of keybind contexts (they are only ever updated [on a
keymap-change](6d1dd109f5/crates/zed/src/zed.rs (L1421))).
Thus, using the keybind that was added last in the keymap can result in
incorrect keybindings being shown quite frequently, as they might belong
to a different context not generally available (applies the same for the
default keymap as well as for user-keymaps).
For example, the linked issue arises because the keybind found last in
the iterator is
6d1dd109f5/assets/keymaps/vim.json (L759),
which is not even available in most contexts (and, additionally, the `e`
of `escape` is rendered here as a keybind which seems to be a seperate
issue).
Additionally, this would result in inconsistent behavior with some
Vim-keybinds. A vim-keybind would be used only when available but
otherwise the default binding would be shown (see `Undo` and `Redo` as
an example below), which seems inconsistent.
This PR fixes this by instead using the first keybind found in keymaps,
which is expected to be the keybind available in most contexts.
Additionally, this allows rendering some more keybinds for actions which
vim-keybind cannot be displayed (Find In Project for example) .This
seems to be more reasonable until [this related
comment](6d1dd109f5/crates/gpui/src/keymap.rs (L199-L204))
is resolved.
This includes a revert of #25878 as well. With this change, the change
made in #25878 becomes obsolete and would also regress the behavior back
to the state prior to that PR.
| | `main` | This PR |
| --- | --- | --- |
| Edit-menu | <img width="220" alt="main_edit"
src="https://github.com/user-attachments/assets/9f793b64-80b6-4a5b-b7e5-628f0d552166"
/> | <img width="220" alt="PR_edit"
src="https://github.com/user-attachments/assets/bccb444c-7a49-41d5-9377-d90b1639a3ed"
/> |
| View-menu | <img width="214" alt="main_view"
src="https://github.com/user-attachments/assets/0e6a6632-df02-4883-9f5a-facb4d0263b5"
/> | <img width="214" alt="PR_view"
src="https://github.com/user-attachments/assets/14600ece-fcaa-447a-94ef-4fa350eca49c"
/> |
Release Notes:
- Improved keybinds displayed for actions in MacOS application menus.