Get branches/versions to release from https://github.com/nextcloud/spreed/milestones
💺 Preparation
Start with the oldest version here, so the appstore and github releases show the newest version as "Last release"
🚀 v22.0.18
Details
stable32 is at v22.0.18
Rolling over: '🪺 Next Patch (32)' (#380)
→ 1. Rename '🪺 Next Patch (32)' (#380) → 'v22.0.18'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/380 -f title="v22.0.18"
--last given: no follow-up milestone — this branch's line is done
→ 3. Move open issues from 'v22.0.18' to the '(33)' milestone
102 issue(s) → '🍏 Next Patch (33)'
$ for n in 19084 18458 18120 18108 17573 17545 17544 17494 17493 17281 16978 16956 16739 16348 16267 16265 16238 16230 16160 16068 16034 16010 15994 15991 15948 15778 15683 15668 15666 15637 15607 15505 15413 15311 15276 14978 14888 14878 14643 14619 14519 14506 14501 14500 14368 14326 14294 14180 14178 14177 14146 14126 14092 14087 13878 13764 13653 13652 13624 13565 13498 13436 13137 12957 12920 12885 12847 12768 12622 12484 12429 12317 12103 11935 11881 11864 11859 11858 11857 11768 11746 11737 11434 11407 11216 11106 11005 10957 10627 10283 10253 10237 10223 10147 9707 9382 13594 9145 7941 6742 5948 5300; do gh issue edit "$n" --repo nextcloud/spreed --milestone "🍏 Next Patch (33)"; done
→ 4. Open PRs
✔ No open PRs left on this milestone
→ 5. Close milestone 'v22.0.18'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/380 -f state=closed
🚀 v23.0.11
Details
stable33 is at v23.0.11
Rolling over: '🍏 Next Patch (33)' (#381)
→ 1. Rename '🍏 Next Patch (33)' (#381) → 'v23.0.11'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/381 -f title="v23.0.11"
→ 2. Create milestone '🍏 Next Patch (33)', due 2026-10-08
$ gh api --method POST repos/nextcloud/spreed/milestones -f title="🍏 Next Patch (33)" -f due_on="2026-10-08T00:00:00Z"
→ 3. Move open issues from 'v23.0.11' to '🍏 Next Patch (33)'
27 issue(s)
$ for n in 19218 19007 18928 18759 18498 18123 18111 18109 17907 17905 17881 17496 16983 16866 16828 16827 16815 16814 16813 16812 16725 16630 16627 16590 16414 14994 14083; do gh issue edit "$n" --repo nextcloud/spreed --milestone "🍏 Next Patch (33)"; done
→ 4. Move open PRs from 'v23.0.11' to '🍏 Next Patch (33)'
✔ No open PRs to move
→ 5. Close milestone 'v23.0.11'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/381 -f state=closed
🚀 v24.0.5
Details
stable34 is at v24.0.5
Rolling over: '🏖️ Next Patch (34)' (#382)
→ 1. Rename '🏖️ Next Patch (34)' (#382) → 'v24.0.5'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/382 -f title="v24.0.5"
→ 2. Create milestone '🏖️ Next Patch (34)', due 2026-10-08
$ gh api --method POST repos/nextcloud/spreed/milestones -f title="🏖️ Next Patch (34)" -f due_on="2026-10-08T00:00:00Z"
→ 3. Move open issues from 'v24.0.5' to '🏖️ Next Patch (34)'
135 issue(s)
$ for n in 19162 19081 19077 19031 18981 18844 18673 18662 18650 18492 18453 18364 18354 18110 18106 18031 17936 17901 17858 17786 17773 17735 17654 17472 17227 17209 17146 17098 17053 16974 16957 16471 16457 16416 16411 16305 16266 16225 16215 16184 16103 16051 16008 15640 15631 15571 15445 15310 15096 15049 14836 14760 14725 14698 14571 14570 14547 14302 14166 14132 14119 14103 13946 13934 13919 13905 13902 13884 13851 13811 13702 13562 13561 13559 13508 13441 13437 13390 13292 13184 13115 13059 12809 12808 12806 12802 12795 12750 12623 12603 12239 12116 11949 11898 11856 11484 11437 11425 11332 11233 11209 11200 11135 11044 10723 10684 10648 10535 9867 9817 9813 9667 9665 9488 9406 9404 8843 8549 8513 8387 8364 8328 8150 8122 7994 7708 7706 7660 7483 7469 7461 7367 6778 4468 3518; do gh issue edit "$n" --repo nextcloud/spreed --milestone "🏖️ Next Patch (34)"; done
→ 4. Move open PRs from 'v24.0.5' to '🏖️ Next Patch (34)'
✔ No open PRs to move
→ 5. Close milestone 'v24.0.5'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/382 -f state=closed
🚀 v25.0.0-rc.3
Details
stable35 is at v25.0.0-rc.3
Rolling over: '⛅ Next RC (35)' (#383)
→ 1. Rename '⛅ Next RC (35)' (#383) → 'v25.0.0-rc.3'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/383 -f title="v25.0.0-rc.3"
→ 2. Create milestone '⛅ Next RC (35)', due 2026-09-17
$ gh api --method POST repos/nextcloud/spreed/milestones -f title="⛅ Next RC (35)" -f due_on="2026-09-17T00:00:00Z"
→ 3. Move open issues from 'v25.0.0-rc.3' to '⛅ Next RC (35)'
15 issue(s)
$ for n in 19364 19347 19338 19215 18994 18905 18480 18374 18305 18039 18252 16977 12348 11411 6035; do gh issue edit "$n" --repo nextcloud/spreed --milestone "⛅ Next RC (35)"; done
→ 4. Move open PRs from 'v25.0.0-rc.3' to '⛅ Next RC (35)'
✔ No open PRs to move
→ 5. Close milestone 'v25.0.0-rc.3'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/383 -f state=closed
🛣️ Conclude
Get branches/versions to release from https://github.com/nextcloud/spreed/milestones
💺 Preparation
CHANGELOG.mdwith the changelog of all milestones that are subject to the releaseStart with the oldest version here, so the appstore and github releases show the newest version as "Last release"
🚀 v22.0.18
CHANGELOG.mdof higher versionsappinfo/info.xmlpackage.json. The following command will return a new version name, make sure it matches what you expect:vinv22.0.18will be automatically added to the tag)make create-tag version=$(xmllint --xpath '/info/version/text()' appinfo/info.xml)git push releases v$(xmllint --xpath '/info/version/text()' appinfo/info.xml)CHANGELOG.mdsection from merged PRDetails
stable32 is at v22.0.18
Rolling over: '🪺 Next Patch (32)' (#380)
→ 1. Rename '🪺 Next Patch (32)' (#380) → 'v22.0.18'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/380 -f title="v22.0.18"
--last given: no follow-up milestone — this branch's line is done
→ 3. Move open issues from 'v22.0.18' to the '(33)' milestone
102 issue(s) → '🍏 Next Patch (33)'
$ for n in 19084 18458 18120 18108 17573 17545 17544 17494 17493 17281 16978 16956 16739 16348 16267 16265 16238 16230 16160 16068 16034 16010 15994 15991 15948 15778 15683 15668 15666 15637 15607 15505 15413 15311 15276 14978 14888 14878 14643 14619 14519 14506 14501 14500 14368 14326 14294 14180 14178 14177 14146 14126 14092 14087 13878 13764 13653 13652 13624 13565 13498 13436 13137 12957 12920 12885 12847 12768 12622 12484 12429 12317 12103 11935 11881 11864 11859 11858 11857 11768 11746 11737 11434 11407 11216 11106 11005 10957 10627 10283 10253 10237 10223 10147 9707 9382 13594 9145 7941 6742 5948 5300; do gh issue edit "$n" --repo nextcloud/spreed --milestone "🍏 Next Patch (33)"; done
→ 4. Open PRs
✔ No open PRs left on this milestone
→ 5. Close milestone 'v22.0.18'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/380 -f state=closed
🚀 v23.0.11
CHANGELOG.mdof higher versionsappinfo/info.xmlpackage.json. The following command will return a new version name, make sure it matches what you expect:vinv23.0.11will be automatically added to the tag)make create-tag version=$(xmllint --xpath '/info/version/text()' appinfo/info.xml)git push releases v$(xmllint --xpath '/info/version/text()' appinfo/info.xml)CHANGELOG.mdsection from merged PRDetails
stable33 is at v23.0.11
Rolling over: '🍏 Next Patch (33)' (#381)
→ 1. Rename '🍏 Next Patch (33)' (#381) → 'v23.0.11'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/381 -f title="v23.0.11"
→ 2. Create milestone '🍏 Next Patch (33)', due 2026-10-08
$ gh api --method POST repos/nextcloud/spreed/milestones -f title="🍏 Next Patch (33)" -f due_on="2026-10-08T00:00:00Z"
→ 3. Move open issues from 'v23.0.11' to '🍏 Next Patch (33)'
27 issue(s)
$ for n in 19218 19007 18928 18759 18498 18123 18111 18109 17907 17905 17881 17496 16983 16866 16828 16827 16815 16814 16813 16812 16725 16630 16627 16590 16414 14994 14083; do gh issue edit "$n" --repo nextcloud/spreed --milestone "🍏 Next Patch (33)"; done
→ 4. Move open PRs from 'v23.0.11' to '🍏 Next Patch (33)'
✔ No open PRs to move
→ 5. Close milestone 'v23.0.11'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/381 -f state=closed
🚀 v24.0.5
CHANGELOG.mdof higher versionsappinfo/info.xmlpackage.json. The following command will return a new version name, make sure it matches what you expect:vinv24.0.5will be automatically added to the tag)make create-tag version=$(xmllint --xpath '/info/version/text()' appinfo/info.xml)git push releases v$(xmllint --xpath '/info/version/text()' appinfo/info.xml)CHANGELOG.mdsection from merged PRDetails
stable34 is at v24.0.5
Rolling over: '🏖️ Next Patch (34)' (#382)
→ 1. Rename '🏖️ Next Patch (34)' (#382) → 'v24.0.5'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/382 -f title="v24.0.5"
→ 2. Create milestone '🏖️ Next Patch (34)', due 2026-10-08
$ gh api --method POST repos/nextcloud/spreed/milestones -f title="🏖️ Next Patch (34)" -f due_on="2026-10-08T00:00:00Z"
→ 3. Move open issues from 'v24.0.5' to '🏖️ Next Patch (34)'
135 issue(s)
$ for n in 19162 19081 19077 19031 18981 18844 18673 18662 18650 18492 18453 18364 18354 18110 18106 18031 17936 17901 17858 17786 17773 17735 17654 17472 17227 17209 17146 17098 17053 16974 16957 16471 16457 16416 16411 16305 16266 16225 16215 16184 16103 16051 16008 15640 15631 15571 15445 15310 15096 15049 14836 14760 14725 14698 14571 14570 14547 14302 14166 14132 14119 14103 13946 13934 13919 13905 13902 13884 13851 13811 13702 13562 13561 13559 13508 13441 13437 13390 13292 13184 13115 13059 12809 12808 12806 12802 12795 12750 12623 12603 12239 12116 11949 11898 11856 11484 11437 11425 11332 11233 11209 11200 11135 11044 10723 10684 10648 10535 9867 9817 9813 9667 9665 9488 9406 9404 8843 8549 8513 8387 8364 8328 8150 8122 7994 7708 7706 7660 7483 7469 7461 7367 6778 4468 3518; do gh issue edit "$n" --repo nextcloud/spreed --milestone "🏖️ Next Patch (34)"; done
→ 4. Move open PRs from 'v24.0.5' to '🏖️ Next Patch (34)'
✔ No open PRs to move
→ 5. Close milestone 'v24.0.5'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/382 -f state=closed
🚀 v25.0.0-rc.3
CHANGELOG.mdof higher versionsappinfo/info.xmlpackage.json. The following command will return a new version name, make sure it matches what you expect:vinv25.0.0-rc.3will be automatically added to the tag)make create-tag version=$(xmllint --xpath '/info/version/text()' appinfo/info.xml)git push releases v$(xmllint --xpath '/info/version/text()' appinfo/info.xml)CHANGELOG.mdsection from merged PRDetails
stable35 is at v25.0.0-rc.3
Rolling over: '⛅ Next RC (35)' (#383)
→ 1. Rename '⛅ Next RC (35)' (#383) → 'v25.0.0-rc.3'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/383 -f title="v25.0.0-rc.3"
→ 2. Create milestone '⛅ Next RC (35)', due 2026-09-17
$ gh api --method POST repos/nextcloud/spreed/milestones -f title="⛅ Next RC (35)" -f due_on="2026-09-17T00:00:00Z"
→ 3. Move open issues from 'v25.0.0-rc.3' to '⛅ Next RC (35)'
15 issue(s)
$ for n in 19364 19347 19338 19215 18994 18905 18480 18374 18305 18039 18252 16977 12348 11411 6035; do gh issue edit "$n" --repo nextcloud/spreed --milestone "⛅ Next RC (35)"; done
→ 4. Move open PRs from 'v25.0.0-rc.3' to '⛅ Next RC (35)'
✔ No open PRs to move
→ 5. Close milestone 'v25.0.0-rc.3'
$ gh api --method PATCH repos/nextcloud/spreed/milestones/383 -f state=closed
🛣️ Conclude