# Releasing Creating a new Session Desktop release is very simple. 1. Bump up the version in `package.json`. 2. Merge all changes required into the `master` branch. * This will trigger github actions to start building a draft release 3. After github actions has finished building. Go to Release page in the repository. 4. Click on the draft release and change the tag target to `master`. 5. Add in release notes. 6. Generate gpg signatures. 7. Click publish release. ## Notes Artifacts attached in the release shouldn't be deleted! These include the yml files (latest, latest-mac, latest-linux). These are all necessary to get auto updating to work correctly. ### Mac Mac currently uses 2 formats `dmg` and `zip`. We need the `zip` format for auto updating to work correctly. We also need the `dmg` because on MacOS Catalina, there is a system bug where extracting the artifact `zip` using the default _Archive Utility_ will make it so the extracted application is invalid and it will fail to open. A work around for this is to extract the `zip` using an alternate program such as _The Unarchiver_. Once this bug is fixed we can go back to using the `zip` format by itself. ## Linux Flatpak Flatpak generation is different from the normal build process and thus must be done once we have the final build binaries. 1. Clone https://github.com/flathub/network.loki.Session 2. Update `network.loki.Session.metainfo.xml` with the release information - `` 3. Update `network.loki.Session.json` - Under `sources`, change the `url` so it points to the latest `deb` and update the `sha256` signature. 4. Create a pull request with the changes Once that is done, a developer will go in a review them before merging them in which will trigger a build and release into the flathub repo.