Open
Description
Target timeline
Phase | Date |
---|---|
Scheduled feature freeze / Start of translation process | Early 2025 |
Targeted translation completion date: | Early 2025 |
Approximate release date: | Early 2025 |
Current state: | Planning |
Release aims
We're currently looking forwards to Jamulus 4, which will make some larger scale changes to parts of Jamulus than previous releases have. So we're aiming to fix as many known issues as we can in this coming release, so there's a stable version of Jamulus available whilst work progresses on the changes.
Checklist
- Assign this issue to the release shepherd who is in charge of managing this checklist.
- Make sure
ChangeLog
has the agreed next release version number. - Pin this issue
- Ensure that all issues/PR targeted for this release are done by checking the Project board with the appropriate filter for this release. Remind main developers to review entries in Waiting on team state.
- Agree to de-tag unfinished Issues/PRs.
- Declare a freeze for code and website by updating this Issue and adding a comment. PRs can still be worked on and may get reviewed, but must not be merged unless agreed explicitly.
- Check the
needs documentation
label for any outstanding PRs flagged for this release and remove that label if done. - Check ./Jamulus -h output against the Include-Client/Server-Commands.md pages and [man page (distributions/Jamulus.1)[(https://github.com/jamulussoftware/jamulus/blob/main/distributions/Jamulus.1). Update if necessary.
- Start Website translations
- Check for broken links
- Open a Pull Request from
next-release
to release, set it as "Draft", sanity check for conflicts and any obvious problems. - Declare a full freeze of the
next-release
andrelease
branch. No changes should be made from now on to ensure translators don't have to work twice. - Check if the list of translators in
tools/create-translation-issues.sh
. Make sure issue text is up-to-date. Add any URLs that will need localisation into the "New/Changed screenshots" section. - Create a translation issue for each language with
tools/create-translation-issues.sh
usingweb
argument (see notes in script). - If anyone finds critical issues now, all translators must be made aware of them and all languages should be updated.
- Start App translations
- Generate
.ts
files in main vialupdate
- Check if the list of translators in
tools/create-translation-issues.sh
is up-to-date - Create a translation issue for each language with
tools/create-translation-issues.sh
usingapp
argument.
- Generate
- Update the Changelog
- Tag a beta release
- Finish App translations
- Review translation PRs according to release process checklist
- Wait for all PRs to be merged (missing translations will revert to English automatically).
- Check for conflicting accelerator keys (see
tools/checkkeys.pl
)
- Finish Website translations
- Wait for all PRs to be merged (missing translations will revert to English automatically)
- Check for broken links
- Check the milestone for mergable stuff again
- Update the Changelog
- Tag a release candidate (inform emlynmac for signing on macOS and upload signed binary from his repo to ours).
- Announce the release candidate on Github Discussions. Pin the thread. Unpin and lock the beta thread.
- Draft an announcement, include all contributors via
tools/get_release_contributors.py
- Update the version number in
Jamulus.pro
and add the release date to the Changelog header and commit - Update the Changelog
- Tag this commit as
r3_y_z
- Wait for the build to complete
- Contact emlynmac for signing on macOS and upload signed binary from his repo to ours.
- Do a smoke test for Windows/Mac/Linux -- Do the binaries start/connect properly? Can earlier Jamulus versions properly connect to a server based on the new release?
- Force tag that tag as
latest
and push. - Upload the artifacts to SourceForge and set defaults.
- Update download links on the website by editing
_config.yml
innext-release
- Disable branch protection rule of the
release
branch by clicking on "Edit" on the Branches page and adding a_
behindrelease
. - Publish Website release by squashing and merging
next-release
intorelease
- Enable branch protection rule of the
release
branch after the site and the.po
files are published by removing the_
from the branch protection rule you edited on the Branches page.
- Announce the new release with a summary of changes (+ link to the changelog for details) and a link to the download page
- On Github Discussions in the Announcements section. Lock the announcement thread. Pin the thread. Unpin and lock release candidate thread.
- On Facebook in the group "Jamulus (official group)". Turn off replies.
- Trigger the update notification by updating both Update Check Servers with the new version (@pljones for update02, email corrados for update01)
- [Prepare
Jamulus.pro
(dev
suffix) and ChangeLog (add a header) for the next release - Check that all Issues and PRs tagged for this release are in Done/Closed state.
- Close the release milestone in both jamulus and jamuluswebsite repos
- Create a milestone for the next minor release in jamulus and jamuluswebsite repos
- Update this template in https://jamulus.io/contribute/Release-Process with any improvements if needed.
- Unpin and close this issue
- Determine if a release retrospective is needed, create on Discussions if required
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Backlog