From eb9553b862b798a3e1834edf302865b7035e3867 Mon Sep 17 00:00:00 2001 From: Tim Sinaeve Date: Tue, 11 Nov 2025 17:46:21 +0100 Subject: [PATCH] chore: prepare 0.25.9 release --- CHANGELOG.md | 12 ++++++++++++ FUNCTIONAL_MANUAL.md | 4 ++-- README.md | 7 ++++--- TECHNICAL_MANUAL.md | 4 ++-- docs/keyboard-shortcut-editor.md | 4 ++-- docs/releases/0.25.9.md | 24 ++++++++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 8 files changed, 49 insertions(+), 12 deletions(-) create mode 100644 docs/releases/0.25.9.md diff --git a/CHANGELOG.md b/CHANGELOG.md index d3f9b5d..8584fa0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,18 @@ All notable changes to this project will be documented in this file. - _No unreleased changes._ +## [0.25.9] + +### Added +- **Windows Release Normalization:** Added `electron/scripts/normalize-win32-artifacts.mjs` to rewrite 32-bit installer filenames and emit a dedicated `latest-win32.yml` manifest so GitHub update channels always expose architecture-specific metadata. + +### Changed +- **CI Release Verification:** Updated the release packaging workflow to run the normalization script and fail fast when `latest*.yml` manifests are missing, preventing half-published builds from leaving CI. +- **Auto-Update Diagnostics:** Expanded the GitHub updater fallback to log sanitized API responses and surface concise HTTP failure summaries (including manifest gaps) inside the toast shown to operators. + +### Documentation +- Recorded the manifest normalization workflow, CI verification guardrails, and enhanced updater telemetry required for the 0.25.9 release in the README, manuals, and shortcut editor reference. + ## [0.25.8] ### Changed diff --git a/FUNCTIONAL_MANUAL.md b/FUNCTIONAL_MANUAL.md index 87ba2fa..a293fd5 100644 --- a/FUNCTIONAL_MANUAL.md +++ b/FUNCTIONAL_MANUAL.md @@ -216,6 +216,6 @@ For advanced users, the settings view includes a **"JSON Config"** tab. This sec - **Export Settings:** Click the "Export Settings" button to save your current configuration into a compressed `.zip` archive. This is useful for creating backups or sharing your setup. - **Import Settings:** Click the "Import Settings" button. You can select a `.zip` archive (created via the export feature) or a raw `.json` file to restore a configuration. This will overwrite your current settings and restart the application. -### Documentation Status for 0.25.8 +### Documentation Status for 0.25.9 -- Captured the debug log selection workflow, repository card layout stabilization, Windows Setup & Clone reliability, and GitHub updater fallback behavior introduced in version `0.25.8`. +- Captured the normalized Windows installer workflow, the GitHub updater diagnostics improvements, and the release manifest verification tooling introduced in version `0.25.9`. diff --git a/README.md b/README.md index a13703c..fb6b3ee 100644 --- a/README.md +++ b/README.md @@ -70,13 +70,14 @@ Follow this checklist when preparing a new minor or patch release: any documentation adjustments or reminders for maintainers. Plan to reuse this text verbatim in the GitHub release body. 4. **Run Automated Checks:** Execute `npm test` (or the appropriate suite documented in the Technical Manual) and confirm it completes successfully before packaging. 5. **Build Installers:** Run `npm run pack` to generate platform installers and smoke-test the output locally. -6. **Publish on GitHub:** Draft a new GitHub release, attach the generated artifacts, verify the tag/version details, and set the +6. **Normalize Windows Manifests:** Run `node electron/scripts/normalize-win32-artifacts.mjs` to rewrite any `-ia32-` installer filenames and ensure both `latest.yml` (x64) and `latest-win32.yml` (ia32) manifests are present in the `release/` directory before publishing. +7. **Publish on GitHub:** Draft a new GitHub release, attach the generated artifacts, verify the tag/version details, and set the **Release Type** selector to the intended state (Full Release for GA builds, Draft or Pre-release as needed). Paste the freshly written changelog entry into the release body so the GitHub notes exactly match the repository history, then publish. -### Documentation Status for 0.25.8 +### Documentation Status for 0.25.9 -- Documented the debug log selection workflow, repository card layout stabilization, auto-update REST fallback, and Windows Setup & Clone reliability improvements delivered in version `0.25.8`. +- Documented the release manifest normalization script, CI manifest verification, and auto-update diagnostics refinements delivered in version `0.25.9`. --- _For developer information, including how to run this project in development mode or build it from source, please see the **Technical Manual** tab in the Info Hub._ diff --git a/TECHNICAL_MANUAL.md b/TECHNICAL_MANUAL.md index db08c61..6b45e1a 100644 --- a/TECHNICAL_MANUAL.md +++ b/TECHNICAL_MANUAL.md @@ -98,9 +98,9 @@ Use this process when shipping a new minor update or bugfix: 6. **Validate Update Metadata:** From the project root, execute `node electron/scripts/normalize-win32-artifacts.mjs` and confirm the `release/` directory contains `latest.yml` (x64), `latest-win32.yml` (ia32), and matching installer names. This verification prevents shipping a release without the updater manifests that GitHub users rely on. 7. **Publish on GitHub:** Draft a new release on GitHub, attach the installers from the `release/` folder, verify the tag/version details, and explicitly set the **Release Type** selector to match your intent (Full Release for GA builds or Draft/Pre-release when staging). Paste the current changelog entry into the notes so the GitHub release matches the repository history, then publish. -### Documentation Status for 0.25.8 +### Documentation Status for 0.25.9 -- Recorded the GitHub updater REST fallback patch, debug log tooling upgrades, and related documentation cross-links required for version `0.25.8`. +- Recorded the Windows manifest normalization workflow, CI manifest verification gate, and enhanced auto-update diagnostics required for version `0.25.9`. ## 7. Automatic Updates The application is configured to automatically check for updates on startup using the `electron-updater` library. diff --git a/docs/keyboard-shortcut-editor.md b/docs/keyboard-shortcut-editor.md index 53ff9f2..83b0d46 100644 --- a/docs/keyboard-shortcut-editor.md +++ b/docs/keyboard-shortcut-editor.md @@ -71,6 +71,6 @@ The catalog defines the canonical list of actions and their defaults. ## Future Hooks - The structure supports hooking into a runtime shortcut registry (e.g., via a dedicated context) by indexing `settings.keyboardShortcuts.bindings`. Any consumer can reuse `shortcutKey` and the catalog to register listeners or show active shortcut hints. The state object is already versioned (`version: 1`) to accommodate future schema migrations.【F:keyboardShortcuts.ts†L285-L313】【F:types.ts†L23-L49】 -## Documentation Status for 0.25.8 -- Re-validated that the shortcut editor architecture, UI flows, and persistence notes above still reflect the current implementation for version `0.25.8`. No technical adjustments were required beyond recording this confirmation for the release audit trail. +## Documentation Status for 0.25.9 +- Re-validated that the shortcut editor architecture, UI flows, and persistence notes above still reflect the current implementation for version `0.25.9`. No technical adjustments were required beyond recording this confirmation for the release audit trail. diff --git a/docs/releases/0.25.9.md b/docs/releases/0.25.9.md new file mode 100644 index 0000000..6823e4f --- /dev/null +++ b/docs/releases/0.25.9.md @@ -0,0 +1,24 @@ +# Git Automation Dashboard 0.25.9 Release Notes + +## Summary +Git Automation Dashboard 0.25.9 focuses on tightening the release pipeline so packaged builds always ship with the updater metadata that desktop clients expect. It also enhances the auto-update diagnostics surfaced to operators when GitHub responds with unexpected errors. + +## What's Changed + +### Release Workflow Improvements +- Added `electron/scripts/normalize-win32-artifacts.mjs` so maintainers can rewrite 32-bit Windows installer filenames to the `-win32-` convention and automatically emit `latest-win32.yml` before publishing. This prevents updater lookups from missing the 32-bit manifest. +- Updated the `main` GitHub Actions workflow to execute the normalization script during Windows builds and to fail the job whenever no `latest*.yml` manifests are produced. This guards against accidentally promoting builds that cannot self-update. ([#94](https://github.com/beNative/git-automation/pull/94)) + +### Auto-Update Diagnostics +- Expanded the GitHub provider fallback to log sanitized API payload summaries, making it easier to correlate REST retries with upstream behavior during incident response. +- Refined the update error toast so engineers see concise HTTP status messaging and are alerted when release manifests are missing, while longer payloads are redirected to the debug log. ([#94](https://github.com/beNative/git-automation/pull/94)) + +## Breaking Changes +- None. This release is backwards compatible. + +## Upgrade Notes +1. After running `npm run pack`, execute `node electron/scripts/normalize-win32-artifacts.mjs` to produce the 32-bit manifest before drafting the GitHub release. +2. Verify that CI reports all `latest*.yml` files before promoting the release; failed checks indicate the updater would not see the build. + +## Acknowledgements +- Pull Request [#94](https://github.com/beNative/git-automation/pull/94) – Implement CI checks for release integrity and refine updater diagnostics. diff --git a/package-lock.json b/package-lock.json index 7f0621f..08229e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "git-automation-dashboard", - "version": "0.25.8", + "version": "0.25.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "git-automation-dashboard", - "version": "0.25.8", + "version": "0.25.9", "license": "MIT", "dependencies": { "@google/genai": "^1.16.0", diff --git a/package.json b/package.json index 679b804..9dfc548 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "git-automation-dashboard", - "version": "0.25.8", + "version": "0.25.9", "description": "A dashboard to manage and automate the workflow for a set of Git repositories.", "main": "dist/main.js", "author": "Tim Sinaeve ",