circle-ir-ai 2.19.0 → 2.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -5,6 +5,57 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.19.2] - 2026-06-26
9
+
10
+ ### Changed — benchmarks only (no npm dist change)
11
+
12
+ - **`benchmarks/runners/run-top100-secure.ts`**: per-`srcPath` chunking
13
+ with greedy coalescing replaces the prior 200-file static cap.
14
+ Each oversized `srcPath` is split by immediate child dirs (max
15
+ depth 4), adjacent sibling chunks are bin-packed up to
16
+ `CHUNK_MAX_FILES = 500`, and results roll up by `parentRepo` for
17
+ the summary table while a new `chunks` field in the JSON output
18
+ carries per-chunk detail. Tracked in cognium-ai#132.
19
+ - **Coverage impact**: 17.0% (3,441 / 20,216) → **100%** (18,469 /
20
+ 18,469) across 12 cloned repos / 69 chunks. Without coalescing,
21
+ transformers alone would emit 462 micro-chunks; the packer
22
+ collapses adjacent siblings (462 → 8).
23
+ - **Backwards-compat**: ≤ 500-file repos emit a single chunk with
24
+ `id === parentRepo`, name unchanged — cargo / express / etc.
25
+ produce the same row shape as the pre-chunking runner.
26
+ - **Methodology note**: top-100 numbers from this release onward are
27
+ not directly comparable to pre-2.19.2 runs. The prior `n=200`
28
+ sampling cap is gone; new numbers reflect the full curated
29
+ `srcPath` source tree.
30
+
31
+ Published `dist/` is byte-identical to 2.19.1 — bump exists only as a
32
+ release-notes marker for the benchmark methodology change.
33
+
34
+ ## [2.19.1] - 2026-06-25
35
+
36
+ ### Changed — dep refresh
37
+
38
+ - Bump `circle-ir` `3.106.0` → `3.107.0`. Three independent Java/JS
39
+ false-positive fixes at the sink-filter layer (zero engine API
40
+ surface change, recall preserved on OWASP Benchmark + Juliet):
41
+ - **JS `setInterval` / `setTimeout` code_injection over-fire**
42
+ (cognium-dev#152) — drops flows when the sole contributing source
43
+ is an `interprocedural_param` and the sink line is a timer call.
44
+ Real string sources and `eval()` flows preserved.
45
+ - **Java `xxe` over-matches CommonMark `Parser.parse()`**
46
+ (cognium-dev#181) — new sink-filter Stage 9f drops XXE when the
47
+ receiver type resolves to a data parser (excluding real XML
48
+ parsers); mirrors the earlier code_injection fix for the same
49
+ pattern.
50
+ - **Java `sql_injection` over-fires on regex-allowlist-quoter
51
+ wrappers** (cognium-dev#191 / FP-77) — new Stage 15 detects
52
+ parameterized SQL assembly (`?` placeholders + inline
53
+ `.matches()` guards) and suppresses; bare-variable concat and
54
+ unguarded wrappers continue to fire.
55
+
56
+ No engine surface change in circle-ir-ai itself — 904 tests
57
+ unchanged, `projectProfile` threading from 2.19.0 unchanged.
58
+
8
59
  ## [2.19.0] - 2026-06-25
9
60
 
10
61
  ### Added — `projectProfile` engine threading (cognium-ai#130)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "circle-ir-ai",
3
- "version": "2.19.0",
3
+ "version": "2.19.2",
4
4
  "description": "LLM-enhanced SAST analysis built on circle-ir",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -96,7 +96,7 @@
96
96
  "@ax-llm/ax": "^20.0.0",
97
97
  "@cognium/project-profile-detect": "^1.1.0",
98
98
  "@mastra/core": "^1.18.0",
99
- "circle-ir": "3.106.0",
99
+ "circle-ir": "3.107.0",
100
100
  "minimatch": "^10.2.5",
101
101
  "p-queue": "^9.1.0"
102
102
  },