Skip to content

πŸš€ Release todo 22.0.14, 23.0.7, 24.0.1Β #18462

Description

@Antreesy

Get branches/versions to release from https://github.com/nextcloud/spreed/milestones

πŸ’Ί Preparation

Details
  • Check there are no pending backports:
    ⚠ 1 pending backport(s):
    β€’ 18040 [main]: fix(meeting): fix missing VTIMEZONE in scheduled meeting ICS invites

  • Check all milestones don't have priority issues still open
    β€’ πŸͺΊ Next Patch (32): 30+ open issue(s) (2 high-priority)
    16265: Performance issues in Chrome since 142
    16230: Performance issues due to hardware acceleration in Desktop 2.0.3 and Web UI 22.0.x
    β€’ 🍏 Next Patch (33): 24+ open issue(s)
    β€’ πŸ–οΈ Next Patch (34): 30+ open issue(s)

  • Check there are no important PRs open against the branch
    β€’ stable34: 1 open PR(s)
    18293: [stable34] fix(user): Clean up on user deletion
    β€’ stable33: no open PRs
    β€’ stable32: no open PRs

  • On first RC of a major release

  • Create a PR against main branch CHANGELOG.md with the changelog of all milestones that are subject to the release

Preparing Changelog Commits
[chore/release/changelog-20260626 f65d3e0178] chore(release): Changelog for v24.0.1
1 file changed, 58 insertions(+)
βœ“ Committed docs/changelogs/changelog-24.md
[chore/release/changelog-20260626 1337695e6a] chore(release): Changelog for v23.0.7
1 file changed, 50 insertions(+)
βœ“ Committed docs/changelogs/changelog-23.md
[chore/release/changelog-20260626 f92ddf2bcc] chore(release): Changelog for v22.0.14
1 file changed, 34 insertions(+)
βœ“ Committed docs/changelogs/changelog-22.md

βœ“ Branch 'chore/release/changelog-20260626' ready β€” review and adjust the changelog, then

  git push -u ...
  gh pr create --title "chore(release): Changelog for v24.0.1,v23.0.7,v22.0.14" ...

πŸš€ v22.0.14

Start with the oldest version here, so the appstore and github releases show the newest version as "Last release"

