Changelog: tramaj-hs

On Fri, 25 Sep 2026, by @lucasdicioccio, 256 words, 0 code snippets, 0 links, 0images.

Changelog: tramaj-hs

Release history of tramaj-hs, the Haskell implementation, also the engine behind Kitchen-Sink’s templating sections. Releases happen when there are major changes rather than on a schedule; each entry below is one version. Every implementation has its own page like this one, and each page is tagged so the site builds one Atom feed per implementation: #changelog #haskell #tramaj-hs

tramaj-hs 0.3.0.0date not recorded

Implements v2 of the language: a rewrite of the semantic core, not an extension of it.

  • changed Documents are expressions: `Element` and `Fragment` are ordinary `Expr` constructors; the separate template-phase AST and `JsonProgram` are gone.
  • added `Tramaj.Node`, the normative interchange format, with an encoder and a strict decoder.
  • added `Tramaj.Analysis`: static import names, action keys, context holes, context reads and unsupplied params, with deep variants.
  • changed Imports take their parameters three ways (expression, `ctx(path)`, or later call); `partial-import` is gone.
  • changed `a <> b` concatenation, lazy `branch`, `adapt-actions`, `.(a, b)` fragments, string escapes, object shorthand, builtins as values.
  • fixed Malformed `action(...)`/`value(...)` in an element argument no longer backtracks into a meaningless `Call`; a backtick in a static string position is reported.

tramaj-hs 0.2.0.0date not recorded

Adds a JSON-producing mode for hosts that want the data half of the language on its own.

  • added `Tramaj.Ast.JsonProgram`, `Tramaj.Parser.parseJsonProgram` and `Tramaj.Eval.evalJsonProgram`.

tramaj-hs 0.1.0.0date not recorded

Initial release, extracted from the repository it was written in.

  • added Ports the PureScript package's `Tramaj.Ast` / `Tramaj.Parser` / `Tramaj.Eval` to megaparsec + aeson.