Lychee is a [Rust based](https://lychee.cli.rs) async parallel link
checker.
I ran it against the codebase to suss out stale links and fixed those
up.
There's currently 2 remaining cases that I don't know how to resolve:
1. https://flathub.org/apps/dev.zed.Zed - nginx is giving a 502 bad
gateway
2.
https://github.com/zed-industries/zed/actions/workflows/ci.yml/badge.svg
- I don't want to mess with the CI pipeline in this PR.
Once again, I'll punt to the Docs Czar to see if this gets incorporated
into CI later.
---
## Running `lychee` locally:
```
cargo binstall -y lychee
lychee .
```
---
Release Notes:
- N/A
Signed-off-by: mrg <miguelraz@ciencias.unam.mx>
These have been migrated to the README.md
[here](https://github.com/zed-industries/release_notes). These don't
need to be public. Putting them in the same repo where we draft
(`release_notes`) means less jumping around and allows us to include
additional information we might not want to make public.
Release Notes:
- N/A
@ConradIrwin No longer needed the issue appears to be fully resolved
after moving to MacOS Tahoe as the latest instead of only in dev beta
Release Notes:
- N/A
# Summary
Today, Zed uses Mold on Linux, but Wild can be significantly faster.
On my machine, Wild is 14% faster at a whole-tree clean build, 20%
faster on an incremental build with a minimal change, and makes no
measurable effect on runtime performance of tests.
However, Wild's page says it's not yet ready for production, so it seems
to early to switch for production and CI builds.
This PR keeps using Mold in CI and lets developers choose in their own
config what linker to use. (The downside of this is that after landing
this change, developers will have to do some local config or it will
fall back to the default linker which may be slower.)
[Wild 0.6 is out, and their announcement has some
benchmarks](https://davidlattimore.github.io/posts/2025/09/23/wild-update-0.6.0.html).
cc @davidlattimore from Wild, just fyi
# Tasks
- [x] Measure Wild build, incremental build, and runtime performance in
different scenarios
- [x] Remove the Linux linker config from `.cargo/config.toml` in the
tree
- [x] Test rope benchmarks etc
- [x] Set the linker to Mold in CI
- [x] Add instructions to use Wild or Mold into `linux.md`
- [x] Add a script to download Wild
- [x] Measure binary size
- [x] Recommend Wild from `scripts/linux`
# Benchmarks
| | wild 0.6 (rust 1.89) | mold 2.37.1 (1.89) | lld (rust 1.90) | wild
advantage |
| -- | -- | -- | -- | -- |
| clean workspace build | 176s | 184s | 182s | 5% faster than mold |
| nextest run workspace after build | 137s | 142s | 137s | in the noise?
|
| incremental rebuild | 3.9s | 5.0s | 6.6s | 22% faster than mold |
I didn't observe any apparent significant change in runtime performance
or binary size, or in the in-tree microbenchmarks.
Release Notes:
- N/A
---------
Co-authored-by: Mateusz Mikuła <oss@mateuszmikula.dev>
Added blank line in front of 2 image tags so markdown renders correctly
in zed. (Previously, images were skipped. They are also skipped in zed
if there are leading spaces in front of img tag.)
Updated text in 3 alt tags.
Fixed 1 typo.
Release Notes:
- N/A
Found duplicate `postgresql` package in installation command. Uncertain
whether it should be `postgresql-contrib` or `postgresql-client`, but
neither appears necessary.
Release Notes:
- N/A
Also removed the symbolicate script, which we could replace with a
`minidump-stackwalk` wrapper that downloaded sources/unstripped binaries
from github releases if that's helpful for folks.
Release Notes:
- N/A
- I believe this is caused by metal not being found due to it being on
the XcodeBeta path, not sure if there's a better fix for this but it'll
work until 26 is the latest release
Release Notes:
- N/A
- we are about to drop Zed for MINGW64 because `crash-handler` uses a
symbol which is not presented in `msvcrt.dll`
- mention MSYS2 docs page and CLANGARM64 environment
Release Notes:
- N/A
- [x] Handle uploading minidumps from the remote_server
- [x] Associate minidumps with panics with some sort of ID (we don't use
session_id on the remote)
- [x] Update the protobufs and client/server code to request panics
- [x] Upload minidumps with no corresponding panic
- [x] Fill in panic info when there _is_ a corresponding panic
- [x] Use an env var for the sentry endpoint instead of hardcoding it
Release Notes:
- Zed now generates minidumps for crash reporting
---------
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Simplify docs for mac/linux/windows by consolidating the backend
dependencies (collaboration) docs into local-collaboration.md. Most
users building zed will not need to do this -- streamline them into
getting setup to build the zed client app first.
Release Notes:
- N/A
This adds documentation for building Zed on FreeBSD.
Notice WebRTC/LiveKit remains unsupported on this platform for now.
Follow-up to:
- #33162
- #30981
Release Notes:
- N/A
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
This PR adds initial FreeBSD support for building Zed:
* Adds `script/freebsd` to install required dependencies on FreeBSD
* Adds `docs/freebsd.md` with build instructions and notes
* ⚠️ Mentions that `webrtc` is still **work-in-progress** on FreeBSD.
Related to : #15309
I’m currently working at discussions :
[Discussions](https://github.com/zed-industries/zed/discussions/29550)
Release Notes:
- N/A
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
Edit:
This PR adds docs for a slimmer build tools only installation for
compiling Zed on Windows.
The disk space required is 7 GB for the builds tools vs 8GB with the
editor.
<details>
<summary>Old description</summary>
Fixes the incorrect Visual Studio configuration faced by many people.
#29899#29901
I have added the required workload in Visual Studio.
Can someone please confirm the minimum config required to compile on
Windows?
c8f56e38b1/docs/src/development/windows.md (L20-L32)
After installing the Desktop C++ build tools as [outlined in the rustup
website](https://rust-lang.github.io/rustup/installation/windows-msvc.html#walkthrough-installing-visual-studio-2022),
I have this config now:
```json
{
"version": "1.0",
"components": [
"Microsoft.VisualStudio.Component.CoreEditor",
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.VisualStudio.Component.Roslyn.Compiler",
"Microsoft.Component.MSBuild",
"Microsoft.VisualStudio.Component.TextTemplating",
"Microsoft.VisualStudio.Component.VC.CoreIde",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Windows11SDK.26100",
"Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
"Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core",
"Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake",
"Microsoft.VisualStudio.Component.VC.CMake.Project",
"Microsoft.VisualStudio.Component.VC.ASAN",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre"
],
"extensions": []
}
```
</details>
Release Notes:
- N/A