mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-20 03:16:46 -07:00
chore: prepare v0.6.3 release
This commit is contained in:
@@ -1,5 +1,14 @@
|
|||||||
# Changelog
|
# 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)
|
## v0.6.2 (2026-03-12)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
@@ -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.
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
type: internal
|
|
||||||
area: release
|
|
||||||
|
|
||||||
- Automate `subminer-bin` AUR package updates from the tagged release workflow.
|
|
||||||
@@ -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.
|
|
||||||
@@ -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.
|
|
||||||
@@ -1,5 +1,9 @@
|
|||||||
# Changelog
|
# 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)
|
## v0.6.2 (2026-03-12)
|
||||||
- Added `yomitan.externalProfilePath` so SubMiner can reuse another Electron app's Yomitan profile in read-only mode.
|
- 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.
|
- 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.
|
- 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.
|
- 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 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 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.
|
- Added smooth, slower popup scrolling for controller navigation.
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { expect, test } from 'bun:test';
|
import { expect, test } from 'bun:test';
|
||||||
import { readFileSync } from 'node:fs';
|
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 readmeContents = readFileSync(new URL('./README.md', import.meta.url), 'utf8');
|
||||||
const usageContents = readFileSync(new URL('./usage.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');
|
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 ankiIntegrationContents = readFileSync(new URL('./anki-integration.md', import.meta.url), 'utf8');
|
||||||
const configurationContents = readFileSync(new URL('./configuration.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', () => {
|
test('docs reflect current launcher and release surfaces', () => {
|
||||||
expect(usageContents).not.toContain('--mode preprocess');
|
expect(usageContents).not.toContain('--mode preprocess');
|
||||||
expect(usageContents).not.toContain('"automatic" (default)');
|
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)');
|
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));
|
||||||
|
});
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "subminer",
|
"name": "subminer",
|
||||||
"version": "0.6.2",
|
"version": "0.6.3",
|
||||||
"description": "All-in-one sentence mining overlay with AnkiConnect and dictionary integration",
|
"description": "All-in-one sentence mining overlay with AnkiConnect and dictionary integration",
|
||||||
"packageManager": "bun@1.3.5",
|
"packageManager": "bun@1.3.5",
|
||||||
"main": "dist/main-entry.js",
|
"main": "dist/main-entry.js",
|
||||||
|
|||||||
19
release/release-notes.md
Normal file
19
release/release-notes.md
Normal file
@@ -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`.
|
||||||
Reference in New Issue
Block a user