# Changelog ## 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.