Releases: DeepBlueCLtd/GramFrame
Release list
GramFrame v0.1.13
🔄 Release v0.1.13
📦 What's Included
- GramFrame Component: Complete standalone bundle (
gramframe.bundle.js) - Test Page: Ready-to-use HTML sample (
index.html) - Mock Spectrogram: Test image for verification
- Documentation: Usage guide and examples
🚀 Quick Start
- Download and extract the release archive
- Double-click
index.htmlfrom your file explorer - Component loads automatically - no web server required!
📋 Changes Since v0.1.12
-
chore(release): bump version to 0.1.13 (018cbc4)
-
Merge pull request #181 from DeepBlueCLtd/claude/gramframe-version-detection-vk60qc (43d13b0)
-
fix: single version source of truth + embed version in demo/preview builds (1d6cb7c)
-
feat: surface GramFrame version as Pan button tooltip (3cf3708)
🔗 Full Changelog
Compare changes:
v0.1.12...v0.1.13
GramFrame v0.1.12
🔄 Release v0.1.12
📦 What's Included
- GramFrame Component: Complete standalone bundle (
gramframe.bundle.js) - Test Page: Ready-to-use HTML sample (
index.html) - Mock Spectrogram: Test image for verification
- Documentation: Usage guide and examples
🚀 Quick Start
- Download and extract the release archive
- Double-click
index.htmlfrom your file explorer - Component loads automatically - no web server required!
📋 Changes Since v0.1.11
-
chore(release): bump version to 0.1.12 (fe2e2a5)
-
Merge pull request #180 from DeepBlueCLtd/claude/clear-gram-annotation-sync-lbf9m4 (2c98d3a)
-
fix: refresh markers/harmonics tables when clearing gram (b02d02e)
🔗 Full Changelog
Compare changes:
v0.1.11...v0.1.12
GramFrame v0.1.11
GramFrame v0.1.11
A small but meaningful release: instructor (persistent-storage) pages can now be flagged in ways that survive DITA-OT and Oxygen WebHelp builds, and CI now runs the test, type-check and build pipeline on every PR.
✨ Features
- DITA-friendly trainer-context detection (b08f320)
detectUserContext()now recognisesclass="gf-persistent"and[data-gf-persistent]in addition to the existingid="gf-persistent".- Why this matters: DITA-OT / Oxygen WebHelp topic-scope and uniquify every
@idin their HTML output, so an authoredid="gf-persistent"is rewritten per-page and never matches — meaning instructor pages were silently falling back to ephemeralsessionStorageinstead of persistentlocalStorage.@outputclassis passed through to@classverbatim and is never mangled (the same mechanism already used fortable.gram-config), so.gf-persistentis reliably emittable from DITA and stable on every page. - New
TRAINER_FLAG_SELECTORexport ('#gf-persistent, .gf-persistent, [data-gf-persistent]') for downstream use. - Full backward compatibility: the original
id="gf-persistent"andANALYSISanchor heuristic still work. - Documented in
docs/HTML-Integration-Guide.md, including the DITA-OT id-mangling rationale.
🧪 CI / Tooling
- Playwright suite now runs in CI (6a97d60) — a new
Testsworkflow installs deps, installs Chromium, and runsyarn teston everypull_requestand on push tomain. Previously CI only built preview/release bundles and never executed tests, so regressions could merge unverified. - Type-check and build added to CI (749da18) — the
Testsworkflow now also runsyarn typecheck(tsc --noEmit, pinned TypeScript 5.8.3) andyarn build, catching type regressions and build breakages at PR time. - New unit tests (
tests/detect-user-context.spec.js) plus an e2e test + fixture covering the.gf-persistent→localStoragepath.
🔧 Upgrade Notes
- Drop-in replacement for
v0.1.10— no breaking changes. - DITA / Oxygen WebHelp authors: switch instructor-page markers from
id="gf-persistent"tooutputclass="gf-persistent"(renders asclass="gf-persistent") for reliable detection across topic-scoped output.
📦 What's Included
gramframe.bundle.js— complete standalone bundle (file:// compatible)index.html— sample page demonstrating usagemock-gram.png— test spectrogram imageREADME.md— quick-start guide
🚀 Quick Start
- Download and extract the release archive
- Double-click
index.htmlfrom your file explorer - Component loads automatically — no web server required
🔗 Full Changelog
GramFrame v0.1.10
🔄 Release v0.1.10
📦 What's Included
- GramFrame Component: Complete standalone bundle (
gramframe.bundle.js) - Test Page: Ready-to-use HTML sample (
index.html) - Mock Spectrogram: Test image for verification
- Documentation: Usage guide and examples
🚀 Quick Start
- Download and extract the release archive
- Double-click
index.htmlfrom your file explorer - Component loads automatically - no web server required!
📋 Changes Since v0.1.9
-
Merge pull request #176 from DeepBlueCLtd/claude/sleepy-wozniak-l2v3bp (3f5d7bc)
-
chore: bump version to 0.1.10 (ec8e73a)
-
Merge pull request #175 from DeepBlueCLtd/claude/jolly-goodall-u8l9n0 (4ed185d)
-
Document persistence model and add gf-persistent flag (e0022a6)
-
Merge pull request #174 from DeepBlueCLtd/claude/happy-mendel-fau00a (6256f81)
-
Restore annotations to control-panel tables on reload (189d634)
-
Merge pull request #173 from DeepBlueCLtd/claude/vigilant-heisenberg-6hpufk (6c63956)
-
feat(156): add expand image toggle for landscape grams (29d21a4)
-
feat(156): decouple rendered image size from natural size (foundational) (4362a25)
-
Merge pull request #172 from DeepBlueCLtd/claude/affectionate-euler-1a44hu (6f05929)
-
Add implementation plan for expand image toggle (#171) (45beede)
-
Merge pull request #168 from DeepBlueCLtd/claude/gramframe-docs-Dg1ED (6d48098)
-
Add product overview and technology overview documents (59e1578)
-
Merge pull request #167 from DeepBlueCLtd/claude/add-debug-trainer-ghpages-ZrpJH (8bcdf9f)
-
Add debug-trainer.html to gh-pages deployment (93dcbc6)
-
Merge pull request #166 from DeepBlueCLtd/claude/implement-browser-storage-5OnwT (0bec20e)
-
Add missing debug-trainer.html page (c622a08)
-
Merge pull request #164 from DeepBlueCLtd/claude/implement-browser-storage-5OnwT (a453d0d)
🔗 Full Changelog
Compare changes:
v0.1.9...v0.1.10
GramFrame v0.1.9
🔄 Release v0.1.9
📦 What's Included
- GramFrame Component: Complete standalone bundle (
gramframe.bundle.js) - Test Page: Ready-to-use HTML sample (
index.html) - Mock Spectrogram: Test image for verification
- Documentation: Usage guide and examples
🚀 Quick Start
- Download and extract the release archive
- Double-click
index.htmlfrom your file explorer - Component loads automatically - no web server required!
📋 Changes Since v0.1.8
-
chore: bump version to 0.1.9 (508a592)
-
fix: allow Tab key navigation in forms when GramFrame not focused (81d0b40)
-
fix: add git pull and yarn install commands to permissions (5fe91e1)
-
fix: add packageManager field to package.json (25e3b57)
-
fix: update default speed of sound in calculateDopplerSpeed function (6cf5dc7)
-
fix: add navigation link in debug page (3a15dfb)
🔗 Full Changelog
Compare changes:
v0.1.8...v0.1.9
GramFrame v0.1.8
🔄 Release v0.1.8
📦 What's Included
- GramFrame Component: Complete standalone bundle (
gramframe.bundle.js) - Test Page: Ready-to-use HTML sample (
index.html) - Mock Spectrogram: Test image for verification
- Documentation: Usage guide and examples
🚀 Quick Start
- Download and extract the release archive
- Double-click
index.htmlfrom your file explorer - Component loads automatically - no web server required!
📋 Changes Since v0.1.7
-
chore: bump version to 0.1.8 (dbb0f38)
-
Merge pull request #155 from DeepBlueCLtd/153-shrink-large-images (e72c728)
-
chore: remove unused debug URLs from settings (31ec246)
-
test: clean up TypeScript diagnostics in image scaling tests (9e1876f)
-
feat: implement automatic image width scaling for large spectrograms (83cc60a)
-
feat: add margin-bottom to gram-frame container for improved spacing (91c45c6)
-
feat: update test release HTML title and add clarification note for CI usage (723d649)
-
feat: implement automatic image width scaling for spectrograms exceeding 1500 pixels (6d267b0)
-
feat: update GramFrame Instance 2 heading and add additional instance with large spectrogram (89de175)
-
introduce large image (b48c41b)
🔗 Full Changelog
Compare changes:
v0.1.7...v0.1.8
GramFrame v0.1.7
🔄 Release v0.1.7
📦 What's Included
- GramFrame Component: Complete standalone bundle (
gramframe.bundle.js) - Test Page: Ready-to-use HTML sample (
index.html) - Mock Spectrogram: Test image for verification
- Documentation: Usage guide and examples
🚀 Quick Start
- Download and extract the release archive
- Double-click
index.htmlfrom your file explorer - Component loads automatically - no web server required!
📋 Changes Since v0.1.6
-
chore: bump version to 0.1.7 (95316de)
-
feat: restore test release HTML file for GramFrame testing (77b678a)
🔗 Full Changelog
Compare changes:
v0.1.6...v0.1.7
GramFrame v0.1.5
🔄 Release v0.1.5
📦 What's Included
- GramFrame Component: Complete standalone bundle (
gramframe.bundle.js) - Test Page: Ready-to-use HTML sample (
index.html) - Mock Spectrogram: Test image for verification
- Documentation: Usage guide and examples
🚀 Quick Start
- Download and extract the release archive
- Double-click
index.htmlfrom your file explorer - Component loads automatically - no web server required!
📋 Changes Since v0.1.4
-
chore: bump version to 0.1.5 (746ce3d)
-
feat: add GramFrame availability check and port 5174 debug URLs (743fbc4)
-
Merge pull request #145 from DeepBlueCLtd/issue-132-final-refactor (a382e5b)
-
fix: resolve remaining merge conflicts and clean up state references (d7c4721)
-
feat: add comprehensive tests for keyboard focus behavior and basic functionality of GramFrame instances (17b10dc)
-
more fixes (9704736)
-
CG5 patches (a2de81c)
-
feat: enhance selection visuals to target instance container and auto-select harmonic set during drag (36ab831)
-
feat: update cursor behavior in Doppler mode and add interaction test page (a86db48)
-
refactor: remove debug console statements and update cursor handling for SVG elements feat: implement uniform tolerance for analysis markers and enhance crosshair interaction test: add cursor feedback test page for marker interaction validation (679db9f)
-
feat: implement mode-specific tolerance for analysis markers and enhance dragging usability tests (1e41776)
-
feat: add comprehensive tests for keyboard focus behavior and basic functionality of GramFrame instances (0c02ae7)
-
more fixes (962c19d)
-
CG5 patches (d79b467)
-
feat: enhance selection visuals to target instance container and auto-select harmonic set during drag (7a6fbeb)
-
feat: update cursor behavior in Doppler mode and add interaction test page (cf327a6)
-
refactor: remove debug console statements and update cursor handling for SVG elements feat: implement uniform tolerance for analysis markers and enhance crosshair interaction test: add cursor feedback test page for marker interaction validation (46844f1)
-
feat: implement mode-specific tolerance for analysis markers and enhance dragging usability tests (d65dd10)
-
re-implement test on push (aeee21b)
-
feat: add comprehensive tests for keyboard focus behavior and basic functionality of GramFrame instances (e84a520)
🔗 Full Changelog
Compare changes:
v0.1.4...v0.1.5
GramFrame v0.1.4
🔄 Release v0.1.4
📦 What's Included
- GramFrame Component: Complete standalone bundle (
gramframe.bundle.js) - Test Page: Ready-to-use HTML sample (
index.html) - Mock Spectrogram: Test image for verification
- Documentation: Usage guide and examples
🚀 Quick Start
- Download and extract the release archive
- Double-click
index.htmlfrom your file explorer - Component loads automatically - no web server required!
📋 Changes Since v0.1.3
-
chore: bump version to 0.1.4 (698f311)
-
feat: add git add package.json to allowed bash commands in claude settings (9fde924)
-
chore: switch release archive format from tar.gz to zip and add yamllint command (1b69bc2)
🔗 Full Changelog
Compare changes:
v0.1.3...v0.1.4
GramFrame v0.1.3
🔄 Release v0.1.3
📦 What's Included
- GramFrame Component: Complete standalone bundle (
gramframe.bundle.js) - Test Page: Ready-to-use HTML sample (
index.html) - Mock Spectrogram: Test image for verification
- Documentation: Usage guide and examples
🚀 Quick Start
- Download and extract the release archive
- Double-click
index.htmlfrom your file explorer - Component loads automatically - no web server required!
📋 Changes Since v0.1.2
-
chore: bump version to 0.1.3 (00cc9e4)
-
Merge pull request #120 from DeepBlueCLtd/118-keyboard-harmonics (b7928c6)
-
refactor: replace mode-based harmonic set updates with direct state mutation and UI refresh (387ed23)
-
Merge pull request #119 from DeepBlueCLtd/issue-88-refactor-large-files-improve-module-boundaries (ede50bf)
-
refactor: document unused parameters and add class property declarations (b08813f)
-
relax more perms (e22899e)
-
feat: add modes container and import BaseMode/FeatureRenderer dependencies (01fda57)
-
refactor: extract drag handling and initialization logic into modular components (phase c complete. some TS fixes required) (fb0bbd3)
-
Merge branch 'main' into issue-88-refactor-large-files-improve-module-boundaries (660403f)
-
refactor: extract coordinate transformations and simplify rendering logic (353528c)
-
add TAP (5948224)
-
Merge pull request #117 from DeepBlueCLtd/issue-85-decompose-main-js-monolithic-file (125be0e)
-
fix: add missing property declarations for UI column elements (dc981e3)
-
feat: extract viewport and UI components from main.js into dedicated modules (c79de04)
-
tap prompt (d99c939)
-
feat: allow git tag commands in Claude's command whitelist (d88f7b2)
🔗 Full Changelog
Compare changes:
v0.1.2...v0.1.3