---
title: "Releases · tabnas"
description: "Every tabnas package, its current version, and where to find its source, npm package, and Go module."
source: "https://tabnas.dev/releases/"
---

# Releases

35 packages, most of them a grammar extending another grammar in this list. Each publishes to npm as `@tabnas/<name>`, and 33 of them to Go as `github.com/tabnas/<name>/go`. Each is released from its own repository, except `@tabnas/chess-view`, which the chess repository releases from `web/`.

Everything is pre-1.0. Minor versions can break things, and the engine version leads: grammar packages track the engine release they were built against. Per-repository CI and publish state is on the [org status page](https://tabnas.github.io/status/); release notes live on each repository's GitHub releases tab.

## Engine

| Package | Version | What it does | Links |
| --- | --- | --- | --- |
| `@tabnas/parser` | 0.12.9 | The engine: a pluggable, rule-based parsing machine and a uniform syntax tree. | [source](https://github.com/tabnas/parser) [npm](https://www.npmjs.com/package/@tabnas/parser) [go](https://pkg.go.dev/github.com/tabnas/parser/go) |

## Grammar tooling

| Package | Version | What it does | Links |
| --- | --- | --- | --- |
| `@tabnas/abnf` | 0.4.17 | Compile RFC 5234 ABNF straight into a working grammar. | [source](https://github.com/tabnas/abnf) [npm](https://www.npmjs.com/package/@tabnas/abnf) [go](https://pkg.go.dev/github.com/tabnas/abnf/go) |
| `@tabnas/bnf` | 0.1.25 | The shared BNF-family compiler behind abnf, ebnf, and gbnf. | [source](https://github.com/tabnas/bnf) [npm](https://www.npmjs.com/package/@tabnas/bnf) [go](https://pkg.go.dev/github.com/tabnas/bnf/go) |
| `@tabnas/ebnf` | 0.1.11 | Compile W3C EBNF, the notation the XML and XPath specifications use, into a working grammar. | [source](https://github.com/tabnas/ebnf) [npm](https://www.npmjs.com/package/@tabnas/ebnf) [go](https://pkg.go.dev/github.com/tabnas/ebnf/go) |
| `@tabnas/debug` | 0.3.10 | Inspect a live grammar: describe it, render it back as ABNF. | [source](https://github.com/tabnas/debug) [npm](https://www.npmjs.com/package/@tabnas/debug) [go](https://pkg.go.dev/github.com/tabnas/debug/go) |
| `@tabnas/railroad` | 0.3.9 | Render railroad (syntax) diagrams from a grammar. | [source](https://github.com/tabnas/railroad) [npm](https://www.npmjs.com/package/@tabnas/railroad) [go](https://pkg.go.dev/github.com/tabnas/railroad/go) |
| `@tabnas/support` | 0.3.6 | Shared .tsv fixture loaders and the error-code census helpers: the machinery behind every repo's two-runtime specs. | [source](https://github.com/tabnas/support) [npm](https://www.npmjs.com/package/@tabnas/support) [go](https://pkg.go.dev/github.com/tabnas/support/go) |

## Agent tooling

| Package | Version | What it does | Links |
| --- | --- | --- | --- |
| `@tabnas/mcp` | 0.1.17 | The MCP server and the unified tabnas CLI: the same seven operations from one core, listed in the MCP registry as dev.tabnas/mcp. | [source](https://github.com/tabnas/mcp) [npm](https://www.npmjs.com/package/@tabnas/mcp) |

## Languages and formats

| Package | Version | What it does | Links |
| --- | --- | --- | --- |
| `@tabnas/json` | 0.5.13 | Standard JSON. | [source](https://github.com/tabnas/json) [npm](https://www.npmjs.com/package/@tabnas/json) [go](https://pkg.go.dev/github.com/tabnas/json/go) |
| `@tabnas/jsonc` | 0.5.10 | JSON with comments. | [source](https://github.com/tabnas/jsonc) [npm](https://www.npmjs.com/package/@tabnas/jsonc) [go](https://pkg.go.dev/github.com/tabnas/jsonc/go) |
| `@tabnas/json5` | 0.5.11 | The JSON5 dialect. | [source](https://github.com/tabnas/json5) [npm](https://www.npmjs.com/package/@tabnas/json5) [go](https://pkg.go.dev/github.com/tabnas/json5/go) |
| `@tabnas/jsonl` | 0.1.12 | JSON Lines (NDJSON): one standard-JSON value per line. | [source](https://github.com/tabnas/jsonl) [npm](https://www.npmjs.com/package/@tabnas/jsonl) [go](https://pkg.go.dev/github.com/tabnas/jsonl/go) |
| `@tabnas/jsonic` | 0.7.4 | A dynamic JSON parser that isn't strict and can be customised. | [source](https://github.com/tabnas/jsonic) [npm](https://www.npmjs.com/package/@tabnas/jsonic) [go](https://pkg.go.dev/github.com/tabnas/jsonic/go) |
| `@tabnas/yaml` | 0.5.19 | YAML. | [source](https://github.com/tabnas/yaml) [npm](https://www.npmjs.com/package/@tabnas/yaml) [go](https://pkg.go.dev/github.com/tabnas/yaml/go) |
| `@tabnas/toml` | 0.5.12 | TOML. | [source](https://github.com/tabnas/toml) [npm](https://www.npmjs.com/package/@tabnas/toml) [go](https://pkg.go.dev/github.com/tabnas/toml/go) |
| `@tabnas/ini` | 0.5.14 | INI files. | [source](https://github.com/tabnas/ini) [npm](https://www.npmjs.com/package/@tabnas/ini) [go](https://pkg.go.dev/github.com/tabnas/ini/go) |
| `@tabnas/csv` | 0.6.2 | Delimited records (CSV, TSV, RFC 4180 quoting) into objects or arrays. | [source](https://github.com/tabnas/csv) [npm](https://www.npmjs.com/package/@tabnas/csv) [go](https://pkg.go.dev/github.com/tabnas/csv/go) |
| `@tabnas/xml` | 0.7.12 | XML. | [source](https://github.com/tabnas/xml) [npm](https://www.npmjs.com/package/@tabnas/xml) [go](https://pkg.go.dev/github.com/tabnas/xml/go) |
| `@tabnas/markdown` | 0.7.8 | Markdown: the full CommonMark spec, 652/652 on the reference suite. | [source](https://github.com/tabnas/markdown) [npm](https://www.npmjs.com/package/@tabnas/markdown) [go](https://pkg.go.dev/github.com/tabnas/markdown/go) |
| `@tabnas/css` | 0.5.10 | CSS, into an AST that preserves declaration order and duplicate properties. | [source](https://github.com/tabnas/css) [npm](https://www.npmjs.com/package/@tabnas/css) [go](https://pkg.go.dev/github.com/tabnas/css/go) |
| `@tabnas/c` | 0.5.10 | C source, into a concrete syntax tree: every token, comment, and macro kept as-is. | [source](https://github.com/tabnas/c) [npm](https://www.npmjs.com/package/@tabnas/c) [go](https://pkg.go.dev/github.com/tabnas/c/go) |
| `@tabnas/proto` | 0.6.3 | Protocol Buffers .proto IDL (proto2, proto3, editions 2023/2024). | [source](https://github.com/tabnas/proto) [npm](https://www.npmjs.com/package/@tabnas/proto) [go](https://pkg.go.dev/github.com/tabnas/proto/go) |
| `@tabnas/zon` | 0.5.12 | Zig Object Notation, as used by build.zig.zon manifests. | [source](https://github.com/tabnas/zon) [npm](https://www.npmjs.com/package/@tabnas/zon) [go](https://pkg.go.dev/github.com/tabnas/zon/go) |
| `@tabnas/feed` | 0.6.11 | RSS (0.90–2.0) and Atom (0.3, 1.0), normalised to one Atom-shaped result. | [source](https://github.com/tabnas/feed) [npm](https://www.npmjs.com/package/@tabnas/feed) [go](https://pkg.go.dev/github.com/tabnas/feed/go) |
| `@tabnas/chess` | 0.1.10 | PGN and SAN: chess games and moves, tag pairs, variations, and annotations. | [source](https://github.com/tabnas/chess) [npm](https://www.npmjs.com/package/@tabnas/chess) [go](https://pkg.go.dev/github.com/tabnas/chess/go) |
| `@tabnas/semver` | 0.0.6 | Semantic Versioning 2.0.0, compiled from the specification's own grammar, with precedence. | [source](https://github.com/tabnas/semver) [npm](https://www.npmjs.com/package/@tabnas/semver) [go](https://pkg.go.dev/github.com/tabnas/semver/go) |
| `@tabnas/gbnf` | 0.1.14 | llama.cpp GBNF: check text against a constrained-decoding grammar, with no model. | [source](https://github.com/tabnas/gbnf) [npm](https://www.npmjs.com/package/@tabnas/gbnf) [go](https://pkg.go.dev/github.com/tabnas/gbnf/go) |

## Web components

| Package | Version | What it does | Links |
| --- | --- | --- | --- |
| `@tabnas/chess-view` | 0.1.5 | A <chess-view> web component: a 2D chessboard view of a PGN game, with move navigation and highlighted notation. | [source](https://github.com/tabnas/chess/tree/main/web) [npm](https://www.npmjs.com/package/@tabnas/chess-view) |

## Syntax plugins

| Package | Version | What it does | Links |
| --- | --- | --- | --- |
| `@tabnas/expr` | 0.5.12 | Pratt-parser expressions: infix, prefix, suffix, ternary, with configurable precedence. | [source](https://github.com/tabnas/expr) [npm](https://www.npmjs.com/package/@tabnas/expr) [go](https://pkg.go.dev/github.com/tabnas/expr/go) |
| `@tabnas/directive` | 0.5.10 | Directive syntax: token sequences like @name or add<1,2> that trigger custom parsing. | [source](https://github.com/tabnas/directive) [npm](https://www.npmjs.com/package/@tabnas/directive) [go](https://pkg.go.dev/github.com/tabnas/directive/go) |
| `@tabnas/hoover` | 0.3.11 | String hoovering: block-delimited strings with unquoted internal spaces. | [source](https://github.com/tabnas/hoover) [npm](https://www.npmjs.com/package/@tabnas/hoover) [go](https://pkg.go.dev/github.com/tabnas/hoover/go) |
| `@tabnas/path` | 0.3.10 | Track the property path to each value as it is parsed. | [source](https://github.com/tabnas/path) [npm](https://www.npmjs.com/package/@tabnas/path) [go](https://pkg.go.dev/github.com/tabnas/path/go) |
| `@tabnas/multisource` | 0.5.10 | Merge multiple sources into one parse: a marked path is resolved and spliced in place. | [source](https://github.com/tabnas/multisource) [npm](https://www.npmjs.com/package/@tabnas/multisource) [go](https://pkg.go.dev/github.com/tabnas/multisource/go) |

## Command line

| Package | Version | What it does | Links |
| --- | --- | --- | --- |
| `@tabnas/jsonic-cli` | 0.5.10 | Command-line interface for @tabnas/jsonic. | [source](https://github.com/tabnas/jsonic-cli) [npm](https://www.npmjs.com/package/@tabnas/jsonic-cli) [go](https://pkg.go.dev/github.com/tabnas/jsonic-cli/go) |
| `@tabnas/lsp` | 0.1.4 | One language server for every tabnas grammar, and a generator for single-language servers and their editor plugins. | [source](https://github.com/tabnas/lsp) [npm](https://www.npmjs.com/package/@tabnas/lsp) [go](https://pkg.go.dev/github.com/tabnas/lsp/go) |

## Following along

-   Watch or star a repository in the [tabnas org](https://github.com/tabnas) to get its release notifications.
-   What the project will and won't take on is on the [FAQ](https://tabnas.dev/faq/#scope).
-   Languages built on the engine are on [examples](https://tabnas.dev/examples/).