Details
  • πŸ›‘ When releasing from a stable32 branch make sure to:
  • Backport the changelog
    • Remove changelog entries in CHANGELOG.md of higher versions
    • Bump the version in appinfo/info.xml
    • Bump the version in package.json. The following command will return a new version name, make sure it matches what you expect:
      # Make sure the printed version matches the info.xml version
      npm version --no-git-tag-version $(xmllint --xpath '/info/version/text()' appinfo/info.xml)
  • Merge the backport
  • Make sure you pull the latest stable branch:
    git checkout stable32
    git pull origin stable32
  • Clean the dev instance and update all dependencies with the lock file versions and build the production javascript:
    make production-setup
    # On 24 and older versions run:
    # make dev-setup build-js-production
  • Do a quick smoke test by starting a call with:
    • Chrome
    • Edge
    • Firefox
    • Safari
    • Desktop client (Talk 16+)
    • Android app
    • iOS app
  • Create tag (note that the leading v in v22.0.14 will be automatically added to the tag)
    make create-tag version=$(xmllint --xpath '/info/version/text()' appinfo/info.xml)
  • Push the git tag to https://github.com/nextcloud-releases/spreed
    git push releases v$(xmllint --xpath '/info/version/text()' appinfo/info.xml)
    Make sure you have access rights to the remote repository, and it is set up on your machine:
    git remote add releases git@github.com:nextcloud-releases/spreed.git
  • Prepare a (pre-)release in https://github.com/nextcloud/spreed/releases/new?tag=v22.0.14
    • Make sure that chosen tag is v22.0.14, target is stable32, and previous tag is v22.0.13
    • Add the respective CHANGELOG.md section from merged PR
    • Use the Generate release notes button and wrap the output result into
      ## What's Changed
      
      <details>
      	<!-- insert the output here -->
      </details>
      
    • Set as a pre-release / as the latest release
    • Publish release
  • Prepare a (pre-)release in https://github.com/nextcloud-releases/spreed/releases/new?tag=v22.0.14
    • Copy the full content from the release description of the previous step
    • Set as a pre-release / as the latest release
    • Publish release
  • Check that the GitHub Action started: https://github.com/nextcloud-releases/spreed/actions
  • Rename milestone πŸͺΊ Next Patch (32) to v22.0.14 in https://github.com/nextcloud/spreed/milestones
    gh api repos/nextcloud/spreed/milestones --paginate --jq \
        '.[] | select(.title == "πŸͺΊ Next Patch (32)") | .number' \
        | xargs -I{} gh api --method PATCH repos/nextcloud/spreed/milestones/{} -f title="v22.0.14"
    Unless last release of the stable branch:
    • Create a follow-up milestone for πŸͺΊ Next Patch (32) (Due date in ~4 weeks, ~1 week for beta/RC)
      # Adjust the due date (UTC) before running
      gh api --method POST repos/nextcloud/spreed/milestones \
          -f title="πŸͺΊ Next Patch (32)" -f due_on="2026-07-24T00:00:00Z"
    • Move all open issues from milestone v22.0.14 to πŸͺΊ Next Patch (32): https://github.com/nextcloud/spreed/issues?q=is%3Aissue%20state%3Aopen%20milestone%3Av22.0.14
      for n in $(gh issue list --repo nextcloud/spreed --state open --limit 500 \
          --milestone "v22.0.14" --json number --jq '.[].number'); do
          gh issue edit "$n" --repo nextcloud/spreed --milestone "πŸͺΊ Next Patch (32)"
      done
    • Move all open PRs from milestone v22.0.14 to πŸͺΊ Next Patch (32): https://github.com/nextcloud/spreed/pulls?q=is%3Apr%20state%3Aopen%20milestone%3Av22.0.14
      for n in $(gh pr list --repo nextcloud/spreed --state open --limit 500 \
          --search 'milestone:"v22.0.14"' --json number --jq '.[].number'); do
          gh pr edit "$n" --repo nextcloud/spreed --milestone "πŸͺΊ Next Patch (32)"
      done
  • Close the v22.0.14 milestone
    gh api repos/nextcloud/spreed/milestones --paginate --jq \
        '.[] | select(.title == "v22.0.14") | .number' \
        | xargs -I{} gh api --method PATCH repos/nextcloud/spreed/milestones/{} -f state=closed
  • Ensure that the GitHub Action finished successfully: https://github.com/nextcloud-releases/spreed/actions

πŸš€ v23.0.7

