# Changelog ## Unreleased ## 0.3.0 — 2026-07-27 - Add a self-hosted Pyodide 314.0.3 worker containing CPython 3.14.2 `re`, with runtime identity verification, bounded compilation/matching/replacement and exact code-point-to-editor-UTF-16 range normalization. - Add TeaVM 0.15.0's `java.util.regex` class-library implementation as a verified self-hosted ES module, with bounded `Pattern`/`Matcher` execution, native replacement and exact UTF-16 ranges. - Identify the Java engine as TeaVM class-library code rather than OpenJDK and report its documented `UNICODE_CHARACTER_CLASS`, single-digit replacement and unavailable named-replacement compatibility boundaries. - Add partial application-owned Python and Java lexical syntax and replacement providers while keeping the selected runtime compiler authoritative. - Separate heavyweight engine loading from the per-request execution deadline, retain worker recovery after timeout/crash/cancellation and keep every runtime local to the release. - Add flavour-specific quick reference and capability content for all four executable engines. - Keep comparison, generated cases, code generation, minimization, analysis and formatting behind their explicitly verified ECMAScript/PCRE2 boundaries; Python and Java are never routed through another flavour as a fallback. - Extend deterministic engine-pack provenance, checksums, licence notices, release verification and nested-path delivery checks to the Python and Java runtime assets. ## 0.2.0 — 2026-07-27 - Open Quick reference and Capabilities as populated, accessible in-viewport dialogs with keyboard dismissal, focus handling and explicit empty states. - Add flavour-neutral version, flag, option and execution-worker registries and expose only the ECMAScript and fully wired PCRE2 runtimes. - Validate flavour/version/options consistently across workbench requests, projects and test suites, including legacy schema-v1 identities. - Add a production local-first Corpus / Apply workspace with bounded UTF-8 multi-file and pasted-text input, sequential killable worker jobs, progress, cancellation, explicit whole-document/independent-line semantics, preserved line separators, bounded capture extraction and replacement previews, per-document exact/partial summaries, content-free JSON/CSV/NDJSON reports and privacy-gated exact-output downloads and bounded ZIP export. - Keep corpus content and results ephemeral: project schema v1 stores only the selected workspace mode and rejects injected corpus payloads. - Add a deterministic, offline PCRE2 10.47 WebAssembly runtime with pinned source/toolchain identities, provenance, licences and checksums. - Add bounded PCRE2 compile, match and native-substitution ABI calls with match/depth/heap caps, copied caller-owned records, cleanup on every exit, UTF-8-to-UTF-16 range normalization and lone-surrogate rejection. - Run PCRE2 in a dedicated killable/recoverable worker, expose its real flavour-specific flags and options, and add lexical syntax/replacement coverage, official quick reference, conformance and browser tests. - Add an ABI-v3 PCRE2 automatic-callout operation with caller-owned event and mark buffers, dual event/byte caps, native truncation stop, exact UTF-8 and UTF-16 positions, a separate killable worker and a bounded viewer that keeps reported fields distinct from derived movement labels. - Add ECMAScript-scoped advisory static risk diagnostics plus cancellable bounded growth probes and cold/warm native-engine benchmarks with median/p95, separate timing/outcome plots, runtime identity and strict input/output/wall limits. - Add an ECMAScript/PCRE2 comparison orchestrator with exact per-side requests, independent worker timeout outcomes, normalized-range match/capture alignment, replacement differences and explicit non-comparable states. - Add a reviewed PCRE2 10.47 8-bit C17 generator with exact UTF-8 byte arrays, native/host limits, error handling, deterministic source identities and compile/execute golden gates against the named toolchain. - Add deterministic, cancellable failing-subject minimization for saved-test failures, capture ranges, exact engine timeouts and ECMAScript/PCRE2 mismatches, with real-worker verification, explicit budgets and honest transform-local minimality. - Add deterministic, seed-addressed ECMAScript positive/negative case generation from the normalized AST, with bounded synthesis, actual-engine verification, explicit unsupported coverage, cancellable workers and provenance-preserving unit-test integration. - Add an idempotent grammar-backed ECMAScript literal/control formatter with an exact preview, separate source/candidate syntax and engine workers, capture shape checks, applicable unit-test replay, explicit inconclusive states and a mandatory confirmation before apply. ## 0.1.0 — 2026-07-24 - Added the open-source ECMAScript 2025 syntax provider using regexpp 4.12.2. - Added native browser `RegExp` execution in a killable, recoverable worker. - Added deterministic explanation and actual extraction trees. - Added exact capture indices, synchronized highlighting and bounded captures. - Added replacement, list/extraction and unit-test workspaces. - Added project import/export, optional local persistence and privacy controls. - Added resource limits, real timeout termination and recovery tests. - Added Toolbox SDK integration and deterministic release packaging.