The fson library

fson ships as source. 1.0.0 is the first stable release — the API has been settled since the writer dialects and %include landed, and it is now marked as such.

VersionDateSourceChecksums
1.0.02026-09-08.tar.gz · .zip.tar.gz.sha256 · .zip.sha256

Each archive is a git archive snapshot at the v1.0.0 tag: the full source tree — the library, fson-check, the tests, the CMake build files, the Conan recipe, the railroad grammar, and the licence. Extract and follow the installation guide.

cparse (the parsing core) is not bundled — it is a separate Conan package (cparse/[>=1.0 <2], source at cparse.fedem.eu). conan install . in the extracted tree resolves it; or make it available to CMake yourself.

Verifying a download

sha256sum -c fson-1.0.0.tar.gz.sha256
# fson-1.0.0.tar.gz: OK

Release notes

1.0.0 — first stable release. No API change from the last 0.12.x; this is a version and SOVERSION bump (the soname is now libfson.so.1) plus the first published archive. What you get:

  • Lossless round-trips. Load an FSON file, change one value, save — comments (with positions, nesting included), member order, quoted-vs-bare key form, -- disabled markers and the exact spelling of every number all survive. See the User Guide.
  • A JSON / JSON5 superset. Every JSON document is valid FSON, and almost every JSON5 one. The Notation section documents the grammar production by production, with a railroad diagram for each.
  • %include with host-wins shallow merge, aliases, cycle detection and a provenance API; a reload-staleness probe (no watcher thread).
  • fson-check — validate, pretty-print, and convert FSON ↔ strict JSON / JSON5 from the command line.
  • A generated API reference (Doxygen) alongside the hand-written Reference Manual.

The library is MIT-licensed.

Binary packages (.deb / .rpm) are on the roadmap but need a proper APT/YUM repository to be worth shipping.

Editor tooling

Packaged builds from the ffs-lang-tools monorepo. The VS Code extensions are also on the Marketplace under the Fedem publisher (code --install-extension Fedem.vscode-fson); download the .vsix here for a specific version or an offline install (how to install a .vsix).

VS Code extensions

FileExtensionInstall
vscode-fson-0.10.0.vsixFSON — highlighting, editing, formattercode --install-extension vscode-fson-0.10.0.vsix
vscode-ffsmd-0.8.0.vsixFFS-MD — Markdown-dialect injection + formattercode --install-extension vscode-ffsmd-0.8.0.vsix

highlight.js grammars (npm tarballs)

FilePackageInstall
ffs-highlightjs-fson-0.1.0.tgzFSON grammar for highlight.jsnpm install ./ffs-highlightjs-fson-0.1.0.tgz
ffs-highlightjs-ffsmd-0.2.0.tgzFFS-MD grammar for highlight.jsnpm install ./ffs-highlightjs-ffsmd-0.2.0.tgz

The self-registering browser bundle this site itself uses is at /static/js/fson.hljs.min.js — see highlight.js grammar.

Checksums

Each file has a .sha256 sidecar at the same path. SHA-256:

c68b4af32dec3fcefb5e1c23533a8bca732066b9ea9fb3f8f36e51520f6dd1a0  fson-1.0.0.tar.gz
ba937c3270bff0d3fc2f785aae2fe8e7e371476ebc941332c8b51962f4189fe4  fson-1.0.0.zip
a46d4e1c3a0182a1e56b76dc25a373a191429058a4904f3a8d0b0ff9661abeec  vscode-fson-0.10.0.vsix
15c38a039f45c769cddaa1a635a58c2b7f077b1df4d43019e2897a37d813b501  vscode-ffsmd-0.8.0.vsix
d0059bd2c72a43b000c73a3e8f69591feca82207e71bbdb4f485547cb17eaf5a  ffs-highlightjs-fson-0.1.0.tgz
a4796a158db695bd21d08cacb9bbb9bbdd8783dbe71b6f1fd7b646349c476f6c  ffs-highlightjs-ffsmd-0.2.0.tgz

License

Everything here is MIT — the fson library, fson-check, and the editor tooling (ffs-lang-tools). Copyright © Fehmi Demiralp (FEDEM). The names FSON / FEDEM and the branding are not covered by the code licence (each repo carries a TRADEMARKS.md).

See also