Details
  • πŸ›‘ When releasing from a stable33 branch make sure to:
  • Backport the changelog
    • Remove changelog entries in CHANGELOG.md of higher versions
    • Bump the version in appinfo/info.xml
    • Bump the version in package.json. The following command will return a new version name, make sure it matches what you expect:
      # Make sure the printed version matches the info.xml version
      npm version --no-git-tag-version $(xmllint --xpath '/info/version/text()' appinfo/info.xml)
  • Merge the backport
  • Make sure you pull the latest stable branch:
    git checkout stable33
    git pull origin stable33
  • Clean the dev instance and update all dependencies with the lock file versions and build the production javascript:
    make production-setup
    # On 24 and older versions run:
    # make dev-setup build-js-production
  • Do a quick smoke test by starting a call with:
    • Chrome
    • Edge
    • Firefox
    • Safari
    • Desktop client (Talk 16+)
    • Android app
    • iOS app
  • Create tag (note that the leading v in v23.0.7 will be automatically added to the tag)
    make create-tag version=$(xmllint --xpath '/info/version/text()' appinfo/info.xml)
  • Push the git tag to https://github.com/nextcloud-releases/spreed
    git push releases v$(xmllint --xpath '/info/version/text()' appinfo/info.xml)
    Make sure you have access rights to the remote repository, and it is set up on your machine:
    git remote add releases git@github.com:nextcloud-releases/spreed.git
  • Prepare a (pre-)release in https://github.com/nextcloud/spreed/releases/new?tag=v23.0.7
    • Make sure that chosen tag is v23.0.7, target is stable33, and previous tag is v23.0.6
    • Add the respective CHANGELOG.md section from merged PR
    • Use the Generate release notes button and wrap the output result into
      ## What's Changed
      
      <details>
      	<!-- insert the output here -->
      </details>
      
    • Set as a pre-release / as the latest release
    • Publish release
  • Prepare a (pre-)release in https://github.com/nextcloud-releases/spreed/releases/new?tag=v23.0.7
    • Copy the full content from the release description of the previous step
    • Set as a pre-release / as the latest release
    • Publish release
  • Check that the GitHub Action started: https://github.com/nextcloud-releases/spreed/actions
  • Rename milestone 🍏 Next Patch (33) to v23.0.7 in https://github.com/nextcloud/spreed/milestones
    gh api repos/nextcloud/spreed/milestones --paginate --jq \
        '.[] | select(.title == "🍏 Next Patch (33)") | .number' \
        | xargs -I{} gh api --method PATCH repos/nextcloud/spreed/milestones/{} -f title="v23.0.7"
    Unless last release of the stable branch:
    • Create a follow-up milestone for 🍏 Next Patch (33) (Due date in ~4 weeks, ~1 week for beta/RC)
      # Adjust the due date (UTC) before running
      gh api --method POST repos/nextcloud/spreed/milestones \
          -f title="🍏 Next Patch (33)" -f due_on="2026-07-24T00:00:00Z"
    • Move all open issues from milestone v23.0.7 to 🍏 Next Patch (33): https://github.com/nextcloud/spreed/issues?q=is%3Aissue%20state%3Aopen%20milestone%3Av23.0.7
      for n in $(gh issue list --repo nextcloud/spreed --state open --limit 500 \
          --milestone "v23.0.7" --json number --jq '.[].number'); do
          gh issue edit "$n" --repo nextcloud/spreed --milestone "🍏 Next Patch (33)"
      done
    • Move all open PRs from milestone v23.0.7 to 🍏 Next Patch (33): https://github.com/nextcloud/spreed/pulls?q=is%3Apr%20state%3Aopen%20milestone%3Av23.0.7
      for n in $(gh pr list --repo nextcloud/spreed --state open --limit 500 \
          --search 'milestone:"v23.0.7"' --json number --jq '.[].number'); do
          gh pr edit "$n" --repo nextcloud/spreed --milestone "🍏 Next Patch (33)"
      done
  • Close the v23.0.7 milestone
    gh api repos/nextcloud/spreed/milestones --paginate --jq \
        '.[] | select(.title == "v23.0.7") | .number' \
        | xargs -I{} gh api --method PATCH repos/nextcloud/spreed/milestones/{} -f state=closed
  • Ensure that the GitHub Action finished successfully: https://github.com/nextcloud-releases/spreed/actions

πŸš€ v24.0.1

