From 2045ffbff8bd65b3eb92822d213c4f4b5a15186c Mon Sep 17 00:00:00 2001 From: sudacode Date: Sun, 15 Mar 2026 20:16:36 -0700 Subject: [PATCH] chore: prepare v0.6.3 release --- CHANGELOG.md | 9 +++++++++ .../2026-03-13-scrum-master-handoff-checks.md | 4 ---- changes/2026-03-14-aur-release-sync.md | 4 ---- changes/controller-inline-remap.md | 4 ---- changes/yomitan-external-profile-read-only.md | 4 ---- docs-site/changelog.md | 6 +++++- docs-site/docs-sync.test.ts | 11 +++++++++++ package.json | 2 +- release/release-notes.md | 19 +++++++++++++++++++ 9 files changed, 45 insertions(+), 18 deletions(-) delete mode 100644 changes/2026-03-13-scrum-master-handoff-checks.md delete mode 100644 changes/2026-03-14-aur-release-sync.md delete mode 100644 changes/controller-inline-remap.md delete mode 100644 changes/yomitan-external-profile-read-only.md create mode 100644 release/release-notes.md diff --git a/CHANGELOG.md b/CHANGELOG.md index eb775c8..366b3a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## v0.6.3 (2026-03-15) + +### Changed +- Overlay: Expanded the `Alt+C` controller modal into an inline config/remap flow with preferred-controller saving and per-action learn mode for buttons, triggers, and stick directions. + +### Internal +- Workflow: Hardened the `subminer-scrum-master` skill to explicitly answer whether docs updates and changelog fragments are required before handoff. +- Release: Automate `subminer-bin` AUR package updates from the tagged release workflow. + ## v0.6.2 (2026-03-12) ### Changed diff --git a/changes/2026-03-13-scrum-master-handoff-checks.md b/changes/2026-03-13-scrum-master-handoff-checks.md deleted file mode 100644 index bd67575..0000000 --- a/changes/2026-03-13-scrum-master-handoff-checks.md +++ /dev/null @@ -1,4 +0,0 @@ -type: internal -area: workflow - -- Hardened the `subminer-scrum-master` skill to explicitly answer whether docs updates and changelog fragments are required before handoff. diff --git a/changes/2026-03-14-aur-release-sync.md b/changes/2026-03-14-aur-release-sync.md deleted file mode 100644 index 9072580..0000000 --- a/changes/2026-03-14-aur-release-sync.md +++ /dev/null @@ -1,4 +0,0 @@ -type: internal -area: release - -- Automate `subminer-bin` AUR package updates from the tagged release workflow. diff --git a/changes/controller-inline-remap.md b/changes/controller-inline-remap.md deleted file mode 100644 index b3f79ba..0000000 --- a/changes/controller-inline-remap.md +++ /dev/null @@ -1,4 +0,0 @@ -type: changed -area: overlay - -- Expanded the `Alt+C` controller modal into an inline config/remap flow with preferred-controller saving and per-action learn mode for buttons, triggers, and stick directions. diff --git a/changes/yomitan-external-profile-read-only.md b/changes/yomitan-external-profile-read-only.md deleted file mode 100644 index 90743bf..0000000 --- a/changes/yomitan-external-profile-read-only.md +++ /dev/null @@ -1,4 +0,0 @@ -type: changed -area: yomitan - -- Added external-profile mode support that keeps Yomitan dictionaries shared while hardening read-only runtime behavior and first-run setup handling. diff --git a/docs-site/changelog.md b/docs-site/changelog.md index cca52a4..169f364 100644 --- a/docs-site/changelog.md +++ b/docs-site/changelog.md @@ -1,5 +1,9 @@ # Changelog +## v0.6.3 (2026-03-15) +- Expanded `Alt+C` into an inline controller config/remap flow with preferred-controller saving and per-action learn mode for buttons, triggers, and stick directions. +- Automated `subminer-bin` AUR package updates from the tagged release workflow. + ## v0.6.2 (2026-03-12) - Added `yomitan.externalProfilePath` so SubMiner can reuse another Electron app's Yomitan profile in read-only mode. - Reused external Yomitan dictionaries/settings without writing back to that profile. @@ -7,7 +11,7 @@ - Seeded `config.jsonc` even when the default config directory already exists. - Let first-run setup complete without internal dictionaries while external Yomitan is configured, then require an internal dictionary again only if that external profile is later removed. -## v0.6.0 (2026-03-12) +## v0.6.1 (2026-03-12) - Added Chrome Gamepad API controller support for keyboard-only overlay mode. - Added configurable controller bindings for lookup, mining, popup navigation, Yomitan audio, mpv pause, and d-pad fallback navigation. - Added smooth, slower popup scrolling for controller navigation. diff --git a/docs-site/docs-sync.test.ts b/docs-site/docs-sync.test.ts index e38976d..a83f153 100644 --- a/docs-site/docs-sync.test.ts +++ b/docs-site/docs-sync.test.ts @@ -1,6 +1,7 @@ import { expect, test } from 'bun:test'; import { readFileSync } from 'node:fs'; +const rootChangelogContents = readFileSync(new URL('../CHANGELOG.md', import.meta.url), 'utf8'); const readmeContents = readFileSync(new URL('./README.md', import.meta.url), 'utf8'); const usageContents = readFileSync(new URL('./usage.md', import.meta.url), 'utf8'); const installationContents = readFileSync(new URL('./installation.md', import.meta.url), 'utf8'); @@ -10,6 +11,12 @@ const changelogContents = readFileSync(new URL('./changelog.md', import.meta.url const ankiIntegrationContents = readFileSync(new URL('./anki-integration.md', import.meta.url), 'utf8'); const configurationContents = readFileSync(new URL('./configuration.md', import.meta.url), 'utf8'); +function extractReleaseHeadings(content: string, count: number): string[] { + return Array.from(content.matchAll(/^## v[^\n]+$/gm)) + .map(([heading]) => heading) + .slice(0, count); +} + test('docs reflect current launcher and release surfaces', () => { expect(usageContents).not.toContain('--mode preprocess'); expect(usageContents).not.toContain('"automatic" (default)'); @@ -37,3 +44,7 @@ test('docs reflect current launcher and release surfaces', () => { expect(changelogContents).toContain('## v0.5.1 (2026-03-09)'); }); + +test('docs changelog keeps the newest release headings aligned with the root changelog', () => { + expect(extractReleaseHeadings(changelogContents, 3)).toEqual(extractReleaseHeadings(rootChangelogContents, 3)); +}); diff --git a/package.json b/package.json index 60428fb..0d898ba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "subminer", - "version": "0.6.2", + "version": "0.6.3", "description": "All-in-one sentence mining overlay with AnkiConnect and dictionary integration", "packageManager": "bun@1.3.5", "main": "dist/main-entry.js", diff --git a/release/release-notes.md b/release/release-notes.md new file mode 100644 index 0000000..6b3f6ec --- /dev/null +++ b/release/release-notes.md @@ -0,0 +1,19 @@ +## Highlights +### Changed +- Overlay: Expanded the `Alt+C` controller modal into an inline config/remap flow with preferred-controller saving and per-action learn mode for buttons, triggers, and stick directions. + +### Internal +- Workflow: Hardened the `subminer-scrum-master` skill to explicitly answer whether docs updates and changelog fragments are required before handoff. +- Release: Automate `subminer-bin` AUR package updates from the tagged release workflow. + +## Installation + +See the README and docs/installation guide for full setup steps. + +## Assets + +- Linux: `SubMiner.AppImage` +- macOS: `SubMiner-*.dmg` and `SubMiner-*.zip` +- Optional extras: `subminer-assets.tar.gz` and the `subminer` launcher + +Note: the `subminer` wrapper script uses Bun (`#!/usr/bin/env bun`), so `bun` must be installed and on `PATH`.