📣 New Release: codeanalyzer-python 1.2.0 #46
rahlk
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
codeanalyzer-python 1.2.0 is out. This is the release that replaces the analyzer's call-graph engine — read the breaking changes before upgrading.
--pycg-*flags (--pycg-shard,--pycg-shard-ceiling,--pycg-shard-strategy,--pycg-max-iter,--pycg-shard-timeout) are gone; drop them from your invocations — there is nothing to configure. Call-edgeprovvalues are now"jedi","defuse", or both; anything consumingprov: ["pycg"]must switch.--formatflag with it.analysis.jsonis the single wire format and is always written. Migration: drop--format json/--format msgpackfrom your invocations; readers ofanalysis.msgpackswitch to the JSON.--emit neo4jnow enforces its always-full-depth contract: it runs at level 4 with every graph section, and explicitly passing-aor--graphsalongside it is an error (previously it silently emitted a partial level-1 graph). Migration: remove-a/--graphsfrom--emit neo4jinvocations.Why the engine swap
PyCG's whole-program analysis could run for hours on large codebases without finishing — on a 2,364-file Odoo corpus it computed for 3h19m and produced zero edges. The defuse linker analyzes the same corpus in under 8 minutes with 760k call edges, its output is byte-reproducible on repeat runs (one known probabilistic Jedi quirk remains, tracked as #146), and its edge set was validated arrow-by-arrow against Joern and Fraunhofer-AISEC's CPG until it covered every real edge both tools produce. The provenance tag on every edge tells you which layer resolved it.
Also in this release
numpyandpandasare no longer dependencies — neither was ever imported, and their pins forced source builds on some targets (Red Hat UBI images in particular). Installs get lighter and stop failing there.Upgrade
All reactions