From 39e93e09878c2063670d92fcc9c0e2bf3517271c Mon Sep 17 00:00:00 2001 From: mirivlad Date: Sun, 12 Jul 2026 22:33:47 +0800 Subject: [PATCH] chore: prepare Firefox release v2.0.3 --- README.md | 2 +- chromium/manifest.json | 2 +- .../2026-07-12-github-firefox-updates.md | 28 +++++++++---------- ...026-07-12-github-firefox-updates-design.md | 8 +++--- firefox/manifest.json | 2 +- package-lock.json | 4 +-- package.json | 2 +- scripts/test-firefox-github-release.js | 19 ++++++++----- 8 files changed, 36 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 0912e6a..106ce34 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ current GitHub Release: VERSTAK_BROWSER_ENV=/path/to/.env npm run publish:firefox ``` -The first invocation publishes tag `v2.0.2` and bootstraps the +The first invocation publishes tag `v2.0.3` and bootstraps the `releases/latest/download/updates.json` endpoint. Re-running the command replaces those two release assets for the same tag. diff --git a/chromium/manifest.json b/chromium/manifest.json index ddbf931..ef5eac3 100644 --- a/chromium/manifest.json +++ b/chromium/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "Verstak Bridge", - "version": "2.0.2", + "version": "2.0.3", "description": "Send pages, selections, links, and files to the local Verstak browser inbox.", "author": "Verstak", "homepage_url": "https://git.mirv.top/verstak/verstak-browser-extension", diff --git a/docs/superpowers/plans/2026-07-12-github-firefox-updates.md b/docs/superpowers/plans/2026-07-12-github-firefox-updates.md index 96a1bbb..a839958 100644 --- a/docs/superpowers/plans/2026-07-12-github-firefox-updates.md +++ b/docs/superpowers/plans/2026-07-12-github-firefox-updates.md @@ -12,7 +12,7 @@ - Publish repository: `mirivlad/verstak-browser-extension`. - Firefox addon ID: `verstak-bridge@verstak.app`. -- Initial GitHub release: `v2.0.2`; package and both browser manifests are version `2.0.2`. +- Initial GitHub release: `v2.0.3`; package and both browser manifests are version `2.0.3`. - Every alpha GitHub release is ordinary/latest, not a prerelease. - XPI remains Mozilla-signed as an unlisted/self-distributed addon before upload. - `npm run release:firefox` remains a local sign-and-package action. @@ -41,19 +41,19 @@ Create `scripts/test-firefox-github-release.js` with: const assert = require('assert'); const release = require('./firefox-github-release'); -const version = '2.0.2'; -const asset = 'verstak-firefox-2.0.2.xpi'; -assert.equal(release.releaseTag(version), 'v2.0.2'); +const version = '2.0.3'; +const asset = 'verstak-firefox-2.0.3.xpi'; +assert.equal(release.releaseTag(version), 'v2.0.3'); assert.equal( release.releaseAssetURL(version, asset), - 'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.2/verstak-firefox-2.0.2.xpi', + 'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.3/verstak-firefox-2.0.3.xpi', ); assert.deepEqual(release.updateManifest('verstak-bridge@verstak.app', version, asset), { addons: { 'verstak-bridge@verstak.app': { updates: [{ - version: '2.0.2', - update_link: 'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.2/verstak-firefox-2.0.2.xpi', + version: '2.0.3', + update_link: 'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.3/verstak-firefox-2.0.3.xpi', }], }, }, @@ -246,7 +246,7 @@ Rewrite the Firefox Release README section so it documents: - `VERSTAK_BROWSER_ENV=/path/to/.env npm run publish:firefox`; - that signing remains unlisted with Mozilla but distribution and automatic updates use GitHub Release assets; -- that the first `v2.0.2` publish bootstraps the `latest/download/updates.json` +- that the first `v2.0.3` publish bootstraps the `latest/download/updates.json` endpoint. - [ ] **Step 4: Run checks without publishing** @@ -275,12 +275,12 @@ git push origin main ### Task 4: Bootstrap and verify the first public update release **Files:** -- Generated: `release/firefox/verstak-firefox-2.0.2.xpi` (untracked) +- Generated: `release/firefox/verstak-firefox-2.0.3.xpi` (untracked) - Generated: `release/firefox/updates.json` (untracked) **Interfaces:** - Consumes the Task 3 `npm run publish:firefox` command and valid AMO signing credentials. -- Produces GitHub Release tag `v2.0.2` and public XPI/update-manifest assets. +- Produces GitHub Release tag `v2.0.3` and public XPI/update-manifest assets. - [ ] **Step 1: Verify release credentials before write operations** @@ -302,20 +302,20 @@ Run: npm run publish:firefox ``` -Expected: Mozilla signing succeeds, GitHub Release `v2.0.2` is latest, and it -contains `verstak-firefox-2.0.2.xpi` plus `updates.json`. +Expected: Mozilla signing succeeds, GitHub Release `v2.0.3` is latest, and it +contains `verstak-firefox-2.0.3.xpi` plus `updates.json`. - [ ] **Step 3: Verify public delivery** Run: ```bash -gh release view v2.0.2 --repo mirivlad/verstak-browser-extension --json isLatest,url,assets +gh release view v2.0.3 --repo mirivlad/verstak-browser-extension --json isLatest,url,assets curl -fsSL https://github.com/mirivlad/verstak-browser-extension/releases/latest/download/updates.json ``` Expected: the release is latest and the JSON contains addon ID -`verstak-bridge@verstak.app`, version `2.0.2`, and the versioned GitHub XPI +`verstak-bridge@verstak.app`, version `2.0.3`, and the versioned GitHub XPI asset URL. - [ ] **Step 4: Record release verification without committing assets** diff --git a/docs/superpowers/specs/2026-07-12-github-firefox-updates-design.md b/docs/superpowers/specs/2026-07-12-github-firefox-updates-design.md index 7654cbb..9b99a49 100644 --- a/docs/superpowers/specs/2026-07-12-github-firefox-updates-design.md +++ b/docs/superpowers/specs/2026-07-12-github-firefox-updates-design.md @@ -22,10 +22,10 @@ Each release uploads two assets: - `updates.json`, whose `update_link` points to that same release tag's XPI asset. -For version `2.0.2`, the versioned link is: +For version `2.0.3`, the versioned link is: ```text -https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.2/verstak-firefox-2.0.2.xpi +https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.3/verstak-firefox-2.0.3.xpi ``` The stable `latest/download` endpoint lets already installed extensions discover @@ -46,10 +46,10 @@ endpoint. ## Bootstrap There is currently no GitHub Release in this repository. After the code change, -the first `v2.0.2` signed release must be published before shipping a manifest +the first `v2.0.3` signed release must be published before shipping a manifest that points to `latest/download/updates.json`; until then that URL is a 404. The current package, Chromium manifest and Firefox manifest all use version -`2.0.2`, so the initial tag and XPI asset name are unambiguous. +`2.0.3`, so the initial tag and XPI asset name are unambiguous. ## Documentation diff --git a/firefox/manifest.json b/firefox/manifest.json index ddd0122..46cd9fa 100644 --- a/firefox/manifest.json +++ b/firefox/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "Verstak Bridge", - "version": "2.0.2", + "version": "2.0.3", "description": "Send pages, selections, links, and files to the local Verstak browser inbox.", "author": "Verstak", "homepage_url": "https://github.com/mirivlad/verstak-browser-extension", diff --git a/package-lock.json b/package-lock.json index 255a857..f298d4b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "verstak-browser-extension", - "version": "2.0.2", + "version": "2.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "verstak-browser-extension", - "version": "2.0.2", + "version": "2.0.3", "devDependencies": { "web-ext": "^8.3.0" } diff --git a/package.json b/package.json index 59399fe..1f7ccce 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "verstak-browser-extension", - "version": "2.0.2", + "version": "2.0.3", "private": true, "description": "Verstak browser capture extension for Chromium and Firefox", "license": "AGPL-3.0-or-later", diff --git a/scripts/test-firefox-github-release.js b/scripts/test-firefox-github-release.js index 412c469..83d622e 100644 --- a/scripts/test-firefox-github-release.js +++ b/scripts/test-firefox-github-release.js @@ -2,27 +2,32 @@ const assert = require('assert'); const fs = require('fs'); const release = require('./firefox-github-release'); +const packageManifest = require('../package.json'); +const chromiumManifest = require('../chromium/manifest.json'); +const firefoxManifest = require('../firefox/manifest.json'); -const version = '2.0.2'; -const asset = 'verstak-firefox-2.0.2.xpi'; +const version = '2.0.3'; +const asset = 'verstak-firefox-2.0.3.xpi'; -assert.equal(release.releaseTag(version), 'v2.0.2'); +assert.equal(packageManifest.version, version); +assert.equal(chromiumManifest.version, version); +assert.equal(firefoxManifest.version, version); +assert.equal(release.releaseTag(version), 'v2.0.3'); assert.equal( release.releaseAssetURL(version, asset), - 'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.2/verstak-firefox-2.0.2.xpi', + 'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.3/verstak-firefox-2.0.3.xpi', ); assert.deepEqual(release.updateManifest('verstak-bridge@verstak.app', version, asset), { addons: { 'verstak-bridge@verstak.app': { updates: [{ - version: '2.0.2', - update_link: 'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.2/verstak-firefox-2.0.2.xpi', + version: '2.0.3', + update_link: 'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.3/verstak-firefox-2.0.3.xpi', }], }, }, }); -const firefoxManifest = require('../firefox/manifest.json'); assert.equal(firefoxManifest.homepage_url, 'https://github.com/mirivlad/verstak-browser-extension'); assert.equal( firefoxManifest.browser_specific_settings.gecko.update_url,