Skip to content

Releases: NeuralNotwerk/cgg

v0.11.2

Choose a tag to compare

@github-actions github-actions released this 23 Oct 18:23
cgg 0.11.2

v0.11.1

Choose a tag to compare

@github-actions github-actions released this 23 Oct 03:27
cgg 0.11.1 — cross-language correctness: wrong high edges, missing ed…

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 02:58
cgg 0.11.0 — cross-language resolution, calibrated confidence with th…

v0.10.2

Choose a tag to compare

@github-actions github-actions released this 11 Oct 14:59
cgg 0.10.2 — Rust resolution and dead-code accuracy (bugfix)

v0.10.1

Choose a tag to compare

@github-actions github-actions released this 25 Sep 16:47
cgg 0.10.1 — --locations (#10), mermaid/GraphML label escaping

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 23:08
cgg 0.10.0 — overload and clause binding, C/C++/ObjC cross-language, …

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 02:57
cgg 0.9.1 — audit keeps records for chained calls

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 21:33
cgg 0.9.0 — Kivy KV, typed C++ resolution, Python inheritance fan-out

v0.8.5

Choose a tag to compare

@github-actions github-actions released this 18 Sep 19:33
v0.8.5 — security fixes and the npm loader repair

Two findings from a security review done for a downstream third-party
import, both confirmed on the released 0.8.4 binary before anything was
changed, plus a broken npm release found on the way.

- Unbounded recursive descent. Every language plugin walked its syntax
  tree recursively with nothing bounding the depth, and the rayon worker
  stack was the 2 MiB default. Input as ordinary as a 3,000-term
  `a + b + c` expression, a fluent call chain, an if/else-if ladder or a
  deep literal overflowed it. A stack overflow is not a panic, so the
  catch_unwind in the C ABI and the Python and Node modules could not
  turn it into an error — the process died, and took any embedding host
  with it. Reproduced in 18 languages plus the JSON/YAML descriptors.
  analyze now runs on a 128 MiB host thread with matching pool workers,
  extraction is gated on the iterative cgg_lang::exceeds_depth against
  MAX_TREE_DEPTH (4,000 levels; deeper is skipped as `too-deep` and
  counted), and the -n 0 path DFS caps at 100,000. Affected every
  release through 0.8.4.

- `--since` executed code from the analyzed repository. It shells out to
  git inside the tree being analyzed, and git runs what that tree's
  config names: a core.fsmonitor command and a diff.<driver>.command
  routed by .gitattributes both executed on a plain `git diff`, verified
  on 0.8.4. The revspec was also passed bare, so `--since=--output=PATH`
  made git write that file. Git is now invoked with
  `-c core.fsmonitor=false --no-ext-diff --no-textconv` and
  `--end-of-options` before the revspec. Affected every release with
  --since.

- The 0.8.4 npm root package could not be loaded. index.js is generated
  by napi build and hardcodes the platform-package version it accepts;
  it was last regenerated at 0.8.3, so the published 0.8.4 tarball
  demanded 0.8.3 bindings in 27 places while its platform packages
  shipped 0.8.4. index.js and index.d.ts are regenerated here, and
  docs-check check 13 now fails any commit where the embedded version
  and package.json disagree. npm only; the CLI, crates, wheel and C ABI
  were unaffected.

Default graph unchanged. Memory safety verified clean under ASAN
(44 grammars, 315 malformed inputs, 145 corpus repos) and Valgrind.

v0.8.4

Choose a tag to compare

@github-actions github-actions released this 17 Sep 19:14
cgg 0.8.4

Resolver precision: no bare-name fan-out at bound, private or external
sites (PR #4). Graph document schema cgg.graph.v2 — v1 still readable.
--skip-minified (opt-in). Auto --jobs cap widens to 32 on hosts with
32+ physical cores. Dead-code baseline and git-environment fixes.

Full notes: CHANGELOG.md