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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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