Changelog
Release history for Wit. The format follows Keep a Changelog and is driven by Changesets; pre-1.0, the version stays in the 0.x range and breaking changes are allowed with notes.
0.2.1
A bug-fix release. wit --version reports 0.2.1.
Fixed
- Collection index access now resolves. Reaching into a
collection by number —
@findings.0.claim,@list.1, and nested@r.items.1— previously rendered as an unresolved marker. Numeric indexing now works in prose, conditionals, and iteration access; an out-of-range or non-numeric index degrades gracefully instead of throwing.
Changed
- Package
repository/homepage/bugsURLs now point atgithub.com/PurpleReverie/witlang(repo renamed; the@witlang/*npm names are unchanged).
0.2.0
wit --version reports 0.2.0, matching the published
packages.
Language features
- Literal and frozen raw nodes (
@@name … @@,@@@name … @@@) with{{path}}interpolation inside raw-node bodies. - A styled render target and a Word/Docs-style default theme.
- External data: the
@loadnode pulls a JSON/CSV/TSV/lines/text result from a configured program (wit.sources.json) into a def. @table |rows @data|— build a table from a referenced data collection.- Image sizing and placement (
,) plus invisible@row/@collayout containers. - Core vocabulary grew to 52 names (adds
div,span,cite,row,col). - Typed parameters and iterable captures; emphasis and escape fixes — a
backslash now escapes
@,#,|, and the emphasis marks in prose.
Tooling
wit fmt— re-indents a document to match its nesting without changing structure.- HTML-like indentation and PDF output (with a
<base href>so relative assets resolve).
0.1.0 — initial public release
The first public release, which reported 0.1.0.
Packages
- parser — lexer and parser producing a typed AST.
- runtime — resolver and expander.
- render-html — the HTML renderer.
- render-markdown — the Markdown renderer.
- cli — the
witcommand: parse, check, fmt, build, and tour.
Language features
- Nodes, definitions, additive partials, records, and collections.
- Data access, conditionals, iteration, and the script bridge.
- The reserved core vocabulary — headings, inline marks, lists, links and media, tables, blocks, and sectioning; see the core vocabulary reference for the full list.
- Tables in inline, schema-array, and schema-record forms.
- The opaque
@nodepass-through. - The form-fill body shape and record-argument invocation.
See also
Roadmapcovers what is planned next; Install includes the version smoke test.