From 7a5afcac9c6b6bb2bf6a6f88f8c82d0b36bb7b77 Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Tue, 1 Jul 2025 10:48:44 +0200 Subject: [PATCH] Update publish release docs (#981) --- .../index.md} | 41 ++++++------------- .../publish-new-release/manual-versioning.md | 37 +++++++++++++++++ fastlane/metadata/android/README.md | 3 ++ .../en-US/changelogs/{1900.txt => 6.txt} | 0 fastlane/metadata/browser-extension/README.md | 8 ++++ .../en-US/changelogs/0.19.0.txt | 4 ++ .../en-US/changelogs/0.19.1.txt | 3 ++ fastlane/metadata/ios/README.md | 6 +++ fastlane/metadata/ios/en-US/changelogs/6.txt | 3 ++ 9 files changed, 76 insertions(+), 29 deletions(-) rename docs/misc/release/{create-new-release.md => publish-new-release/index.md} (53%) create mode 100644 docs/misc/release/publish-new-release/manual-versioning.md create mode 100644 fastlane/metadata/android/README.md rename fastlane/metadata/android/en-US/changelogs/{1900.txt => 6.txt} (100%) create mode 100644 fastlane/metadata/browser-extension/README.md create mode 100644 fastlane/metadata/browser-extension/en-US/changelogs/0.19.0.txt create mode 100644 fastlane/metadata/browser-extension/en-US/changelogs/0.19.1.txt create mode 100644 fastlane/metadata/ios/README.md create mode 100644 fastlane/metadata/ios/en-US/changelogs/6.txt diff --git a/docs/misc/release/create-new-release.md b/docs/misc/release/publish-new-release/index.md similarity index 53% rename from docs/misc/release/create-new-release.md rename to docs/misc/release/publish-new-release/index.md index 72edd2e86..dfbc9d09e 100644 --- a/docs/misc/release/create-new-release.md +++ b/docs/misc/release/publish-new-release/index.md @@ -1,6 +1,6 @@ --- layout: default -title: Create a new release +title: Publish new release parent: Release grand_parent: Miscellaneous nav_order: 1 @@ -24,36 +24,19 @@ For bumping the version for all projects in one go, you can use the interactive ./scripts/bump_version.sh ``` -Alternatively, you can do it manually by following these steps: +> If you prefer to update versions manually instead of using the interactive script, see the [Manual versioning](manual-versioning) page for detailed steps. -### Versioning client and server -- [ ] Update ./apps/server/Shared/AliasVault.Shared.Core/AppInfo.cs and update major/minor/patch to the new version. This version will be shown in the client and admin app footer. This version should be equal to the git release tag. -- [ ] Update ./apps/server/Shared/AliasVault.Shared.Core/AppInfo.cs with the minimum supported client versions. - - Only required if new API output breaks earlier client versions and/or this version of the client/API will upgrade the client vault model to a new major version. -- [ ] Update ./install.sh `@version` in header ONLY if the install script content has changed since the last release. This allows the install script to self-update when running the `./install.sh update` command on default installations. - -### Versioning browser extensions -- [ ] Update `./apps/browser-extension/wxt.config.ts` with the new version for the extension. This will be shown in the browser extension web stores. This version should be equal to the git release tag. -- [ ] Update `./apps/browser-extension/safari-xcode/AliasVault/AliasVault.xcodeproj/project.pbxproj` and set the version in `MARKETING_VERSION` and increase the build number in `CURRENT_PROJECT_VERSION`. This is the version that will be shown in the Safari Browser Extension App Store. -- [ ] Update `./apps/browser-extension/src/utils/AppInfo.ts` with the new version for the extension. This version should be equal to the git release tag. -- [ ] Update `./apps/browser-extension/src/utils/AppInfo.ts` with the minimum supported server version (in case of required API breaking changes). -- [ ] Update `./apps/browser-extension/src/utils/AppInfo.ts` with the minimum supported client vault version (in case of required client vault model changes). - -### Versioning mobile apps -- [ ] Update `./apps/mobile-app/app.json` with the new version for the mobile app. This version should be equal to the git release tag. -- [ ] Update `./apps/mobile-app/utils/AppInfo.ts` with the new version for the mobile app. This version should be equal to the git release tag. -- [ ] Update `./apps/mobile-app/utils/AppInfo.ts` with the minimum supported server version (in case of required API breaking changes). -- [ ] Update `./apps/mobile-app/utils/AppInfo.ts` with the minimum supported client vault version (in case of required client vault model changes). -- [ ] Update `./apps/mobile-app/ios/AliasVault.xcodeproj/project.pbxproj` and set the version in `MARKETING_VERSION` and increase the build number in `CURRENT_PROJECT_VERSION`. This is the version that will be shown in the iOS App Store. -- [ ] Update `./apps/mobile-app/android/app/build.gradle` and set the version in `versionName` and increase the build number in `versionCode`. - -### Install script (docker images) -If docker containers have been added or removed: -- [ ] Verify that `.github/workflows/release.yml` contains references to all docker images that need to be published. -- [ ] Update `install.sh` and verify that the `images=()` array that takes care of pulling the images from the GitHub Container Registry is updated. +## Write changelogs +When a new version of the mobile apps and/or browser extensions is released, write changelogs and commit them to: +- iOS app: `./fastlane/metadata/ios/en-US/changelogs/[versionCode].txt`. + > Filename should equal the `versionCode` in build.gradle. +- Android app: `./fastlane/metadata/android/en-US/changelogs/[versionCode].txt`. + > Filename should equal the `versionCode` in build.gradle. +- Browser extensions: `./fastlane/metadata/browser-extension/en-US/changelogs/[semver].txt`. + > Filename should equal the semver of the release (e.g. `0.20.0`). ## Update documentation -- [ ] Update /docs instructions if any changes have been made to the setup process +- [ ] Update /docs instructions for any relevant changes to functionality or self-host installaton process - [ ] Update README screenshots if applicable - [ ] Update README current/upcoming features @@ -98,4 +81,4 @@ The GitHub Actions workflow `Browser Extension Build` will build the browser ext ```bash apps/mobile-ap/android/app/build/outputs/bundle/release ``` - 3. Take this file and upload it to the Google Play Console. \ No newline at end of file + 3. Take this file and upload it to the Google Play Console. diff --git a/docs/misc/release/publish-new-release/manual-versioning.md b/docs/misc/release/publish-new-release/manual-versioning.md new file mode 100644 index 000000000..6d0c06dc5 --- /dev/null +++ b/docs/misc/release/publish-new-release/manual-versioning.md @@ -0,0 +1,37 @@ +--- +layout: default +title: Manual versioning +parent: Publish new release +grand_parent: Release +nav_order: 2 +--- + +# Manual Versioning Steps + +Alternatively, you can do it manually by following these steps: + +## Versioning client and server +- [ ] Update ./apps/server/Shared/AliasVault.Shared.Core/AppInfo.cs and update major/minor/patch to the new version. This version will be shown in the client and admin app footer. This version should be equal to the git release tag. +- [ ] Update ./apps/server/Shared/AliasVault.Shared.Core/AppInfo.cs with the minimum supported client versions. + - Only required if new API output breaks earlier client versions and/or this version of the client/API will upgrade the client vault model to a new major version. +- [ ] Update ./install.sh `@version` in header ONLY if the install script content has changed since the last release. This allows the install script to self-update when running the `./install.sh update` command on default installations. + +## Versioning browser extensions +- [ ] Update `./apps/browser-extension/wxt.config.ts` with the new version for the extension. This will be shown in the browser extension web stores. This version should be equal to the git release tag. +- [ ] Update `./apps/browser-extension/safari-xcode/AliasVault/AliasVault.xcodeproj/project.pbxproj` and set the version in `MARKETING_VERSION` and increase the build number in `CURRENT_PROJECT_VERSION`. This is the version that will be shown in the Safari Browser Extension App Store. +- [ ] Update `./apps/browser-extension/src/utils/AppInfo.ts` with the new version for the extension. This version should be equal to the git release tag. +- [ ] Update `./apps/browser-extension/src/utils/AppInfo.ts` with the minimum supported server version (in case of required API breaking changes). +- [ ] Update `./apps/browser-extension/src/utils/AppInfo.ts` with the minimum supported client vault version (in case of required client vault model changes). + +## Versioning mobile apps +- [ ] Update `./apps/mobile-app/app.json` with the new version for the mobile app. This version should be equal to the git release tag. +- [ ] Update `./apps/mobile-app/utils/AppInfo.ts` with the new version for the mobile app. This version should be equal to the git release tag. +- [ ] Update `./apps/mobile-app/utils/AppInfo.ts` with the minimum supported server version (in case of required API breaking changes). +- [ ] Update `./apps/mobile-app/utils/AppInfo.ts` with the minimum supported client vault version (in case of required client vault model changes). +- [ ] Update `./apps/mobile-app/ios/AliasVault.xcodeproj/project.pbxproj` and set the version in `MARKETING_VERSION` and increase the build number in `CURRENT_PROJECT_VERSION`. This is the version that will be shown in the iOS App Store. +- [ ] Update `./apps/mobile-app/android/app/build.gradle` and set the version in `versionName` and increase the build number in `versionCode`. + +## Install script (docker images) +If docker containers have been added or removed: +- [ ] Verify that `.github/workflows/release.yml` contains references to all docker images that need to be published. +- [ ] Update `install.sh` and verify that the `images=()` array that takes care of pulling the images from the GitHub Container Registry is updated. \ No newline at end of file diff --git a/fastlane/metadata/android/README.md b/fastlane/metadata/android/README.md new file mode 100644 index 000000000..0db3e6b4f --- /dev/null +++ b/fastlane/metadata/android/README.md @@ -0,0 +1,3 @@ +# Android App Release Metadata + +This folder contains release metadata for the Android application. It follows the standard Fastlane directory structure, which is also compatible with F-Droid. diff --git a/fastlane/metadata/android/en-US/changelogs/1900.txt b/fastlane/metadata/android/en-US/changelogs/6.txt similarity index 100% rename from fastlane/metadata/android/en-US/changelogs/1900.txt rename to fastlane/metadata/android/en-US/changelogs/6.txt diff --git a/fastlane/metadata/browser-extension/README.md b/fastlane/metadata/browser-extension/README.md new file mode 100644 index 000000000..8226a825f --- /dev/null +++ b/fastlane/metadata/browser-extension/README.md @@ -0,0 +1,8 @@ +# Browser Extensions Release Metadata + +This folder contains release metadata specifically for the browser extensions. + +> **Note:** +> The `fastlane` directory structure does not officially support browser extensions. However, since we already manage the release notes and app information for our iOS and Android apps here, keeping the browser extension release notes in the same location provides a unified overview. +> +> These notes are stored primarily for bookkeeping and historical reference. diff --git a/fastlane/metadata/browser-extension/en-US/changelogs/0.19.0.txt b/fastlane/metadata/browser-extension/en-US/changelogs/0.19.0.txt new file mode 100644 index 000000000..6cdaae1be --- /dev/null +++ b/fastlane/metadata/browser-extension/en-US/changelogs/0.19.0.txt @@ -0,0 +1,4 @@ +- Full vault management: create, edit, delete credentials directly in the browser extension +- Improved popup behavior and dialogs +- Autofill fixes and UI tweaks +- Version display fix in settings diff --git a/fastlane/metadata/browser-extension/en-US/changelogs/0.19.1.txt b/fastlane/metadata/browser-extension/en-US/changelogs/0.19.1.txt new file mode 100644 index 000000000..330a673b4 --- /dev/null +++ b/fastlane/metadata/browser-extension/en-US/changelogs/0.19.1.txt @@ -0,0 +1,3 @@ +- Automatically open last visited page when re-opening the browser extension popup +- Move notes to the bottom of the credential details screen to match the edit screen +- Fixes issue where non-aliasvault emails could throw an error in the recent email display diff --git a/fastlane/metadata/ios/README.md b/fastlane/metadata/ios/README.md new file mode 100644 index 000000000..4940410dd --- /dev/null +++ b/fastlane/metadata/ios/README.md @@ -0,0 +1,6 @@ +# iOS App Release Metadata + +This folder contains release metadata for the iOS application. It follows the standard Fastlane directory structure used by Deliver for managing App Store Connect submissions. + +> **Note:** +> As of 2025-07-01, we are not yet using Fastlane to publish iOS app updates. However, we maintain the release notes in this format for bookkeeping and historical reference. diff --git a/fastlane/metadata/ios/en-US/changelogs/6.txt b/fastlane/metadata/ios/en-US/changelogs/6.txt new file mode 100644 index 000000000..33ef5f69e --- /dev/null +++ b/fastlane/metadata/ios/en-US/changelogs/6.txt @@ -0,0 +1,3 @@ +- Move notes to the bottom of the credential details screen to match the edit screen +- Fixes issue where non-aliasvault emails could throw an error in the recent email display +- Fixes issue in iOS autofill where the "view details" long press menu option didn't work