Details
  • πŸ›‘ When releasing from a stable34 branch make sure to:
  • Backport the changelog
    • Remove changelog entries in CHANGELOG.md of higher versions
    • Bump the version in appinfo/info.xml
    • Bump the version in package.json. The following command will return a new version name, make sure it matches what you expect:
      # Make sure the printed version matches the info.xml version
      npm version --no-git-tag-version $(xmllint --xpath '/info/version/text()' appinfo/info.xml)
  • Merge the backport
  • Make sure you pull the latest stable branch:
    git checkout stable34
    git pull origin stable34
  • Clean the dev instance and update all dependencies with the lock file versions and build the production javascript:
    make production-setup
    # On 24 and older versions run:
    # make dev-setup build-js-production
  • Do a quick smoke test by starting a call with:
    • Chrome
    • Edge
    • Firefox
    • Safari
    • Desktop client (Talk 16+)
    • Android app
    • iOS app
  • Create tag (note that the leading v in v24.0.1 will be automatically added to the tag)
    make create-tag version=$(xmllint --xpath '/info/version/text()' appinfo/info.xml)
  • Push the git tag to https://github.com/nextcloud-releases/spreed
    git push releases v$(xmllint --xpath '/info/version/text()' appinfo/info.xml)
    Make sure you have access rights to the remote repository, and it is set up on your machine:
    git remote add releases git@github.com:nextcloud-releases/spreed.git
  • Prepare a (pre-)release in https://github.com/nextcloud/spreed/releases/new?tag=v24.0.1
    • Make sure that chosen tag is v24.0.1, target is stable34, and previous tag is v24.0.0
    • Add the respective CHANGELOG.md section from merged PR
    • Use the Generate release notes button and wrap the output result into
      ## What's Changed
      
      <details>
      	<!-- insert the output here -->
      </details>
      
    • Set as a pre-release / as the latest release
    • Publish release
  • Prepare a (pre-)release in https://github.com/nextcloud-releases/spreed/releases/new?tag=v24.0.1
    • Copy the full content from the release description of the previous step
    • Set as a pre-release / as the latest release
    • Publish release
  • Check that the GitHub Action started: https://github.com/nextcloud-releases/spreed/actions
  • Rename milestone πŸ–οΈ Next Patch (34) to v24.0.1 in https://github.com/nextcloud/spreed/milestones
    gh api repos/nextcloud/spreed/milestones --paginate --jq \
        '.[] | select(.title == "πŸ–οΈ Next Patch (34)") | .number' \
        | xargs -I{} gh api --method PATCH repos/nextcloud/spreed/milestones/{} -f title="v24.0.1"
    Unless last release of the stable branch:
    • Create a follow-up milestone for πŸ–οΈ Next Patch (34) (Due date in ~4 weeks, ~1 week for beta/RC)
      # Adjust the due date (UTC) before running
      gh api --method POST repos/nextcloud/spreed/milestones \
          -f title="πŸ–οΈ Next Patch (34)" -f due_on="2026-07-24T00:00:00Z"
    • Move all open issues from milestone v24.0.1 to πŸ–οΈ Next Patch (34): https://github.com/nextcloud/spreed/issues?q=is%3Aissue%20state%3Aopen%20milestone%3Av24.0.1
      for n in $(gh issue list --repo nextcloud/spreed --state open --limit 500 \
          --milestone "v24.0.1" --json number --jq '.[].number'); do
          gh issue edit "$n" --repo nextcloud/spreed --milestone "πŸ–οΈ Next Patch (34)"
      done
    • Move all open PRs from milestone v24.0.1 to πŸ–οΈ Next Patch (34): https://github.com/nextcloud/spreed/pulls?q=is%3Apr%20state%3Aopen%20milestone%3Av24.0.1
      for n in $(gh pr list --repo nextcloud/spreed --state open --limit 500 \
          --search 'milestone:"v24.0.1"' --json number --jq '.[].number'); do
          gh pr edit "$n" --repo nextcloud/spreed --milestone "πŸ–οΈ Next Patch (34)"
      done
  • Close the v24.0.1 milestone
    gh api repos/nextcloud/spreed/milestones --paginate --jq \
        '.[] | select(.title == "v24.0.1") | .number' \
        | xargs -I{} gh api --method PATCH repos/nextcloud/spreed/milestones/{} -f state=closed
  • Ensure that the GitHub Action finished successfully: https://github.com/nextcloud-releases/spreed/actions

πŸ›£οΈ Conclude

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions