4.6 KiB
4.6 KiB
Changelog
0.4.0
Added
- Added the unified Toolbox top bar with a centered app title, standard Help and Gitea source controls, Personalize, and Apps switching.
- Added persistent System, Light, and Dark appearance choices shared with the Toolbox Portal.
- Added a real dark CodeMirror configuration with dark editor surfaces, gutters, active lines, and syntax highlighting.
Changed
- Upgraded Toolbox Contract, React Shell, and Testkit dependencies to 0.2.0.
- Replaced the app-specific Help and Source actions with the shared shell controls and manifest repository fallback.
- Converted workbench controls, cards, diagnostics, dialogs, tables, and editor chrome to semantic theme variables.
0.3.2
Added
- Added a typed Toolbox Contract v1 application definition and generated
toolbox-app.jsonmanifest. - Added the shared React application shell while retaining the XSLT-specific Help action.
- Added standalone and toolbox-mode integration coverage, including nested-path static deployment checks.
- Added deterministic, cross-time-zone release ZIP and SHA-256 generation with complete production dependency licence files.
- Added a session-only SHA-256/revision trust gate that disables both transformation engines until the exact stylesheet is reviewed and confirmed.
- Added conservative transformation input/output limits and a best-effort asynchronous deadline.
- Added a prominent Source action and corresponding-source notice for the 0.3.2 tag.
Changed
- Made Vite build assets relocatable with a relative deployment base.
- Resolved the lazily loaded SaxonJS runtime relative to the deployed application path.
- Documented that the vendored SaxonJS 2.7 browser distribution is free to use under separate, non-open-source terms and is not part of the application's AGPL licensing.
- Classified stylesheet processing conservatively and documented that executable stylesheets may access browser or network resources.
- Documented that trusted SaxonJS can access same-site Toolbox data, send data over the network, or navigate away; the recommended portal CSP is defense in depth rather than containment.
- Switched Toolbox SDK dependencies from local workspace links to the public token-free package registry.
- Release packaging now refuses to overwrite same-version artifacts unless
--forceis explicit.
0.3.1
Added
- Added global keyboard shortcut
Shift + Enterto apply the current transformation. - Added global keyboard shortcut
F1to open the help dialog. - Added shortcut hints for transformation and help actions.
Changed
- Bumped application version to
0.3.1.
0.3.0
Added
- Added browser-side SaxonJS dynamic compilation support.
- Added support for raw XSLT 1.0, 2.0, and 3.0 transformations through the SaxonJS dynamic engine.
- Added dynamic XSLT-to-SEF compilation in the browser using the full
SaxonJS2.jsbrowser artifact. - Added lazy loading for the SaxonJS browser compiler/runtime.
- Added tests covering XSLT 1.0, XSLT 2.0, and XSLT 3.0 transformation scenarios.
- Added project quality commands for type checking, linting, formatting, testing, building, and combined checks.
Changed
- Made
saxon-js-dynamicthe primary SaxonJS-based engine for raw XML + raw XSLT workflows. - Removed the earlier failed npm-bundled SaxonJS approach.
- Removed the SEF-only SaxonJS placeholder from the main workflow.
- Excluded vendored SaxonJS files from linting and formatting.
- Cleaned up debug-only code and unused declarations.
- Improved transformation engine registry and test coverage.
Fixed
- Fixed SaxonJS browser integration by using the full
SaxonJS2.jsartifact instead ofSaxonJS2.rt.js. - Fixed dynamic compiler setup by providing a synthetic stylesheet base URI.
- Fixed SaxonJS static parameter handling by passing an
XdmMapinstead of a plain JavaScript object. - Fixed browser compiler result extraction by reading
checkedOptions.principalResult. - Removed duplicate XML output replacement after transformations.
0.2.0
- Added SaxonJS 2.7 as the default transformation engine.
- Added lazy loading for the SaxonJS runtime so it is split into a separate build chunk.
- Kept the native browser
XSLTProcessorengine as selectable fallback. - Switched the default example stylesheet to XSLT 3.0 and added an
upper-case()example. - Added a SaxonJS transformation test.
- Updated README with SaxonJS runtime and licensing notes.
0.1.0
- Initial browser-only XSLT tools MVP.
- Added three-panel XML/XSLT/output workbench.
- Added native browser XSLTProcessor engine.
- Added LocalStorage persistence, file open/save, overwrite confirmations, snippets, validation, and approximate explain table.