Releases: zed-industries/zed
v0.8.0
Zed now displays detailed diagnostic messages directly in the editor. Because errors in Rust are complex and can refer to multiple lines of code, we display all diagnostics related to an error below their respective lines, aligned with the underlined content. To reveal the next diagnostic in the buffer, hit F8
.
v0.7
Zed now uses rust-analyzer
to underline errors in rust code. We've added a status bar that shows the cursor's position and the first line of messages for errors under the cursor. We'll be following up with a UI for displaying full individual errors within the buffer in an intuitive way.
We also fixed a bug where the app would hang when hovering on tabs with split panes.
v0.6
Zed now performs auto-indent in Rust files based on the syntax tree. Future improvements to Tree-sitter's error recovery will improve the experience, but it's already pretty good for most real-world editing scenarios.
v0.5
v0.4
v0.3.1
- Sped up the login process
- Sped up the process of starting to share a directory
- Changed word-boundary cursor movement commands to be more consistent with other text editors (#169)
- Fixed a bug where extra characters were inserted when pasting non-ascii text (#156)
- Fixed a crash when typing while dragging a selection with the mouse (#155)
v0.3
We now have a new UI for initiating collaboration.
To grant other users access to a source tree, you'll need to create a .zed.toml
file in the root that lists their GitHub usernames under the collaborators
key:
collaborators = ["nathansobo", "as-cii", "maxbrunsfeld"]
You'll then need to authenticate by clicking the avatar icon in the upper right corner of the window. Once you do this, anyone listed as a collaborator in any of your open folders will see you in the people panel.
To start sharing, open your people panel and click the folder you want to share. To join another user's shared folder, simply click it in the people panel. Your avatar will then appear next to it and you'll be able to open files from the remote folder.
Any user you add to the collaborators list will be granted access to download Zed from https://zed.dev if they don't have access already. For now, we only honor the contents of the .zed.toml
file when the folder is first opened in Zed. We'll follow up with a release that allows you to change the collaborators on the fly.
v0.2.2
- Only the local cursor blinks when collaborating
- Apply syntax highlighting to new files when saved
- Fix a bug that could cause Zed to hang when collaborating
v0.2.1
- Sign in status is now displayed in the titlebar
- You now can click the signed out icon in the titlebar to authenticate
- Connection status is now displayed in the titlebar
- Fixed a panic that could occur during momentary connection loss
- Improved logging of panics
v0.2
With 0.2, Zed has matured to the point where we're using it regularly to write prose, and the dogfood is tasting pretty good. We knew Zed would be fast and responsive, but it's hard to understand the difference until you experience it for yourself. We can't wait to start coding in this thing!
Here's an overview of what we've added since 0.1.
Collaborative editing
You can now invite guests into any worktree you open in Zed and collaboratively edit text. We're still building out the UX around sharing and joining, but in the meantime, it's based on sharing links.
To try it out, open a folder or file in Zed and select Zed > Share
from the application menu. You'll be directed to the browser to authenticate, then a link will be placed on your clipboard. Someone else can then select Zed > Join
with that link on their clipboard in order to join you. They can open, edit, and save any file in the tree.
Collaboration should feel fast and stable, but for now, the experience is still pretty barebones. In Zed 0.3, we'll be replacing the link sharing workflow with a "People Panel" where you can see which of your teammates are online and start collaborating directly from within the application. We'll also be adding the ability to see which collaborators are present and follow collaborators as they move their cursor within and between files.
Chat
Our goal with Zed is to move engineering conversations closer to code, and the heart of this experience is a code-aware chat panel embedded directly into the editor. Imagine you're a new engineer on a codebase. You encounter some code that you don't understand and jump directly into the #questions
channel and ask about it. Two minutes later a seasoned engineer sees your question and clicks it to jump directly to that location in your copy of the code where you can both converse and edit.
For now, the experience is very basic. You can select a channel, send and receive messages, and load from history as you scroll up. We're planning to link messages to code locations in Zed 0.3. You can't yet create your own channels, but we've added everyone to a channel named #zed-insiders
so you can play with it.
Design
Zed's UI is now taking shape thanks to the design work of our new teammate Nate Butler. Our goal with Zed's design is to maximize signal and minimize noise, keeping everything as clean and simple as possible. Of course we want Zed to look good, but the content being edited should always be the main focus.
We've implemented a data-driven theming system that has allowed Nate to begin establishing a design system for Zed. It has also made it possible for him to develop three distinct color themes for Zed that can be switched at runtime: Dark, Black, and Light.
To toggle the theme selector, type cmd-k cmd-t
.
Soft wrap
Soft-wrapping is essential for multi-line messages in the chat UI and a reasonable experience writing prose. It may seem simple on the surface, but it's surprisingly complex to implement correctly and even harder to make performant. We're proud of our implementation on both fronts.
We used randomized tests to ensure correctness in even the edgiest of edge cases, and we move work to the background if it ever blocks the main thread for longer than 1ms. Typical files should re-wrap instantaneously when the editor is resized or the font size changes. When editing a 25MiB JSON file, editing feels instant, and the app remains fluid and responsive when resizing thanks to our ability to move blocking work to the background. When you load the same file in VS Code, they refuse to wrap it at all.