Blog

cparse 1.1.0 — the first public release

Posted on 2026-09-04

1.1.0 is available for download today — the first release of cparse as a project in its own right, rather than an embedded copy living inside the two projects that use it.

What changed since the embedded copies

cparse itself has not moved much: Cursor, Parser, Generator and Indentation are the same recursive-descent building blocks that fson and UMTSM have relied on in production for over a year. Two things are new, and one of them matters if you're carrying an older embedded copy forward:

  • Truncated input is now detected. Parser gained an opt-in open-scope counter — enterScope(), leaveScope(), openScopeDepth() (see Reference › Parser › enterScope) — so a grammar with nesting can distinguish a clean end-of-input from one that landed mid-construct. Previously a file cut short at a member boundary loaded as valid, with the missing half silently defaulted. The change is purely additive: a grammar that never calls these two methods behaves exactly as before.
  • A generated API reference now sits alongside the hand-written Reference Manual — Doxygen output with class diagrams, per-function call/caller graphs, and header dependency graphs, built straight from the same doc comments that back the manual pages.

Full notes, checksums and both archive formats are on the Downloads page.

Why "1.1.0" and not "1.0.2"

The version number jumps past the alpha line because this is the point where cparse stops being only something read out of another project's libs/external/ tree. Source archives, checksums, and a release-notes page that will keep growing with each cut — that's a different commitment than an embedded submodule carries, and the version number says so.

What's next

Binary packages (.deb, .rpm) are on the roadmap — the CMake tree already produces both locally via CPack, the missing piece is a proper APT/YUM repository to serve them from. In-site source browsing and the deeper grammar-patterns / code-generation guide sections mentioned at launch are still coming; nothing about this release changes that list, it just moves the download link from "coming soon" to real.

If you pick up 1.1.0, the contact page is the place to report back — bugs, friction in the install guide, or just confirming it worked.