Skip to content

Prepare Release 3.8.1 #1972

Description

@ann0see

Target timeline
Scheduled feature freeze / Start of translation process: 2021-09-15
Targeted translation completion date: 2021-09-30
Approximate release date: 2021-10-22 (actual 2021-10-23)
Current state: Released

Checklist

  • Assign this issue to the release shepherd who is in charge of managing this checklist (I won’t since I‘ll focus on the website)
  • Pin this issue
  • Create a milestone and add all relevant issues
  • Ensure that all issues/PR targeted for this release are done by checking the Project board with an appropriate filter (e.g. milestone:"Release 3.8.0"). Reminder main developers to review entries in Waiting on team state. De-tag unfinished Issues/PRs.
  • Declare a freeze for code 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 ./Jamulus -h output against the en-Command-Line-Options.md wiki page and update if necessary.
  • Write the Changelog based on the list of PRs in "done" state (example for 3.8.1)
  • Start Website translations
    • Check for broken links with a link checker on the next-release branch and fix them
    • Check again if all issues tagged to this release are merged to next-release
    • Check if all merged Pull Requests on the jamulussoftware/jamulus repository which needed documentation have been documented and everything is in sync
    • Check for conflicts between the release and next-release branch (e.g. by opening a Pull Request from release to next-release)
    • Open a Pull Request from next-release to release, set it as "Draft" and briefly scan the changes for typos or errors in the English version
    • Declare a full freeze of the next-release and release 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 and issue texts are up-to-date
    • Create a translation issue for each language with tools/create-translation-issues.sh using web 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 master via lupdate
    • 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 using app argument.
  • Tag a beta release (inform emlynmac for signing on macOS)
  • Announce the beta release on Github Discussions. Pin the thread.
  • Get feedback on the stability and resource usage (memleaks?, crashes?, installation issues?) of the beta release
  • Finish Website translations
    • Wait for all PRs to be merged (missing translations will revert to English automatically)
    • Check for broken links with a link checker locally (run _po4a-tools/po4a-create-all-targets.sh locally first)
  • Finish App translations
    • Review PRs
      Checklist for the PRs
      - [ ] Translator listed in the `src/util.cpp` **optionally add link to PR or code**
      - [ ] Punctuation and spacing consistent
      - [ ] Signal words consistent ("ASIO", "Buffer")
      - [ ] App translations: No untranslated strings (`grep unfinished -5 src/res/translation/translation_$TRANSLATION*.ts`)
      - [ ] App translations: Only a single `.ts` file checked in (`.qm` in addition is also OK)
      - [ ] Installer translations: Passes `tools/check-wininstaller-translations.sh`
      
    • Wait for all PRs to be merged (missing translations will revert to English automatically).
    • Check for conflicting accelerator keys (see tools/checkkeys.pl)
    • Generate .qm files via lrelease Jamulus.pro
  • Tag a release candidate (inform emlynmac for signing on macOS)
  • 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
  • Tag this commit as r3_y_z
  • Wait for the build to complete
  • Contact emlynmac for signing on macOS
  • 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 link latest (see Document SourceForge release process #1814 for docs)
  • Prepare Jamulus.pro (dev suffix) and ChangeLog (add a header) for the next release
  • Update download links on the website by editing config.yml
  • Publish Website release by merging next-release into release
  • 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)
  • Delete the next-release branch from the Website repo
  • 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 the release checklist with any improvements which were found
  • Create a release retrospective Discussion
  • Unpin and close this issue
  • Update this template in https://jamulus.io/contribute/Release-Process if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions