1# Zed Releases
2
3Read about Zed's release channels [here](https://zed.dev/faq#what-are-the-release-channels).
4
5## Wednesday release process
6
7You will need write access to the Zed repository to do this:
8
9- Checkout `main` and ensure your working copy is clean.
10- Run `./script/bump-zed-minor-versions` and push the tags
11 and branches as instructed.
12- Wait for the builds to appear on [the Releases tab on GitHub](https://github.com/zed-industries/zed/releases) (typically takes around 30 minutes)
13- While you're waiting:
14 - Start creating the new release notes for preview. You can start with the output of `./script/get-preview-channel-changes`.
15 - Start drafting the release tweets.
16- Once the builds are ready:
17 - Copy the release notes from the previous Preview release(s) to the current Stable release.
18 - Download the artifacts for each release and test that you can run them locally.
19 - Publish the releases on GitHub.
20 - Tweet the tweets (Credentials are in 1Password).
21
22## Patch release process
23
24If your PR fixes a panic or a crash, you should cherry-pick it to the current stable and preview branches. If your PR fixes a regression in recently released code, you should cherry-pick it to preview.
25
26You will need write access to the Zed repository to do this:
27
28- Send a PR containing your change to `main` as normal.
29- Leave a comment on the PR `/cherry-pick v0.XXX.x`. Once your PR is merged, the GitHub bot will send a PR to the branch.
30 - In case of a merge conflict, you will have to cherry-pick manually and push the change to the `v0.XXX.x` branch.
31- After the commits are cherry-picked onto the branch, run `./script/trigger-release {preview|stable}`. This will bump the version numbers, create a new release tag, and kick off a release build.
32 - This can also be run from the [GitHub Actions UI](https://github.com/zed-industries/zed/actions/workflows/bump_patch_version.yml):
33 
34- Wait for the builds to appear on [the Releases tab on GitHub](https://github.com/zed-industries/zed/releases) (typically takes around 30 minutes)
35- Proof-read and edit the release notes as needed.
36- Download the artifacts for each release and test that you can run them locally.
37- Publish the release.
38
39## Nightly release process
40
41In addition to the public releases, we also have a nightly build that we encourage employees to use.
42Nightly is released by cron once a day, and can be shipped as often as you'd like. There are no release notes or announcements, so you can just merge your changes to main and run `./script/trigger-release nightly`.