Skip to content

JSOM 3.1.1 — documentation fixes (no behaviour change)

Choose a tag to compare

@HarryPehkonen HarryPehkonen released this 21 Sep 11:37
· 7 commits to main since this release

Documentation fixes

3.1.0 shipped with documentation that had drifted from the code — a reader following the
README would have been misled in three ways:

  • the README advertised a path cache that was deleted in 3.0.0, and framed numbers as
    "lazy evaluation", implying they were never inspected (the §6 grammar has been enforced
    since 3.1.0);
  • FORMATTING.md documented a pretty option that does not exist in JsonFormatOptions,
    gave max_depth as 100 (it is 256), listed per-preset inline sizes that disagreed with the
    constants, and all nine of its example outputs were stale;
  • the CI stage list quoted in the README and CLAUDE.md had drifted twice.

Nothing about the code changed: this release is the documentation being corrected.

The drift now fails a gate

A new docs CI stage runs tools/check_docs.py, which fails when:

  1. a retired identifier (the opt-in number switch, PathCache, StreamingParser,
    NavigationResult, …) appears in documentation or headers — unless the line is explicitly
    about the removal;
  2. a generated block disagrees with the code: the JsonFormatOptions defaults table, the
    per-preset settings table, and nine example outputs produced by running the built jsom
    over docs/formatting-sample.json (a real file, so the examples derive from it instead of
    being typed and re-typed);
  3. a stage list quoted in the docs differs from CI_DEFAULT_STAGES.

tools/check_docs.py --write regenerates those parts. The examples check fails rather than
passing silently when no built binary is available — a skip that passes is a fake gate.

The pre-push hook no longer hardcodes a stage list either: the default set is defined once,
in tools/ci.sh.

Gates

15 CI stages green (233 tests, ASan/UBSan, TSan, fuzz, C++17/20/23, CLI smoke, conformance
n_ 188/188 by default, tidy, docs, pristine).