Commit log

a3a7ae4 v0.121.x stable

Joseph T. Lyons created

ac85440 Attempt to fix random lag (#7506)

Click to expand commit body
Co-Authored-By: Antonio <antonio@zed.dev>
Co-Authored-By: Thorsten <thorsten@zed.dev>
Co-Authored-By: Mikayla <mikayla@zed.dev>

Release Notes:

- N/A

**or**

- N/A

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Thorsten <thorsten@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>

Conrad Irwin , Antonio , Thorsten , and Mikayla created

f28a4c7 zed 0.121.4

Max Brunsfeld created

824e7e4 Disable extra frames for ProMotion when screen is not active. (#7410)

Click to expand commit body
This was causing an issue where windows about 1/10 of the way across the
display would hang for a fully second after being deactivated.

Release Notes:

- N/A

Co-authored-by: max <max@zed.dev>
Co-authored-by: nathan <nathan@zed.dev>
Co-authored-by: antonio <antonio@zed.dev>

Mikayla Maki , max , nathan , and antonio created

5721dec zed 0.121.3

Antonio Scandurra created

9f90ebd Fix cmd+k in terminal and fix sporadic keybind misses (#7388)

Click to expand commit body
This fixes `cmd+k` in the terminal taking 1s to have an effect. It is
now immediate.

It also fixes #7270 by ensuring that we don't set a bad state when
matching keybindings.

It matches keybindings per context and if it finds a match on a lower
context it doesn't keep pending keystrokes. If it finds two matches on
the same context level, requiring more keystrokes, then it waits.

Release Notes:

- Fixed `cmd-k` in terminal taking 1s to have an effect. Also fixed
sporadic non-matching of keybindings if there are overlapping
keybindings.
([#7270](https://github.com/zed-industries/zed/issues/7270)).

---------

Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
# Conflicts:
#	crates/gpui/src/window.rs

Thorsten Ball , Conrad , and Conrad Irwin created

17a529c Scope line layout cache to each window (#7235)

Click to expand commit body
This improves a performance problem we were observing when having
multiple windows updating at the same time, where each window would
invalidate the other window's layout cache.

Release Notes:

- Improved performance when having multiple Zed windows open.

Co-authored-by: Max Brunsfeld <max@zed.dev>
# Conflicts:
#	crates/gpui/src/window.rs

Antonio Scandurra and Max Brunsfeld created

3a0fb0d Mark the window as dirty when first opening it (#7384)

Click to expand commit body
Otherwise we won't display anything if the window never notifies.

Release Notes:

- N/A

Co-authored-by: Nathan <nathan@zed.dev>

Antonio Scandurra and Nathan created

f8bc7fb Use window's screen rather than window itself to start display link

Click to expand commit body
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Julia , Antonio Scandurra , and Nathan Sobo created

a413729 Reintroduce ProMotion support (#7347)

Click to expand commit body
This re-introduces the changes of #7305 but this time we create a
display link using the `NSScreen` associated with the window. We're
hoping we'll get these frame requests more reliably, and this seems
supported by the fact that awakening my laptop restores the frame
requests.

Release Notes:

- See #7305.

Co-authored-by: Nathan <nathan@zed.dev>
# Conflicts:
#	crates/gpui/src/window.rs

Antonio Scandurra and Nathan created

441a21e Remove unnecessary `focus_invalidated` field (#7320)

Click to expand commit body
I believe at some point this was used for tests but it doesn't seem
necessary anymore.

Release Notes:

- N/A
# Conflicts:
#	crates/gpui/src/app.rs

Antonio Scandurra created

234673a Reduce GPU memory usage (#7319)

Click to expand commit body
This pull request decreases the size of each instance buffer and shares
instance buffers across windows.

Release Notes:

- Improved GPU memory usage.

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
# Conflicts:
#	crates/gpui/src/platform/mac/window.rs

Antonio Scandurra and Nathan Sobo created

34e846b Use `Mutex` instead of a `RefCell` to acquire/release instance buffers (#7291)

Click to expand commit body
This fixes a panic happening when releasing an instance buffer.
Releasing the buffer happens on a different thread but the borrow
checker was not catching it because the metal buffer completion handler
API doesn't have a `Send` marker on it.

Release Notes:

- N/A

Antonio Scandurra created

889a6e2 Use `command_buffer.wait_until_scheduled` in metal renderer (#7283)

Click to expand commit body
This commit goes back to using `wait_until_scheduled` as opposed to
`wait_until_completed`. What this means, however, is that another draw
could take place before the previous one finished. When that happens we
don't want to reuse the same instance buffer because the GPU is actively
reading from it, so we use a pool instead.

Release Notes:

- Fixed a bug that caused inconsistent frame rate when scrolling on
certain hardware.

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Antonio <antonio@zed.dev>

Thorsten Ball , Antonio Scandurra , and Antonio created

21b755a zed 0.121.2

Joseph T. Lyons created

0bf444d Introduce a fast path for drawing quads with no borders / corner radii (#7231)

Click to expand commit body
This will introduce an extra conditional but saves us from doing a bunch
of math in the simple case of drawing simple rectangles that aren't
rounded or don't have borders.


![Figure_1](https://github.com/zed-industries/zed/assets/482957/cba95ce2-2d9a-46ab-a142-35368334eb75)

Release Notes:

- Improved rendering performance.

Antonio Scandurra created

a745e9b zed 0.121.1

Thorsten Ball created

958fbac Filter LSP github releases that have no assets to properly download LSP servers (#7189)

Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/7183

Release Notes:

- Filter lsp github releases that have no assets ([7189](https://github.com/zed-industries/zed/issues/7183))

Ares Andrew created

bb6c06e assistant: render api key editor if no credentials are set (#7197)

Click to expand commit body
This hopefully reduces confusion for new users. I updated the docs just
this morning, but I figured it's probably better to fix the issue
itself.

So what this does is to render the API key editor whenever the assistant
panel is opened/focused and no credentials can be found.

See: https://github.com/zed-industries/zed/discussions/6943

Release Notes:

- Fixed assistant panel not showing dialog to enter API key when opened
without saved credentials.

---------

Co-authored-by: Piotr <piotr@zed.dev>

Thorsten Ball and Piotr created

2e9f665 Watch the themes directory for changes (#7173)

Click to expand commit body
This PR makes Zed watch the themes directory for changes.

When theme files are added or modified, we reload the theme and apply
any changes to Zed.

Release Notes:

- Added live reloading for the themes directory.

Marshall Bowers created

3fdccaa disallow opening private files (#7165)

Click to expand commit body
- Disallow sharing gitignored files through collab
- Show errors when failing to open files
- Show a warning to followers when view is unshared

/cc @mikaylamaki, let's update this to use your `private_files` config
before merge.


Release Notes:

- Added the ability to prevent sharing private files over collab.

---------

Co-authored-by: Piotr <piotr@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>

Conrad Irwin , Piotr , and Mikayla created

7dd7ecd v0.121.x preview

Joseph T. Lyons created

f98d636 WIP: Add a setting to visually redact enviroment variables (#7124)

Click to expand commit body
Release Notes:

- Added bash syntax highlighting to `.env` files. 
- Added a `private_files` setting for configuring which files should be
considered to contain environment variables or other sensitive
information.
- Added a `redact_private_values` setting to add or remove censor bars
over variable values in files matching the `private_files` patterns.
-(internal) added a new `redactions.scm` query to our language support,
allowing different config file formats to indicate where environment
variable values can be identified in the syntax tree, added this query
to `bash`, `json`, `toml`, and `yaml` files.

---------

Co-authored-by: Nathan <nathan@zed.dev>

Mikayla Maki and Nathan created

5333eff Improve file finder by ignoring spaces in query (#7068)

Click to expand commit body
Release Notes:

- Changed file finder to ignore spaces in queries ([#5324
](https://github.com/zed-industries/zed/issues/5324)).


![image](https://github.com/zed-industries/zed/assets/7274458/14f3d511-129d-4e73-b9d3-12ce1aaa892f)

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Ben Hamment and Marshall Bowers created

135bca2 vim: Make H/M/L work in visual mode (#7166)

Click to expand commit body
Release notes:
- N/A

Conrad Irwin created

5d85801 Add highlighting for go.work (#7142)

Click to expand commit body
<img width="617" alt="image"
src="https://github.com/zed-industries/zed/assets/45585937/ecb28152-db02-450e-bc81-395abd1c1eef">

Release Notes:

- Added  highlighting for go.work

d1y created

ebdabb9 vim: Support counts for `H` and `L` motions (#7149)

Click to expand commit body
Release Notes:

- Added support for counts to `H` and `L` motions
([#4941](https://github.com/zed-industries/zed/issues/4941)).

Vishal Bhavsar created

689d430 Don't panic when collaborating with older Zed versions (#7162)

Click to expand commit body
Older Zed versions may send a buffer id of 0, which is no-longer
supported. (as of #6993)

This doesn't fix that, but it does ensure that we don't panic in the
workspace by maintaining the invariant that from_proto_state returns
Some(Task) if the variant matches.

It also converts the panic to an error should something similar happen
again in the future.


Release Notes:

- N/A

Conrad Irwin created

59f77d3 Use mimalloc as default allocator (#7140)

Click to expand commit body
From https://github.com/microsoft/mimalloc:
> In our benchmarks (see
[below](https://github.com/microsoft/mimalloc#performance)), mimalloc
outperforms other leading allocators (jemalloc, tcmalloc, Hoard, etc),
and often uses less memory. A nice property is that it does consistently
well over a wide range of benchmarks. There is also good huge OS page
support for larger server programs.


Release Notes:

- Changed default allocator to mimalloc.

Ares Andrew created

b7ced39 Add highlighting for git_commit (#7147)

Click to expand commit body
https://github.com/zed-industries/zed/assets/45585937/32cf5622-e960-4775-986d-bcfd30c81098

Release Notes:

- Added highlighting for git_commit

d1y created

39200ec Adjust heading levels in docs (#7163)

Click to expand commit body
This PR adjusts the heading levels in the docs, as some of them weren't
following the right hierarchy.

I also formatted all of the docs with Prettier.

Release Notes:

- N/A

Marshall Bowers created

6e443ac Add PHP file type icon (#7159)

Click to expand commit body
Add PHP file type icon from
[file-icons/icons](https://github.com/file-icons/icons)


[https://github.com/file-icons/icons/blob/master/svg/PHP.svg](https://github.com/file-icons/icons/blob/master/svg/PHP.svg)

<img width="408" alt="Screenshot 2024-01-31 at 23 14 55"
src="https://github.com/zed-industries/zed/assets/44226349/26c3d19d-3a5d-4fc6-b551-f5351ba62b7d">


Release Notes:

- Added PHP file type icon.

Pyae Sone Aung created

5941102 gpui: Add runtime-shaders feature so that Xcode.app is no longer necessary for Nix-based workflows (#7148)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Niklas <niklas@niklaskorz.de>

Piotr Osiewicz and Niklas created

8c8a5ad Make theme parsing more lenient (#7154)

Click to expand commit body
This PR improves the theme parsing to be a bit more lenient, allowing
things like comments and trailing commas in theme files.

Release Notes:

- N/A

Marshall Bowers created

7cb97e5 Add debounce for re-querying completion documentation

Julia created

634fe99 Add LSP support for Elm (#7116)

Click to expand commit body
Closes #4595

Release Notes:

- Added LSP support for Elm
([#4595](https://github.com/zed-industries/zed/issues/4595)).

---------

Co-authored-by: Jared M. Smith <absynce@gmail.com>

Andrey Kuzmin and Jared M. Smith created

c3d4fa4 Permalink add Gitee host support (#7134)

Click to expand commit body
China's largest git code hosting platform
About Gitee: https://gitee.com/about_us

Release Notes:

- Added Gitee host support   with Git-Permalink

d1y created

ba91adf languages: add highlighting for go.mod (#7137)

Click to expand commit body
Release Notes:

- Added syntax highlighting for go.mod files. Fixes #7133 

<img width="863" alt="image"
src="https://github.com/zed-industries/zed/assets/8725798/dc521a02-c53a-44aa-b0c1-eebf31835679">

Derrick Laird created

e5fe811 theme_importer: Add ability to print theme JSON schema (#7129)

Click to expand commit body
This PR adds a quick subcommand to the `theme_importer` to facilitate
printing out the JSON schema for a theme.

Note that you do need to pass a `<PATH>` to the subcommand still, even
though it will be ignored. I'll rework the CLI to this at some point.

The JSON schema for the current version of the theme can also be found
at
[`https://zed.dev/schema/themes/v0.1.0.json`](https://zed.dev/schema/themes/v0.1.0.json).

Release Notes:

- N/A

Marshall Bowers created

9459394 Re-enable language plugin functionality with some fixes (#7105)

Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/7096

* [x] Load all queries for language plugins, not just highlight query
* [x] Auto-reload languages when changing the `plugins` directory
* [x] Bump Tree-sitter for language loading and unloading fixes
* [x] Figure out code signing

Release Notes:

- N/A

---------

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Max Brunsfeld , Antonio , and Marshall Bowers created

db99d4f No more nightly/preview collab anymore (#7112)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

aee0f65 Attempt to fix a panic in worktree scanning (#7128)

Click to expand commit body
Somehow (and this should be investigated separately) we're ending up
with paths that look like: /path/to/project/../../path/to/dependency,
these pass the Ok(repo_path) = path.strip_prefix(), but then fail.

Release Notes:

- Fixed (hopefully) a panic that could occur due to path confusing in
git status

Conrad Irwin created

dbb5fad Fix some formatting issues in `Cargo.toml` files (#7127)

Click to expand commit body
This PR fixes some formatting issues in some of the `Cargo.toml` files.

I tried to fix most of these in #7126, but there were a few that I
missed.

Release Notes:

- N/A

Marshall Bowers created

28f875f Note installation step via Homebrew (#7053)

Click to expand commit body
https://formulae.brew.sh/cask/zed

Zongle Wang created

e338f34 Sort dependencies in `Cargo.toml` files (#7126)

Click to expand commit body
This PR sorts the dependency lists in our `Cargo.toml` files so that
they are in alphabetical order.

This should make them easier to visually scan when looking for a
dependency.

Apologies in advance for any merge conflicts 🙈 

Release Notes:

- N/A

Marshall Bowers created

d97e780 Restrict access to global `Audio` (#7122)

Click to expand commit body
This PR restricts access to the `Audio` global to force consumers to go
through the `Audio` public interface to interact with it.

Release Notes:

- N/A

Marshall Bowers created

176f63e Add ability to copy a permalink to a line (#7119)

Click to expand commit body
This PR adds the ability to copy the permalink to a line from within
Zed.

This functionality is available through the `editor: copy permalink to
line` action in the command palette:

<img width="589" alt="Screenshot 2024-01-30 at 7 07 46 PM"
src="https://github.com/zed-industries/zed/assets/1486634/332282cb-211f-4f16-9eb1-415bcfee9b7b">

Executing this action will create a permalink to the currently selected
line(s) and copy it to the clipboard.

Here is an example line:

```
https://github.com/maxdeviant/auk/blob/56c80e80112744740be1969c89fdd34db4be6f64/src/lib.rs#L25
```

Currently, both GitHub and GitLab are supported.

### Notes and known limitations

- In order to determine where to permalink to, we read the URL of the
`origin` remote in Git. This feature will not work if the `origin`
remote is not present.
- Attempting to permalink to a ref that is not pushed to the origin will
result in the link 404ing.
- Attempting to permalink when Git is in a dirty state may not generate
the right link.
- For instance, modifying a file (e.g., adding new lines) and grabbing a
permalink to it will result in incorrect line numbers.

Release Notes:

- Added the ability to copy a permalink to a line
([#6777](https://github.com/zed-industries/zed/issues/6777)).
- Available via the `editor: copy permalink to line` action in the
command palette.

Marshall Bowers created

cbcaca4 Show highlighted symbol in the scrollbar (#7029)

Click to expand commit body
Release Notes:

- Added highlighted symbols to the scrollbar; partially mentioned in:
  - https://github.com/zed-industries/zed/issues/5308
  - https://github.com/zed-industries/zed/issues/4866

Felix Salazar created

871b852 Fix per-env settings override (#7114)

Click to expand commit body
Due to a misplaced .trim(), the RELEASE_CHANNEL_NAME included the
trailing newline.

Release Notes:

- N/A

Conrad Irwin created

a5826e2 Add Go file icon (#7110)

Click to expand commit body
![IMG_4664](https://github.com/zed-industries/zed/assets/8725798/75436116-7c7e-4ae6-b76c-13f21c52bee8)

Release Notes:

- Added icon to `.go` files

Derrick Laird created