Release X.Y.0
- Dominant language
- C++
- Stars
- 3.9k
- Forks
- 1k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 123
Description
### :memo: TO DO
### :label: Tagging
- [ ] :warning: checks that the milestone associated with the release has no outstanding pending work to be done
- [ ] 🎯 Check the milestone for X.Y.0 to make sure every merged PR is included.
- [ ] Send a mail to marketing with a changelog and the expected release date no sooner than 7 days later
- [ ] :clock1: wait 7 days
- [ ] Bump [VERSION.cmake](https://github.com/nextcloud/desktop/blob/master/VERSION.cmake) to X.Y.0 (release to X.Y.0 and version to X.Y) in the *stable* branch
- [ ] Create tag from stable branch on the commit introducing the version bump
```
$ git checkout stable-X.Y
$ git pull
$ git tag -s -m "Release X.Y.0" vX.Y.0
$ git push origin vX.Y.0
```
```
git remote add releases git@github.com:nextcloud-releases/desktop.git
git push origin vX.Y.0
git push releases vX.Y.0
```
- [ ] :label: Create tag from corresponding stable branch in client-building. Steps to create the tag are the same as the above.
### :factory: Building: trigger the builds on brander and wait for them to succeed
- [ ] :penguin: Linux
- [ ] :apple: Mac OS one client
- [ ] :door: Windows MSI
### :test_tube: Testing: execute the feature release test plan for each build
#### :penguin: Linux
- [ ] update from last release candidate (meaning that you have an existing account configured with the release candidate and upgrade the installation via installer)
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] fresh installation
- [ ] configure a new account
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] check cpu usage during sync
- [ ] configure a new account using selective sync
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] check cpu usage during sync
- [ ] test important new feature from the release
#### :apple: Mac OS
- [ ] update from last release candidate (meaning that you have an existing account configured with the release candidate and upgrade the installation via installer)
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] fresh installation
- [ ] configure a new account
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] check cpu usage during sync
- [ ] configure a new account using selective sync
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] check cpu usage during sync
- [ ] test important new feature from the release
#### :apple: Mac OS VFS
- [ ] update from last release candidate (meaning that you have an existing account configured with the release candidate and upgrade the installation via installer)
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] fresh installation
- [ ] configure a new account
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] check cpu usage during sync
- [ ] test important new feature from the release
#### :door: Windows
- [ ] update from last release candidate (meaning that you have an existing account configured with the release candidate and upgrade the installation via installer)
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] fresh installation
- [ ] configure a new account with VFS
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] check cpu usage during sync
- [ ] configure a new account using selective sync
- [ ] upload/download/check activity/check integration to file browser
- [ ] check cpu usage during sync
- [ ] tray menu interaction
- [ ] test Talk notifications (receive notification, reply to a message)
- [ ] check cpu usage during sync
- [ ] test important new feature from the release
### :old_key: Signing
- [ ] Download the delta update file (.tbz) of the *mac OS* build.
- [ ] Download the delta update file (.tbz) of the *mac OS VFS* build.
> [!TIP]
> The .tbz file is required for automated upgrade. The link is located after the last mention of *Sharing succeeded* in the build logs. The file needs to be signed similarly to the .pkg file and uploaded everywhere.
- [ ] Sign binaries (`ssh -P 2200` to signing VM, then, `cat how-to-sign`, then `scp -P 2200` to download signatures)
### 🚀 Publishing
- [ ] Close the milestone for X.Y.0
#### :book: Changelog: create draft pre-release and release notes (click on ```Generate release notes```) at:
- [ ] [nextcloud/desktop/releases](https://github.com/nextcloud/desktop/releases)
> [!WARNING]
> Only add the release notes to [nextcloud/desktop/releases](https://github.com/nextcloud/desktop/releases).
> 🚨 For security reasons, the binaries are *only* uploaded to [nextcloud-releases/desktop/releases](https://github.com/nextcloud-releases/desktop/releases).
- [ ] [nextcloud-releases/desktop/releases](https://github.com/nextcloud-releases/desktop/releases) (copy the changelog from [nextcloud/desktop/releases](https://github.com/nextcloud/desktop/releases))
- [ ] be careful macOS VFS packages (so called one client) are wrongly named and should follow this pattern: `Nextcloud-x.y.0.pkg`
#### ⬆️ Upload binaries to:
- [ ] the draft pre-release at [nextcloud-releases/desktop/releases](https://github.com/nextcloud-releases/desktop/releases)
- [ ] [download.nextcloud.com](https://download.nextcloud.com) in the user home directory (so still private)
#### 📧 Marketing:
- [ ] notify Marketing that the release is ready.
#### 🔈 When marketing gives the go then publish the draft pre-releases created previously at:
- [ ] [nextcloud/desktop/releases](https://github.com/nextcloud/desktop/releases)
> [!CAUTION]
> 🚨 No binaries in [nextcloud/desktop/releases](https://github.com/nextcloud/desktop/releases)
- [ ] [nextcloud-releases/desktop/releases](https://github.com/nextcloud-releases/desktop/releases)
- [ ] Run the `publish_desktop.sh` script on download.nextcloud.com so that the binaries appear at [download.nextcloud.com/desktop/releases](https://download.nextcloud.com/desktop/releases)
- [ ] Ask sysadmin to update the `.htaccess` such that latest alias point toward the new release (for example https://download.nextcloud.com/desktop/releases/Windows/latest)
#### 🆕 Release via the updater server:
- In the [updater server config](https://github.com/nextcloud/client_updater_server/blob/8aca0826b0a617acc56a30f3095af7f16abd80f3/config/config.php#L24C1-L27C39) change the following values to serve the release:
- [ ] `$stableReleaseDate`
- [ ] `$fileProviderStableReleaseDate`
- [ ] `$stableVersion`
- [ ] `$fileProviderStableVersion`
> [!WARNING]
> The **mac update service** needs the `signature` and `length` values in order to work: the *sparkle:edSignature* and *length* values are printed right after the last mention of *Sharing succeeded* in the build log.
- 🍎 Under [`stable`](https://github.com/nextcloud/client_updater_server/blob/8aca0826b0a617acc56a30f3095af7f16abd80f3/config/config.php#L76), update the following values for [`macos`](https://github.com/nextcloud/client_updater_server/blob/8aca0826b0a617acc56a30f3095af7f16abd80f3/config/config.php#L99C111-L102C38) :
- [ ] `signature`
- [ ] `length`
- [ ] `fileProviderSignature`
- [ ] `fileProviderLength`
#### 🌐 Update the website and users:
- [ ] Ping marketing (Peter specifically via e-mail or chat) to change the [install-clients](https://nextcloud.com/install/#install-clients) page to update the link to the latest release on Nextcloud website.
- [ ] Ensure that desktop client links work on website and release packages are downloaded fine
- [ ] Also test links on portal and that release packages are downloaded fine
Contributor guide
Assessment
This issue has not been assessed yet.