mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-08 07:35:01 +03:00
75d4c7981e
16983 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Conrad Irwin
|
75d4c7981e
|
Extract an LspStore object from Project, to prepare for language support over SSH (#17041)
For ssh remoting lsps we'll need to have language server support factored out of project. Thus that begins Release Notes: - N/A --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Mikayla <mikayla@zed.dev> |
||
Marshall Bowers
|
bb9f2f8713
|
collab: Require github_user_created_at at ingress points (#17180)
This PR makes the `github_user_created_at` field required at ingress points into collab. In practice we already have this value passed up, this change just makes that explicit. This is a precursor to making it required in the database. Release Notes: - N/A |
||
Marshall Bowers
|
9a8c301a7d
|
collab: Set github_user_created_at when seeding GitHub users (#17178)
This PR updates the seed script to set the `github_user_created_at` value for each GitHub user. Release Notes: - N/A |
||
Peter Tripp
|
58c0f39714
|
OpenAI: Fix GPT-4. Only include max_tokens when max_output_tokens provided (#17168)
- Fixed GPT-4 breakage (incorrect `max_output_tokens` handling). |
||
Conrad Irwin
|
ee6ec50b15
|
Fix - being a word character for selections (#17171)
Co-Authored-By: Mikayla <mikayla@zed.dev> Co-Authored-By: Nate <nate@zed.dev> Closes #15606 Closes #13515 Release Notes: - Fixes `-` being considered a word character for selections in some languages Co-authored-by: Mikayla <mikayla@zed.dev> Co-authored-by: Nate <nate@zed.dev> |
||
Marshall Bowers
|
c0731bfa28
|
assistant: Fix formatting in settings (#17172)
This PR fixes some formatting issues in `assistant_settings.rs` that were being caused by long lines. Release Notes: - N/A |
||
Marshall Bowers
|
68ea661711
|
assistant: Add foundation for receiving tool uses from Anthropic models (#17170)
This PR updates the Assistant with support for receiving tool uses from Anthropic models and capturing them as text in the context editor. This is just laying the foundation for tool use. We don't yet fulfill the tool uses yet, or define any tools for the model to use. Here's an example of what it looks like using the example `get_weather` tool from the Anthropic docs: <img width="644" alt="Screenshot 2024-08-30 at 1 51 13 PM" src="https://github.com/user-attachments/assets/3614f953-0689-423c-8955-b146729ea638"> Release Notes: - N/A |
||
Marshall Bowers
|
ea25d438d1
|
anthropic: Remove cache_control field from ResponseContent (#17165)
This PR removes the `cache_control` field from the variants in `ResponseContent`. This field is used on requests to control the caching behavior, but is not needed on content in the response. Release Notes: - N/A |
||
Marshall Bowers
|
8901d926eb
|
anthropic: Use separate Content type in requests and responses (#17163)
This PR splits the `Content` type for Anthropic into two new types: `RequestContent` and `ResponseContent`. As I was going through the Anthropic API docs it seems that there are different types of content that can be sent in requests vs what can be returned in responses. Using a separate type for each case tells the story a bit better and makes it easier to understand, IMO. Release Notes: - N/A |
||
Glaudiston Gomes da Silva
|
00eed768ce
|
Fix Go test task when using Git submodules (#17108)
I have found an error running tests in Golang projects that use submodules. This PR fixes the issue by accessing the directory before running the test. ![image](https://github.com/user-attachments/assets/3790a77c-a07c-4467-be69-ee8e22675f7a) The `commons` in the image is a git submodule in a subfolder inside a parent folder where the workspace is set. Release Notes: - Fixed Go tests not being able to run in case the package (and the `go.mod`) was in a nested folder. Pre-defined Go tasks have been changed to now run in the package's directory. That means `go test ./package -run MyTest` will run in `./package` and execute `go test -run MyTest`. Also, `go test ./...` will run in the package directory, not at the root of the Zed project, which is a small breaking change. In case one wants to run `go test ./...` from the root, one can spawn a manual task that does this. ![image](https://github.com/user-attachments/assets/b7c66f6a-ca29-421e-9539-737c8f719ae2) --------- Co-authored-by: Thorsten Ball <mrnugget@gmail.com> |
||
Marshall Bowers
|
89632ff5c2
|
gpui: Fix typo in DefaultThemeAppearance doc comment (#17157)
Release Notes: - N/A |
||
Marshall Bowers
|
226d683ba4
|
story: Remove unneeded lib.name (#17156)
This PR removes the `lib.name` field from the `story` crate's `Cargo.toml`, as it is not needed. Release Notes: - N/A |
||
CharlesChen0823
|
9c8b6f4a9f
|
workspace: Fix weird behavior when save replaces the existing open file (#17123)
Fixes this weird behavior: - open an file, like `test.rs` - `ctrl-n` create an new buffer - `ctrl-s` save new buffer with name `test.rs`, select replace old file. - the older open file also exist, this is weird. Release Notes: - Fixed two panes staying opening when saving a new buffer with the same filename as a file that was already open. |
||
Jason Lee
|
0835d456dc
|
gpui: Fix text ellipsis appearing even the flex element has space (#17149)
Release Notes: - N/A There was a calculation bug before. When we added `text_ellipsis` to the flex element, it would always show ellipsis no matter how long it was. Actually we can't use `flex` and `text_ellipsis` at same time, the CSS also not support this. But this bug will let user confuse. ### Before <img width="731" alt="image" src="https://github.com/user-attachments/assets/b7d60017-6785-45f5-8b40-dd5efa154a1e"> ### After <img width="521" alt="image" src="https://github.com/user-attachments/assets/a3117793-284e-48d4-8c15-059fe61abe60"> |
||
Peter Tripp
|
b62e63349b
|
Ollama max_tokens settings (#17025)
- Support `available_models` for Ollama - Clamp default max tokens (context length) to 16384. - Add documentation for ollama context configuration. |
||
Peter Tripp
|
d401ab1efc
|
Make links in assistant configuration clickable (#17011) | ||
Thorsten Ball
|
eb7367d8f2
|
vim: Disable inline completions if not Insert/Replace mode (#17154)
This is a follow-up to - https://github.com/zed-industries/zed/pull/17137 - https://github.com/zed-industries/zed/pull/17138 (revert of #17137) and it does what I originally thought I wouldn't have to do: add another boolean to `Editor`. cc @ConradIrwin Release Notes: - Fixed inline completions (Copilot or Supermaven) showing up in Vim's normal mode. |
||
Thorsten Ball
|
32e96e126f
|
workspace: Ensure last_active_center_pane is updated on focus (#17140)
This fixes a bug that I've been running into for quite a while: - Open a new terminal inside Zed - (Center pane loses focus) - (Workspace is serialized) - Quit Zed - Open Zed - (Workspace is deserialized without an active pane) - Put cursor in assistant panel - Try to use `ActivatePaneInDirection` to go to the center - Does not work So what this fix does is to ensure that in case the pane does become focused, even though it was already marked as focused, the active center pane is set. It also adds a fallback when trying to get the last active pane. Release Notes: - Fixed an issue where `workspace::ActivatePaneInDirection` could not activate the center pane (i.e. one couldn't navigate from terminal or assistant panel to the center pane) after loading Zed. |
||
Thorsten Ball
|
820ad488e4
|
Revert "vim: Don't show inline completions in normal mode (#17137)" (#17138)
This reverts commit
|
||
Thorsten Ball
|
9206561662
|
vim: Don't show inline completions in normal mode (#17137)
This fixes an annoying bug I ran into, where supermaven completions would show up in normal mode. cc @ConradIrwin not sure if this is the best way to fix this, but it seems like the neatest? On one hand, I didn't want to touch into Vim from the editor, and on the other I didn't want to add another boolean on the editor that flips on when in normal mode. So instead I extended the Addon interface. Release Notes: - Fixed inline completions (Copilot or Supermaven) showing up in Vim's normal mode. |
||
Micah
|
6403385468
|
linux: Add an option to disable middle-click paste (#16572)
Release Notes: - Added an editor setting to toggle Linux middle-click pasting (enabled by default) |
||
Kyle Kelley
|
02cd5128c7
|
repl: Make output buffer be readonly, never dirty (#17121) | ||
Nate Butler
|
6646b15f29
|
Standardize story crate lib name (#17117)
`crates/story/src/lib.rs` -> `crates/story/src/story.rs` Release Notes: - N/A |
||
Nate Butler
|
3d175f685f
|
Unify Story/StoryContainers (#17114)
Unify the various Story containers, and use gpui default colors over the custom `StoryColors`. Release Notes: - N/A |
||
David Soria Parra
|
449e744c14
|
context_servers: Normalize the line endings of context servers (#17112)
Context servers might return CR characters, which are not acceptable in Zed and cause ranges to be invalidated. We need to normalize them. Closes #17109 Release Notes: - context_servers: Fixed an issue where context servers returning a carriage return character would result in a panic. |
||
David Soria Parra
|
5bae6eb493
|
context_servers: Completion support for context server slash commands (#17085)
This PR adds support for completions via MCP. The protocol now supports a new request type "completion/complete" that can either complete a resource URI template (which we currently don't use in Zed), or a prompt argument. We use this to add autocompletion to our context server slash commands! https://github.com/user-attachments/assets/08c9cf04-cbeb-49a7-903f-5049fb3b3d9f Release Notes: - context_servers: Added support for argument completions for context server prompts. These show up as regular completions to slash commands. |
||
Nate Butler
|
01f8d27f22
|
Add a simple set of default colors to gpui (#17110)
This PR adds an initial set of default colors to `gpui`. These will power default-styled gpui components (things like checkboxes, buttons, inputs, etc.), storybook, and give a very simple, appearance-aware set of colors out of the box for folks to build with. These colors will evolve and be updated in the near future, they are literally pulled from Finder for now :) The API might not be perfect, I focused on getting something in quickly that we can iterate on! ### Usage ```rs use gpui::{colors, DefaultColor} fn auto(cx: &WindowContext) -> { // Init the full set of DefaultColors let colors = colors(cx.appearance()); // Use a color // It will automatically give you the correct color for the system's // current appearance. let background = DefaultColor::Background.hsla(&colors) } fn manual() -> { // Init the full sets of DefaultColors let light_colors = DefaultColors::light(); let dark_colors = DefaultColors::dark(); // Use a color // Maybe for some fancy inverted element let background = DefaultColor::Background.hsla(&light_colors) let inverted_background = DefaultColor::Background.hsla(&dark_colors) let inverted_text = DefaultColor::Text.hsla(&dark_colors) } ``` Note: We need `cx` for the auto way as we need to get the system appearance from the App/Window/ViewContext via `cx.appearance()`. ### Example You can run `script/storybook default_colors` to open the Default Colors story: | Light | Dark | |-------|------| | ![CleanShot 2024-08-29 at 16 19 20@2x](https://github.com/user-attachments/assets/80369de4-8926-4b30-80f5-f81a8a7b9531) | ![CleanShot 2024-08-29 at 16 19 33@2x](https://github.com/user-attachments/assets/fd7a2aae-27e6-460f-a054-8f37623dc96d) | Release Notes: - N/A |
||
Kyle Kelley
|
82ceb4c091
|
repl: Refactor outputs for externalization (#16971)
Working on addressing large outputs, refactored as part of it. https://github.com/user-attachments/assets/48ea576c-e13a-4d09-b45a-4baa41bf6f72 Release Notes: - N/A |
||
Marshall Bowers
|
89487772b0
|
assistant: Remove outdated comment (#17105)
This used to appear on a call to `prune_invalid_workflow_steps`, but that method doesn't exist anymore. Release Notes: - N/A |
||
Max Brunsfeld
|
d60466212d
|
Hide Markdown-Inline language from users with a new 'hidden' flag on language configs (#17104)
/cc @mrnugget Release Notes: - Fixed an issue where toggling inline completions in a markdown file did not work correctly --------- Co-authored-by: Marshall <marshall@zed.dev> |
||
everdrone
|
b6c3ef7e79
|
Improve Rust highlight queries (#17097)
See #16747. Removed markdown injections so that only the rust highlights are implemented Release Notes: - Improved Rust syntax highlighting queries. |
||
Max Brunsfeld
|
f84ef5e48a
|
Immediate edit step resolution (#16447)
## Todo * [x] Parse and present new XML output * [x] Resolve new edits to buffers and anchor ranges * [x] Surface resolution errors * [x] Steps fail to resolve because language hasn't loaded yet * [x] Treat empty `<symbol>` tag as None * [x] duplicate assists when editing steps * [x] step footer blocks can appear *below* the following message header block ## Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev> Co-authored-by: Peter <peter@zed.dev> Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> |
||
Thorsten Ball
|
fc4c533d0a
|
zed: Use CLI env for lang servers, tasks, terminal (#17075)
This changes the Zed CLI `zed` to pass along the environment to the Zed project that it opens (if it opens a new one). In projects, this CLI environment will now take precedence over any environment that's acquired by running a login shell in a projects folder. The result is that `zed my/folder` now always behaves as if one would run `zed --foreground` without any previous Zed version running. Closes #7894 Closes #16293 Related issues: - It fixes the issue described in here: https://github.com/zed-industries/zed/issues/4977#issuecomment-2305272027 Release Notes: - Improved the Zed CLI `zed` to pass along the environment as it was on the CLI to the opened Zed project. That environment is then used when opening new terminals, spawning tasks, or language servers. Specifically: - If Zed was started via `zed my-folder`, a terminal spawned with `workspace: new terminal` will inherit these environment variables that existed on the CLI - Specific language servers that allow looking up the language server binary in the environments `$PATH` (such as `gopls`, `zls`, `rust-analyzer` if configured, ...) will look up the language server binary in the CLI environment too and use that environment when starting the process. - Language servers that are _not_ found in the CLI environment (or configured to not be found in there), will be spawned with the CLI environment in case that's set. That means users can do something like `RA_LOG=info zed .` and it will be picked up the rust-analyzer that was spawned. Demo/explanation: https://github.com/user-attachments/assets/455905cc-8b7c-4fc4-b98a-7e027d97cdfa |
||
Marshall Bowers
|
4f408ec65a
|
collab: Record geoip_country_code on HTTP request spans (#17092)
This PR attaches the `geoip_country_code` that we source from Cloudflare's `CF-IPCountry` header to the HTTP request spans. This will allow us to see where traffic is originating geographically. Release Notes: - N/A |
||
Peter Tripp
|
4d6bb52d1f
|
Anthropic/OpenAI: Add country codes for territories (#17089)
- Cloudflare provides ISO-3166-1 country code for protectorates. Expand our allowlist to include the territories of countries on the allowlist (US, UK, France, Australia, New Zealand). - Also include the country_code in the error message when we block. Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> |
||
Peter Tripp
|
7db8d80c30
|
Make selection more consistent across languages (#17084)
- Remove "-" from word_character for CSS/JS/TSX/Markdown - Makes our word-selection behavior consistent across language modes (and consistent with VSCode). |
||
Thorsten Ball
|
376828e92f
|
editor: Fix flaky navigation test (#17087)
This test was flaky because both tasks were started at the same time and the first one that would win, would navigate the editor. Now the order is fixed, because the second task is only spawned after the first one. Release Notes: - N/A --------- Co-authored-by: Kirill <kirill@zed.dev> |
||
Marshall Bowers
|
d666cc5fba
|
collab: Report when upstream rate limit is exceeded (#17083)
This PR makes it so we report a trace when the upstream rate limit is exceeded. Release Notes: - N/A |
||
David Soria Parra
|
cf0a8a7a1a
|
context_servers: Add ability to provide labels for prompt outputs (#17077)
Server can now include an optional description in a `prompts/get` response. Zed will displayed the description as label of the slash command. Release Notes: - context_servers: Servers can provide an optional description in `prompts/get` responses that is displayed as the slash command label. |
||
Kirill Bulatov
|
895b4148a5
|
Revert "Improve Rust highlight queries (#16747)" (#17073) | ||
CharlesChen0823
|
804d1997f2
|
image_viewer: Fix image view tab icon lost (#17063)
Closes #16989 Release Notes: - N/A |
||
张小白
|
64fa7a5234
|
Set *_font_fallbacks default to None (#16941)
In the current `default.json`, `*_font_fallbacks=[]`, which results in the `fallbacks` value in the `Font` struct always being `Some(...)`. This PR introduces the following improvements: 1. Changed `*_font_fallbacks = []` to `*_font_fallbacks = null` in `default.json`. 2. Enhanced the macOS and Windows implementations. Release Notes: - N/A |
||
renovate[bot]
|
6c8836ec21
|
Update Rust crate itertools to v0.13.0 (#17048)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#​853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#​835](https://togithub.com/rust-itertools/itertools/issues/835), [#​834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#​870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#​880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#​878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#​912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#​654](https://togithub.com/rust-itertools/itertools/issues/654), [#​885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#​899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#​910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#​931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#​891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#​866](https://togithub.com/rust-itertools/itertools/issues/866), [#​879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#​871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#​873](https://togithub.com/rust-itertools/itertools/issues/873), [#​876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#​886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#​889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#​887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#​888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#​890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#​894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#​900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#​895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#​902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#​909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#​914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#​920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#​923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#​927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#​924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#​882](https://togithub.com/rust-itertools/itertools/issues/882), [#​936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#​932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#​939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#​792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#​767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#​822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#​842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#​845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#​859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#​838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#​843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#​855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#​801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#​818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#​837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#​816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#​854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#​860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#​826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#​849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#​820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#​825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#​824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#​813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#​823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#​821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#​851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#​848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#​847](https://togithub.com/rust-itertools/itertools/issues/847), [#​856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#​784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#​740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#​840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#​807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#​806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#​709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#​777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#​723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#​796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#​778](https://togithub.com/rust-itertools/itertools/issues/778), [#​785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#​716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#​734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#​713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#​715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#​761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#​752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#​719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#​794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#​795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#​797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#​793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#​800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#​602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#​729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#​737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#​765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#​735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#​763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#​775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#​780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#​772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#​774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#​760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#​787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#​724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#​770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#​799](https://togithub.com/rust-itertools/itertools/issues/799), [#​786](https://togithub.com/rust-itertools/itertools/issues/786), [#​782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#​739](https://togithub.com/rust-itertools/itertools/issues/739), [#​748](https://togithub.com/rust-itertools/itertools/issues/748), [#​790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#​736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#​739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#​770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#​751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#​720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#​754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#​704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#​643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#​699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#​616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#​644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#​629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#​686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#​683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#​680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#​608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#​674](https://togithub.com/rust-itertools/itertools/issues/674), [#​675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#​653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#​692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#​672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#​591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev> |
||
renovate[bot]
|
5d5ae1ec6f
|
Update Rust crate bindgen to 0.70.0 (#17024)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bindgen](https://rust-lang.github.io/rust-bindgen/) ([source](https://togithub.com/rust-lang/rust-bindgen)) | build-dependencies | minor | `0.65.1` -> `0.70.0` | --- ### Release Notes <details> <summary>rust-lang/rust-bindgen (bindgen)</summary> ### [`v0.70.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0701-2024-08-20) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.70.0...v0.70.1) #### Added #### Changed #### Removed #### Fixed - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `identity_op` clippy warnings. #### Security ### [`v0.70.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0700-2024-08-16) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.0) #### Added - Add target mappings for riscv64imac and riscv32imafc. - Add a complex macro fallback API ([#​2779](https://togithub.com/rust-lang/rust-bindgen/issues/2779)). - Add option to use DST structs for flexible arrays (--flexarray-dst, [#​2772](https://togithub.com/rust-lang/rust-bindgen/issues/2772)). - Add option to dynamically load variables ([#​2812](https://togithub.com/rust-lang/rust-bindgen/issues/2812)). - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, [#​2847](https://togithub.com/rust-lang/rust-bindgen/issues/2847)). #### Changed - Remove which and lazy-static dependencies ([#​2809](https://togithub.com/rust-lang/rust-bindgen/issues/2809), [#​2817](https://togithub.com/rust-lang/rust-bindgen/issues/2817)). - Generate compile-time layout tests ([#​2787](https://togithub.com/rust-lang/rust-bindgen/issues/2787)). - Print `bindgen-cli` errors to stderr instead of stdout ([#​2840](https://togithub.com/rust-lang/rust-bindgen/issues/2840)) #### Removed #### Fixed - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and enabling it by default for `bindgen-cli` ([#​2789](https://togithub.com/rust-lang/rust-bindgen/issues/2789)) . - Fix `--allowlist-item` so anonymous enums are no longer ignored ([#​2827](https://togithub.com/rust-lang/rust-bindgen/issues/2827)). - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk ([#​2824](https://togithub.com/rust-lang/rust-bindgen/issues/2824)). - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` ([#​2854](https://togithub.com/rust-lang/rust-bindgen/issues/2854)). #### Security - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://togithub.com/advisories/GHSA-c827-hfw6-qwvm). ### [`v0.69.4`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0694-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.3...v0.69.4) #### Added #### Changed - Allow older itertools. ([#​2745](https://togithub.com/rust-lang/rust-bindgen/issues/2745)) #### Removed #### Fixed #### Security ### [`v0.69.3`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0693-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.2...v0.69.3) #### Added - Added blocklist_var ([#​2731](https://togithub.com/rust-lang/rust-bindgen/issues/2731)) - Stabilized thiscall_abi ([#​2661](https://togithub.com/rust-lang/rust-bindgen/issues/2661)) #### Changed - Use CR consistently on windows ([#​2698](https://togithub.com/rust-lang/rust-bindgen/issues/2698)) - Replaced peeking_take_while by itertools ([#​2724](https://togithub.com/rust-lang/rust-bindgen/issues/2724)) #### Removed #### Fixed - Try to avoid repr(packed) for explicitly aligned types when not needed ([#​2734](https://togithub.com/rust-lang/rust-bindgen/issues/2734)) - Improved destructor handling on Windows ([#​2663](https://togithub.com/rust-lang/rust-bindgen/issues/2663)) - Support Float16 ([#​2667](https://togithub.com/rust-lang/rust-bindgen/issues/2667)) - Fix alignment contribution from bitfields ([#​2680](https://togithub.com/rust-lang/rust-bindgen/issues/2680)) - Fixed msrv build. #### Security - Updated shlex dependency (RUSTSEC-2024-0006) ### [`v0.69.2`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0692-2024-01-13) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.1...v0.69.2) #### Added #### Changed #### Removed #### Fixed - Fixed generation of extern "C" blocks with llvm 18+. See [#​2689](https://togithub.com/rust-lang/rust-bindgen/issues/2689). #### Security ### [`v0.69.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0691-2023-11-02) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.0...v0.69.1) #### Fixed - Allow to run `bindgen -v` without an input header argument. ### [`v0.69.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0690-2023-11-01) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.1...v0.69.0) #### Added - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder::header`. - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line for every input header file by default. - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether a cargo-rerun line should be emitted for every input header file. #### Changed - The `--wrap-static-fns` feature was updated so function types that has no argument use `void` as its sole argument. - `CargoCallbacks` is no longer a [unit-like struct](https://doc.rust-lang.org/reference/items/structs.html) and the `CargoCallbacks` constant was added to mitigate the breaking nature of this change. This constant has been marked as deprecated and users will have to use the new `CargoCallbacks::new` method in the future. #### Removed #### Fixed - Allow compiling `bindgen-cli` with a static libclang. - Emit an opaque integer type for pointer types that don't have the same size as the target's pointer size. - Avoid escaping Objective-C method names unless they are `Self`, `self`, `crate` or `super`. #### Security ### [`v0.68.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0681) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1) #### Fixed - Fixed errors on the windows artifact build process. ### [`v0.68.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.1...v0.68.0) #### Added - The `system` ABI is now supported as an option for the `--override-abi` flag. - The `allowlist_item` method and the `--allowlist-item` flag have been included to filter items regardless or their kind. - Include installers as release artifacts on Github. #### Changed - The `Clone` implementation for `_BindgenUnionField` has been changed to pass the `incorrect_clone_impl_on_copy_type` Clippy lint. - The `c_unwind` ABI can be used without a feature gate for any Rust target version equal to or greater than 1.71. This comes as a result of the ABI being stabilised (in Rust 1.71). - Formatting changes when using prettyplease as a formatter due to a new prettyplease version. - Avoid generating invalid `CStr` constants when using the `--generate-cstr` option. #### Removed - The `extra_assert` and `extra_assert_eq` macros are no longer exported. #### Fixed - Bindgen no longer panics when parsing an objective-C header that includes a Rust keyword that cannot be a raw identifier, such as: `self`, `crate`, `super` or `Self`. ### [`v0.66.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.0...v0.66.1) #### Removed - Revert source order sorting ([#​2543](https://togithub.com/rust-lang/rust-bindgen/issues/2543)) due to correctness regressions [#​2558](https://togithub.com/rust-lang/rust-bindgen/issues/2558). ### [`v0.66.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0660) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.65.1...v0.66.0) #### Added - Added the `--generate-cstr` CLI flag to generate string constants as `&CStr` instead of `&[u8]`. (Requires Rust 1.59 or higher.) - Added the `--generate-shell-completions` CLI flag to generate completions for different shells. - The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions with the experimental `ParseCallbacks::wrap_as_variadic_fn` method. - Add target mappings for riscv32imc and riscv32imac. - Add the `ParseCallbacks::field_visibility` method to modify field visibility. #### Changed - Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`) instead of arrays (`[u8; SIZE]`) to match UTF-8 strings. - Wrappers for static functions that return `void` no longer contain a `return` statement and only call the static function instead. - The `--wrap-static-fns` option no longer emits wrappers for static variadic functions. - Depfiles generated with `--depfile` or `Builder::depfile` will now properly generate module names and paths that include spaces by escaping them. To make the escaping clear and consistent, backslashes are also escaped. - Updated `bitflags` dependency to 2.2.1. This changes the API of `CodegenConfig`. - Prettyplease formatting is gated by an optional, enabled by default Cargo feature when depending on `bindgen` as a library. - Items are now parsed in the order they appear in source files. This may result in auto-generated `_bindgen_*` names having a different index. - Use default visibility for padding fields: Previously, padding fields were always public. Now, they follow the default visibility for the type they are in. - Compute visibility of bitfield unit based on actual field visibility: A bitfield unit field and its related functions now have their visibility determined based on the most private between the default visibility and the actual visibility of the bitfields within the unit. #### Removed - Remove redundant Cargo features, which were all implicit: - bindgen-cli: `env_logger` and `log` removed in favor of `logging` - bindgen (lib): - `log` removed in favor of `logging` - `which` removed in favor of `which-logging` - `annotate-snippets` removed in favor of `experimental` - Prettyplease is available as a `Formatter` variant now. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev> |
||
everdrone
|
bf6767bc81
|
Improve Rust highlight queries (#16747)
Release Notes: - Add `@variable.parameter` highlight scope ![parameters are colored pink](https://github.com/user-attachments/assets/68920017-b191-4779-9aa6-856831938480) - Add `@attribute` highlight scope ![attributes are colored yellow](https://github.com/user-attachments/assets/558d6ce0-5e4c-4ecb-893c-bc8f88d63829) - Add markdown injection inside `doc_comment`s ![markdown highlighting](https://github.com/user-attachments/assets/93ef4cf6-5ac1-46c6-80d0-82ca7bee0447) |
||
renovate[bot]
|
eb0b6d57e3
|
Update Rust crate cocoa to 0.26 (#17036)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cocoa](https://togithub.com/servo/core-foundation-rs) | dependencies | minor | `0.25` -> `0.26` | | [cocoa](https://togithub.com/servo/core-foundation-rs) | workspace.dependencies | minor | `0.25` -> `0.26` | --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev> |
||
ZZzzaaKK
|
6a5d0a5083
|
Reuse workspace on new journal entry command if possible (#16924)
Closes #6783 With this PR, the `journal: new journal entry` command only opens a new workspace if the current workspace does not already contain the `journal` directory. Both the root of the work tree and all its subdirectories are checked. This does not yet check for the day's file specifically, as suggested [here](https://github.com/zed-industries/zed/issues/6783#issuecomment-2268509463). I'm new to writing Rust code in production (as well as contributing in general), so any feedback is much appreciated! Release Notes: - Reuse workspace on `journal: new journal entry` command if possible |
||
Vitaly Slobodin
|
ca2eb275de
|
Unmount the auto-update disk image regardless of the auto-update status (#17019)
Closes #10782 In some cases, during the auto-update process, the update can fail and leave a dangling disk image in macOS. If the auto-update fails again, a new dangling mounted volume will be left behind. To avoid polluting the system with these dangling mounted disk images, implement [the `Drop` trait](https://doc.rust-lang.org/std/ops/trait.Drop.html) for the `MacOSUnmounter` struct. This will ensure that the disk image is unmounted when the `install_release_macos` function exits regardless of its result. ## How to test this locally Unfortunately, I was a bit too lazy to find a smarter way to test this, so I simply commented out a bunch of lines to emulate the auto-update process. To replicate the linked issue (#10782), you can apply the attached patch. Build the Zed binary and run it. The auto-update should fail, leaving the dangling mounted disk image in the system: ```shell >diskutil list /dev/disk5 (synthesized): #: TYPE NAME SIZE IDENTIFIER 0: APFS Container Scheme - +220.6 MB disk5 Physical Store disk4s1 1: APFS Volume Zed 190.6 MB disk5s1 ``` Run the Zed binary again to create another mounted disk image: ```shell >diskutil list /dev/disk5 (synthesized): #: TYPE NAME SIZE IDENTIFIER 0: APFS Container Scheme - +220.6 MB disk5 Physical Store disk4s1 1: APFS Volume Zed 190.6 MB disk5s1 /dev/disk7 (synthesized): #: TYPE NAME SIZE IDENTIFIER 0: APFS Container Scheme - +220.6 MB disk7 Physical Store disk6s1 1: APFS Volume Zed 190.6 MB disk7s1 ``` [simulate_zed_autoupdate.patch](https://github.com/user-attachments/files/16787955/simulate_zed_autoupdate.patch) Please let me know if the fix is good; otherwise, I am happy to implement it differently. Thanks! Release Notes: - Fixed #10782 |
||
renovate[bot]
|
760e1a6db0
|
Update Rust crate sqlx to 0.8 [SECURITY] (#16791)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies |
minor | `0.7` -> `0.8` |
| [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor |
`0.7` -> `0.8` |
### GitHub Vulnerability Alerts
####
[GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440)
The following presentation at this year's DEF CON was brought to our
attention on the SQLx Discord:
> SQL Injection isn't Dead: Smuggling Queries at the Protocol Level
>
<http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf>
> (Archive link for posterity.)
Essentially, encoding a value larger than 4GiB can cause the length
prefix in the protocol to overflow,
causing the server to interpret the rest of the string as binary
protocol commands or other data.
It appears SQLx _does_ perform truncating casts in a way that could be
problematic,
for example:
<
|
||
CharlesChen0823
|
400e503d9b
|
project_search: Add ability to search only for opened files (#16580)
Any suggestion? Release Notes: - add ability for project search only for opend files. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> |