Files
xslt-tools/CHANGELOG.md

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.json manifest.
  • 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 --force is explicit.

0.3.1

Added

  • Added global keyboard shortcut Shift + Enter to apply the current transformation.
  • Added global keyboard shortcut F1 to 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.js browser 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-dynamic the 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.js artifact instead of SaxonJS2.rt.js.
  • Fixed dynamic compiler setup by providing a synthetic stylesheet base URI.
  • Fixed SaxonJS static parameter handling by passing an XdmMap instead 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 XSLTProcessor engine 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.