Changelog
Notable changes, starting with 1.0.0. Historical dates follow Git tags.
The latest five releases are detailed below. Older releases have one-line summaries linking to their full notes in the archive.
2.4.1 — 2026-10-14
Fixed
- Made the playground self-host its browser package build so deployed behavior always matches the repository commit without CDN version lag.
- Preserved valid empty string values when the generated UI form refreshes its testing payload.
- Made local playground network labels and test fixtures provider-neutral.
2.4.0 — 2026-10-14
Added
- Added opt-in
render(values, { passthrough: true })support for retaining unused JSON variables on object-shaped payloads, including a playground control.
2.3.1 — 2026-10-14
Documentation
- Added a browser playground with headless JSON and interaction-driven UI flows, syntax highlighting, autoformatting, inline feedback, and a dependency-free local preview server.
2.3.0 — 2026-10-13
Added
- Consumer-defined
@ interactionhints are preserved as opaqueinteractionstrings in variable contracts without changing rendering or validation.
2.2.7 — 2026-10-13
Documentation
- Added a form-oriented static-values example covering mandatory and optional single and multiple values.
- Changed releases to use a guarded release branch and PR before tag-only publication from
main, with actionable GitHub, npm login, registry, and Pages recovery checks.
Older releases
- 2.2.6 — 2026-10-13 — Static allowed-value domains for required scalars (
string in [black, white]) and constrained arrays (string[black, white]), including runtime validation, extractedallowedValues, highlighting tokens, TypeScript support, and documentation. - 2.2.5 — 2026-10-01 — style: emojis in examples
- 2.2.4 — 2026-10-01 — style: better example page layout
- 2.2.3 — 2026-09-29 — style: page width another try
- 2.2.2 — 2026-09-29 — style: improved example design
- 2.2.1 — 2026-09-29 — docs: examples updated
- 2.2.0 — 2026-09-28 — Breaking: bare function arguments now reference evaluated template properties. Prefix arguments with
$.to retain original render-input semantics; mixed sources are supported. - 2.1.1 — 2026-09-28 — docs: plugins sorted
- 2.1.0 — 2026-09-28 — Add typed synchronous plugin functions with original-input arguments, including
date.interval, and thedate.msToHourstransformer. - 2.0.5 — 2026-09-27 — feat: style namespace
- 2.0.4 — 2026-09-27 — feat: text plugin
- 2.0.3 — 2026-09-27 — refactor: plugin namespaces file separation
- 2.0.2 — 2026-09-27 — Rename
PayloadTemplate.compile()toPayloadTemplate.variables(). The returned variable contracts and copy semantics are unchanged; compilation remains in the constructor. - 2.0.1 — 2026-09-27 — Correct the missed public API rename intended for 2.0.0: replace
PayloadTemplate.extractVariables()withPayloadTemplate.compile(). The return type and behavior remain unchanged. - 2.0.0 — 2026-09-27 — Replaced @ with ! for mandatory validation.
- 1.4.1 — 2026-09-26 — docs: plugins examples
- 1.4.0 — 2026-09-26 — Require
namespace.operationfor built-in and custom operations. Built-ins now usedate.dateonly,date.isodatetime,email.email,email.domain,collection.unique, andcollection.range; bare names are invalid syntax. - 1.3.0 — 2026-09-26 — Built-in validators and transformers are always available, regardless of
pluginsconfiguration. - 1.2.2 — 2026-09-26 — chore: add integration tests message
- 1.2.1 — 2026-09-26 — chore: simplified release and changelog
- 1.2.0 — 2026-09-26 — Add pluggable validators (
@) and type-preserving transformers (>), with date, email, and collection built-ins, member/collection scopes, and unchanged fallback behavior. - 1.1.8 — 2026-09-25 — Improved releasing notes logic
- 1.1.7 — 2026-09-25 — Hide the empty Unreleased heading on the documentation site.
- 1.1.6 — 2026-09-25 — Remove internal review markers from changelogs before release while preserving safe publication retries.
- 1.1.5 — 2026-09-25 — Releases explicitly deploy GitHub Pages and verify the deployed commit, preventing outdated documentation after a version bump.
- 1.1.4 — 2026-09-25 — Package version below the documentation homepage title, updated automatically on version bumps.
- 1.1.3 — 2026-09-25 — Generate the documentation homepage from README with a Pages-only Guides list and GitHub source link.
- 1.1.2 — 2026-09-25 — Clarify that templates are defined as data, with a comparison to schema validation and JSON templating tools.
- 1.1.1 — 2026-09-23 — CommonJS support alongside ES modules, with matching TypeScript declarations.
- 1.1.0 — 2026-09-23 —
tokenizePayloadExpression()for syntax highlighting, including token kinds and character offsets. - 1.0.2 — 2026-09-23 — Exported
isJsonValuetype guard. - 1.0.1 — 2026-09-22 — Require a clean working tree on
mainfor version bumps and npm publication. - 1.0.0 — 2026-09-22 — Breaking: Replace standalone extraction and rendering functions with
PayloadTemplate. Construct a template, then useextractVariables()andrender().