Skip to content

Release Checklist 2.5.0

Daniel Schürmann edited this page Nov 30, 2024 · 4 revisions

Mixxx 2.5.0 Release Checklist

This process is followed when it is time for a release (after betas and release candidates).

  1. Take care of the known regressions https://github.com/mixxxdj/mixxx/labels/regression Fix and merge them, or document them in the CHANGELOG? Release Notes.
  2. Release 2.4.x
  3. "Close" the 2.5 branch by target all 2.5 PRs to 2.6
  4. Update translations
    1. Push and pull translations for Mixxx as described here: Internationalization
  5. Take release screenshots for press page and blog post.
    1. Deere, LateNight, Shade, Tango
    2. Load up samplers, preview deck, etc.
    3. Make all the screenshots roughly uniform (same view, same tracks loaded, etc.)
    4. Take screenshots of the Mixxx window itself, not with your cluttered desktop in the background.
      1. macOS can produce particularly pretty drop-shadow screenshots with Shift-Command-4 followed by the spacebar, then click the window to screenshot.
  6. Send out pre-announcement to the DJ press (to ensure, that they have enough time to write articles and record review videos)
    Public press contacts are:
  7. Update files from Git log
    1. credits in src/dialog/dlgabout.cpp
    2. CHANGELOG.md
  8. Verify
    1. the latest version of https://github.com/mixxxdj/manual/tree/2.5 is published to https://mixxx.org/manual/2.5/
    2. copyright year and version number in LICENSE
    3. .github/workflows/build.yml and tools/deploy.py
    4. Check Debian Changelog and PPA destination
  9. Build release candidates:
    1. CMakeLists.txt Update VERSION and MIXXX_VERSION_PRERELEASE
  10. Perform QA testing with all release candidate binaries (Smoke Test)
    1. macOS Intel
    2. macOS ARM
    3. Ubuntu
    4. Windows
  11. Add a git tag with a GPG signature
    1. Update CHANGELOG.md and Replace (unreleased) with the current Date and add a commit "Release 2.4.0"
    2. git tag -s 2.5.0 -m "Mixxx 2.5.0" (double check identity / email you are using to tag!)
    3. git push --tags upstream 2.5.0
    4. This can be done to a commit after it has been pushed or merged from the release candidate PR, so wait until you're sure you're ready to tag the release commit.
    5. Once pushed, a tag is forever. Never delete a tag from a remote.
  12. Verify release binaries are available
    1. https://downloads.mixxx.org/releases/2.5.0/
    2. https://launchpad.net/~mixxx/+archive/ubuntu/mixxx
  13. Release
    1. Record SHA256sum of all packages in the Release Checksums Google Doc as a backup and record independent of downloads.mixxx.org (for forensic purposes).
    2. Make a release in GitHub (do not do this, before the release announcement is ready to publish, because bots and aggregators are scanning the state change and publish trash release announcements within minutes - just to be the first to report about it)
    3. Update GitHub issues
      1. Create a 2.5.1 milestone
      2. Target all 2.5.0 issues that have not been fixed to 2.5.1 (or remove the milestone entirely)
  14. Manual: Remove the developer version warning https://github.com/mixxxdj/manual/pull/376 and verify it at https://mixxx.org/manual/2.4/
  15. Submit the new version to the Microsoft store
    1. Add the new features to the description
    2. Upload screenshots
    3. Write a condensed version of the release notes for the What's new in this version? section (1500 characters limit)
    4. Submit the .msi Installer as app package (Note: That the verification process by Microsoft can take up to 3 working days)
  16. Update the website
    1. Update download page:
      1. Do this after posting the announcement forum thread so you can link to the announcement
      2. hide beta downloads
      3. move current release to previous
      4. replace current with new links
    2. Update frontpage / features page / etc.
    3. Update screenshot downloads on Press page.
    4. Update credits for contributors to latest release.
    5. Update https://mixxx.org/manual/latest symlink to point to 2.5.
    6. Update copyright date here and on the blog
  17. Release announcement:
    1. Discourse is updated automatically after publishing the blog post and visiting it on the website
    2. Cross-post to Zulip #announce stream
    3. Inform the press contacts (that were informed in step 6.) that the final release now happend
    4. Cross-post to mixxx-devel~~
    5. Cross-post to Facebook
    6. Cross-post to Twitter/X
    7. Cross-post to Mastodon

Promotion

  1. Email package maintainers
    1. Debian/Ubuntu - https://packages.debian.org/testing/mixxx
    2. Gentoo
    3. Arch - http://www.archlinux.org/packages/?q=mixxx
    4. Fedora
  2. E-mail bloggers
  3. Ask other Mixxx users to post on their blogs
  4. Send release email to everyone in the "Press Contacts" Google Doc.
  5. Update Wikipedia
  6. Update http://screenshots.debian.net
  7. Update software directories
    1. Freshmeat [ ] Freecode No longer maintained.
    2. OhLoh OpenHub
    3. Macupdate.com
  8. Social Media / Forums
    1. Facebook -- Boost Post $$ (optional)
    2. Twitter
    3. LinkedIn Connected DJs group
    4. Reddit r/DJs, r/Mixxx, r/linuxaudio, r/linux
    5. DJTechTools Forums
    6. TranceAddict Forums
    7. omgubuntu.co.uk
    8. YouTube channels
      1. Crossfader: https://www.youtube.com/channel/UCM4u0gp8gm99w9MXQ7ZI8Mw
      2. unfa: https://www.youtube.com/user/unfa00 (stepped down iiuc)
    9. librearts.org
  9. Update SourceForge to point people to the newest version

Post-Release

  1. Create 2.4 branch in mixxx manual and vcpkg
  2. Update main README, CMakeList.txt for 2.5
  3. Remove beta PPA upload in the 2.3 branch from .github/workflow/build.yml
Clone this wiki locally