@cognium-ai/mcp-server 4.16.5 → 4.17.1
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.
- package/CHANGELOG.md +1834 -0
- package/README.md +27 -257
- package/dist/deprecation.d.ts +5 -0
- package/dist/deprecation.d.ts.map +1 -0
- package/dist/deprecation.js +7 -0
- package/dist/deprecation.js.map +1 -0
- package/dist/index.d.ts +18 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -19
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +15 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +26 -31
- package/dist/server.js.map +1 -1
- package/package.json +6 -7
- package/dist/analysis.d.ts +0 -25
- package/dist/analysis.d.ts.map +0 -1
- package/dist/analysis.js +0 -45
- package/dist/analysis.js.map +0 -1
- package/dist/mappers.d.ts +0 -41
- package/dist/mappers.d.ts.map +0 -1
- package/dist/mappers.js +0 -69
- package/dist/mappers.js.map +0 -1
- package/dist/tools/check-license-compliance.d.ts +0 -11
- package/dist/tools/check-license-compliance.d.ts.map +0 -1
- package/dist/tools/check-license-compliance.js +0 -125
- package/dist/tools/check-license-compliance.js.map +0 -1
- package/dist/tools/find-credential-exposure.d.ts +0 -17
- package/dist/tools/find-credential-exposure.d.ts.map +0 -1
- package/dist/tools/find-credential-exposure.js +0 -185
- package/dist/tools/find-credential-exposure.js.map +0 -1
- package/dist/tools/find-excessive-permissions.d.ts +0 -16
- package/dist/tools/find-excessive-permissions.d.ts.map +0 -1
- package/dist/tools/find-excessive-permissions.js +0 -144
- package/dist/tools/find-excessive-permissions.js.map +0 -1
- package/dist/tools/find-install-script-risk.d.ts +0 -11
- package/dist/tools/find-install-script-risk.d.ts.map +0 -1
- package/dist/tools/find-install-script-risk.js +0 -115
- package/dist/tools/find-install-script-risk.js.map +0 -1
- package/dist/tools/find-pattern.d.ts +0 -13
- package/dist/tools/find-pattern.d.ts.map +0 -1
- package/dist/tools/find-pattern.js +0 -114
- package/dist/tools/find-pattern.js.map +0 -1
- package/dist/tools/find-spec-drift.d.ts +0 -10
- package/dist/tools/find-spec-drift.d.ts.map +0 -1
- package/dist/tools/find-spec-drift.js +0 -41
- package/dist/tools/find-spec-drift.js.map +0 -1
- package/dist/tools/find-stale-dependencies.d.ts +0 -14
- package/dist/tools/find-stale-dependencies.d.ts.map +0 -1
- package/dist/tools/find-stale-dependencies.js +0 -177
- package/dist/tools/find-stale-dependencies.js.map +0 -1
- package/dist/tools/find-typosquats.d.ts +0 -11
- package/dist/tools/find-typosquats.d.ts.map +0 -1
- package/dist/tools/find-typosquats.js +0 -141
- package/dist/tools/find-typosquats.js.map +0 -1
- package/dist/tools/layer-bom.d.ts +0 -15
- package/dist/tools/layer-bom.d.ts.map +0 -1
- package/dist/tools/layer-bom.js +0 -98
- package/dist/tools/layer-bom.js.map +0 -1
- package/dist/tools/verify-spec-conformance.d.ts +0 -9
- package/dist/tools/verify-spec-conformance.d.ts.map +0 -1
- package/dist/tools/verify-spec-conformance.js +0 -49
- package/dist/tools/verify-spec-conformance.js.map +0 -1
- package/dist/walk.d.ts +0 -33
- package/dist/walk.d.ts.map +0 -1
- package/dist/walk.js +0 -83
- package/dist/walk.js.map +0 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,1834 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [4.17.1] - 2026-10-02
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- **`circle-ir-ai` ^4.17.0 → ^4.19.0**, for the same reason as the CLI: the old range
|
|
7
|
+
admitted a module pinning a different `circle-ir` minor than the one this shim's
|
|
8
|
+
server loads. This package has **no `circle-ir` dependency of its own** — it had one
|
|
9
|
+
until the shim was reduced to forwarding, so there is nothing here to pin.
|
|
10
|
+
- **The ten module tools do not load at this version, and that is the release train.**
|
|
11
|
+
The shim depends on `@cognium/mcp-server` `^0.2.0`, which pins `circle-ir` 4.9.29,
|
|
12
|
+
while `circle-ir-ai` 4.19.0 declares 4.10.0; the loader compares `major.minor` and
|
|
13
|
+
refuses. Two of four tests say so. It clears when `@cognium/mcp-server` 0.5.0 is
|
|
14
|
+
published. This package is deprecated and forwards to that server, so the pin is
|
|
15
|
+
better moved once, with the republish, than guessed at now.
|
|
16
|
+
|
|
17
|
+
## [4.17.0] - 2026-10-01
|
|
18
|
+
|
|
19
|
+
**Deprecated. This is the last release of `@cognium-ai/mcp-server`.** The package is now a shim
|
|
20
|
+
over [`@cognium/mcp-server`](https://www.npmjs.com/package/@cognium/mcp-server), the one MCP
|
|
21
|
+
server. Install that and `circle-ir-ai`, and run `mcp-server-cognium-dev`, to get the same tools.
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
- **The ten tools moved to `circle-ir-ai/mcp`** and are served by `@cognium/mcp-server`, which
|
|
25
|
+
loads that module next to its own eleven tools. Nothing here implements a tool any more.
|
|
26
|
+
Tested with `@cognium/mcp-server` 0.2.0, `circle-ir-ai` 4.17.0 and `circle-ir` 4.9.29.
|
|
27
|
+
- **`cognium-mcp` still starts a server**, now the one server: it prints a deprecation notice
|
|
28
|
+
on stderr and then serves 21 tools — the ten it always did, with the same names and
|
|
29
|
+
arguments, plus the eleven of `@cognium/mcp-server`.
|
|
30
|
+
- **`buildServer()` keeps its name and stays synchronous**, and returns a server with the same
|
|
31
|
+
21 tools. `createServer()` from the one server is re-exported for hosts that can await.
|
|
32
|
+
- Dependencies are now `@cognium/mcp-server` ^0.2.0, `circle-ir-ai` ^4.17.0 and MCP SDK
|
|
33
|
+
^1.30.1. `circle-ir`, `minimatch` and `zod` are no longer direct dependencies.
|
|
34
|
+
|
|
35
|
+
#### Consumer Impact
|
|
36
|
+
- **`serverInfo` is now `@cognium/mcp-server` and its version**, not `cognium-mcp` / `0.4.0`.
|
|
37
|
+
A client matching on the old name stops matching.
|
|
38
|
+
- **`find_credential_exposure` with `llm_verify: true` is refused** unless `COGNIUM_ENDPOINT`
|
|
39
|
+
or a licence token is configured: an error result with one line of text and no
|
|
40
|
+
`structuredContent`. Before, verification was skipped without saying so.
|
|
41
|
+
- **Every response from the ten tools gains a `provenance` field**, and their input schemas
|
|
42
|
+
are generated by zod 4; names, types and required arguments are unchanged.
|
|
43
|
+
|
|
44
|
+
## [4.16.5] - 2026-10-01
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
- **`circle-ir` 4.9.27 → 4.9.29** (fleet re-pin; 4.9.28 was pinned briefly and never published).
|
|
48
|
+
C# product-path recall on Juliet reaches **93.5%** (from 10.6%), with a sharp precision
|
|
49
|
+
regression confined to the families cognium-dev#508 applies to, plus a carried-over Rust
|
|
50
|
+
deser-sink regression (cognium-dev#541). See `circle-ir-ai/CHANGELOG.md` for the full table.
|
|
51
|
+
Suite passes unchanged; exactly one copy of `circle-ir` resolves.
|
|
52
|
+
|
|
53
|
+
## [4.16.4] - 2026-09-29
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
- **`circle-ir` 4.9.26 → 4.9.27** (fleet chain; see circle-ir-ai 4.16.4 for the C# benchmark
|
|
57
|
+
deltas this engine bump produces — recall up on Juliet shapes, one new xss false positive from
|
|
58
|
+
an uncredited `HtmlEncoder`, cognium-dev#520). Test suite passes unchanged; exactly one copy of
|
|
59
|
+
`circle-ir` resolves.
|
|
60
|
+
|
|
61
|
+
## [4.16.3] - 2026-09-24
|
|
62
|
+
|
|
63
|
+
### Changed
|
|
64
|
+
- **circle-ir 4.9.25 → 4.9.26, circle-ir-ai ^4.16.2 → ^4.16.3** (fleet chain; see circle-ir-ai
|
|
65
|
+
4.16.3). Go/C# batch: cognium-dev#472 stops Go taint leaking to a same-named local in another
|
|
66
|
+
function (**live in the 4.16.2 pin** — it shipped in 4.9.23 via the #459 `r.Body` source),
|
|
67
|
+
#343 Go `bufio` over the request body, #339 C# bare expression-statement sinks, #473 `initParser`
|
|
68
|
+
no longer caches a failed init forever. **Go finding counts move in both directions** — #472
|
|
69
|
+
re-attributes source lines, so a baseline keyed on `sink@source->sink` shows one removal plus one
|
|
70
|
+
addition per affected flow. Measured on the Go synthetic suite: score 64.2 % → **89.5 %**,
|
|
71
|
+
FPR 20.0 % → **0.0 %**; OWASP/Juliet/Bash/HTML stay at 100 %. Lockfile refreshed; single
|
|
72
|
+
circle-ir copy verified.
|
|
73
|
+
|
|
74
|
+
## [4.16.2] - 2026-09-24
|
|
75
|
+
|
|
76
|
+
### Changed
|
|
77
|
+
- **circle-ir 4.9.23 → 4.9.25, circle-ir-ai ^4.16.1 → ^4.16.2** (fleet chain; see circle-ir-ai
|
|
78
|
+
4.16.2). Skips 4.9.24, which carries two upstream `analyzeProject` robustness fixes: a Python
|
|
79
|
+
starred parameter (`*args` / `**kwargs`) no longer fails the project analysis closed on an
|
|
80
|
+
uncompilable `\b<name>\b` regexp (cognium-dev#458), and a minified / bundled file no longer
|
|
81
|
+
wedges the scan (cognium-dev#460). No detection change on ordinary source; no tool behaviour
|
|
82
|
+
change here. Lockfile refreshed; single circle-ir copy verified.
|
|
83
|
+
|
|
84
|
+
## [4.16.1] - 2026-09-23
|
|
85
|
+
|
|
86
|
+
### Changed
|
|
87
|
+
- circle-ir-ai ^4.15.1 → ^4.16.1 (fleet chain; see cognium-ai 4.16.1). circle-ir stays at 4.9.23.
|
|
88
|
+
Lockfile refreshed; single circle-ir copy verified.
|
|
89
|
+
|
|
90
|
+
## [4.15.1] - 2026-09-22
|
|
91
|
+
|
|
92
|
+
### Changed
|
|
93
|
+
- circle-ir 4.9.22 → 4.9.23, circle-ir-ai ^4.15.0 → ^4.15.1 (fleet chain; see cognium-ai 4.15.1).
|
|
94
|
+
Lockfile refreshed; single circle-ir copy verified.
|
|
95
|
+
|
|
96
|
+
## [4.15.0] - 2026-09-22
|
|
97
|
+
|
|
98
|
+
### Changed
|
|
99
|
+
- circle-ir 4.9.20 → 4.9.22, circle-ir-ai ^4.14.3 → ^4.15.0 (fleet chain; see cognium-ai 4.15.0).
|
|
100
|
+
Lockfile refreshed; single circle-ir copy verified.
|
|
101
|
+
|
|
102
|
+
## [4.14.2] - 2026-09-19
|
|
103
|
+
|
|
104
|
+
### Changed
|
|
105
|
+
- Bump circle-ir 4.9.17 + circle-ir-ai ^4.14.2. Single circle-ir copy verified; typecheck clean.
|
|
106
|
+
|
|
107
|
+
# Changelog
|
|
108
|
+
|
|
109
|
+
## [4.14.1] - 2026-09-18
|
|
110
|
+
|
|
111
|
+
### Changed
|
|
112
|
+
- Bump circle-ir 4.9.14 → 4.9.16 and circle-ir-ai ^4.14.0 → ^4.14.1 (SAST-team precision/detection fixes). Single circle-ir copy verified; typecheck clean.
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
## [4.14.0] - 2026-09-15
|
|
116
|
+
|
|
117
|
+
### Changed
|
|
118
|
+
|
|
119
|
+
- **circle-ir-ai ^4.13.0 → ^4.14.0.** Moves with the fleet; no behaviour change in this package. Carries the skills-detector + scanner precision fixes (cognium-ai#447/#449/#452/#461/#463).
|
|
120
|
+
|
|
121
|
+
## [4.13.0] - 2026-09-14
|
|
122
|
+
|
|
123
|
+
### Changed
|
|
124
|
+
|
|
125
|
+
- **Fleet pin: circle-ir 4.9.13 â 4.9.14, circle-ir-ai ^4.12.0 â ^4.13.0.** No behaviour change; moves with the fleet so the pin-uniformity gate holds across all four packages in one commit.
|
|
126
|
+
|
|
127
|
+
## [4.12.0] - 2026-09-11
|
|
128
|
+
|
|
129
|
+
### Changed
|
|
130
|
+
|
|
131
|
+
- **Fleet pin: `circle-ir` 4.9.10 â 4.9.13, `circle-ir-ai` ^4.11.0 â ^4.12.0.** No behaviour
|
|
132
|
+
change in this package; it moves with the fleet so the `circle-ir pin uniformity` gate holds
|
|
133
|
+
across all four packages in one commit. Verified: one copy of `circle-ir`, typecheck, build
|
|
134
|
+
and 11 tests clean.
|
|
135
|
+
|
|
136
|
+
## [4.11.0] - 2026-09-08
|
|
137
|
+
|
|
138
|
+
- Engine refresh: `circle-ir-ai` `^4.10.1` â `^4.11.0` (skills precision passes 2âÂÂ3, Python manifests, SR-D scanners, JS sink shapes, model-aware LLM completion budget). No tool changes. `circle-ir` stays 4.9.10.
|
|
139
|
+
|
|
140
|
+
All notable changes to `@cognium-ai/mcp-server` are documented here.
|
|
141
|
+
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
|
142
|
+
and the [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format.
|
|
143
|
+
|
|
144
|
+
## [4.10.1] - 2026-09-02
|
|
145
|
+
|
|
146
|
+
### Changed
|
|
147
|
+
|
|
148
|
+
- Bump `circle-ir` 4.9.9 â 4.9.10 and `circle-ir-ai` ^4.10.0 â ^4.10.1 (lockstep
|
|
149
|
+
dep refresh; no MCP surface change). See circle-ir-ai 4.10.1 for the upstream
|
|
150
|
+
fix list (XXE reach map, Rust `format!` sink, C# #275 sinks).
|
|
151
|
+
- `test/smoke-stdio.mjs` now expects `layer_bom` in `tools/list` (was missing
|
|
152
|
+
from the stdio smoke since the tool shipped). Verified: 11 tests + stdio smoke
|
|
153
|
+
pass, single `circle-ir` copy.
|
|
154
|
+
|
|
155
|
+
## [4.10.0] - 2026-08-28
|
|
156
|
+
|
|
157
|
+
### Changed
|
|
158
|
+
|
|
159
|
+
- Bump `circle-ir-ai` ^4.9.0 â ^4.10.0 (cognium-ai#337 durable degraded latch for
|
|
160
|
+
connection-class LLM outages). No MCP surface change; lockstep dep refresh.
|
|
161
|
+
|
|
162
|
+
## [4.9.0] - 2026-08-28
|
|
163
|
+
|
|
164
|
+
### Changed
|
|
165
|
+
|
|
166
|
+
- Bump `circle-ir-ai` ^4.8.13 -> ^4.9.0 (circle-ir stays 4.9.9). Picks up the
|
|
167
|
+
skillsregistry#85 verdict reproducibility guard â instruction-safety reads can no
|
|
168
|
+
longer flip a skill to VULNERABLE without deterministic corroboration, so the MCP
|
|
169
|
+
skill tools return reproducible verdicts. Kill switch:
|
|
170
|
+
`SKILL_INSTRUCTION_VERDICT_GUARD=0`.
|
|
171
|
+
|
|
172
|
+
## [4.8.13] - 2026-08-28
|
|
173
|
+
|
|
174
|
+
### Changed
|
|
175
|
+
|
|
176
|
+
- Bump `circle-ir-ai` ^4.8.12 -> ^4.8.13 (circle-ir stays 4.9.9). Clears the last two skillsregistry#82 residuals (bare API-key/env-var + bare CRUD reads no longer flip HIGH).
|
|
177
|
+
|
|
178
|
+
## [4.8.12] - 2026-08-28
|
|
179
|
+
|
|
180
|
+
### Changed
|
|
181
|
+
|
|
182
|
+
- Bump `circle-ir-ai` ^4.8.11 -> ^4.8.12 (circle-ir stays 4.9.9). Generalizes skillsregistry#81 (config_injection keys on payload not filename) + #82 (disclosed-capability keys on CWE class).
|
|
183
|
+
|
|
184
|
+
## [4.8.11] - 2026-08-28
|
|
185
|
+
|
|
186
|
+
### Changed
|
|
187
|
+
|
|
188
|
+
- Bump `circle-ir-ai` ^4.8.10 -> ^4.8.11 (circle-ir stays 4.9.9). Clears skillsregistry#82 (disclosed-capability exfil/escalation over-reads) + #81 reopened (config_injection on self-install scripts) â the scale FP contamination.
|
|
189
|
+
|
|
190
|
+
## [4.8.10] - 2026-08-28
|
|
191
|
+
|
|
192
|
+
### Changed
|
|
193
|
+
|
|
194
|
+
- Bump `circle-ir-ai` ^4.8.9 -> ^4.8.10 (circle-ir stays 4.9.9). Clears the last skillsregistry#80 flip (keumbang safety_subversion on a safe-by-default opt-in gate).
|
|
195
|
+
|
|
196
|
+
## [4.8.9] - 2026-08-28
|
|
197
|
+
|
|
198
|
+
### Changed
|
|
199
|
+
|
|
200
|
+
- Bump `circle-ir-ai` ^4.8.8 -> ^4.8.9 (circle-ir stays 4.9.9). Clears skillsregistry#80 (instruction-safety downweight now matches the quoted skill text) + #81 (config_injection ignores comments / in-repo manifests).
|
|
201
|
+
|
|
202
|
+
## [4.8.8] - 2026-08-27
|
|
203
|
+
|
|
204
|
+
### Changed
|
|
205
|
+
|
|
206
|
+
- Bump `circle-ir-ai` ^4.8.7 -> ^4.8.8 (circle-ir stays 4.9.9). Clears skillsregistry#67/#77 residual detector-logic FPs (description_injection tagline, safety_subversion default-off gate, api_base_url_hijack generic base-URL to a data API).
|
|
207
|
+
|
|
208
|
+
## [4.8.7] - 2026-08-27
|
|
209
|
+
|
|
210
|
+
### Changed
|
|
211
|
+
|
|
212
|
+
- Bump `circle-ir-ai` ^4.8.6 -> ^4.8.7 (circle-ir stays 4.9.9). Adds skillsregistry#72 batch 3 `schema_violation` detector (structural validation of a present mcp-config.json).
|
|
213
|
+
|
|
214
|
+
## [4.8.6] - 2026-08-27
|
|
215
|
+
|
|
216
|
+
### Changed
|
|
217
|
+
|
|
218
|
+
- Bump `circle-ir-ai` ^4.8.5 -> ^4.8.6 (circle-ir stays 4.9.9). SR-precision batch: #67 (defensive-advice over-read), #79 + #77 residuals, cognium-ai#261 deterministic severity (opt-in LLM_DETERMINISTIC_SEVERITY=1).
|
|
219
|
+
|
|
220
|
+
## [4.8.5] - 2026-08-27
|
|
221
|
+
|
|
222
|
+
### Changed
|
|
223
|
+
|
|
224
|
+
- Bump `circle-ir-ai` ^4.8.4 -> ^4.8.5 (circle-ir stays 4.9.9). Surfaces skillsregistry#79 the decisive capability_mismatch severity FLOOR (deterministic zero-medium+ for env/network/file undisclosed classes; the verifiable-histogram fix) + #72 batch-2 supply-chain bridge (opt-in).
|
|
225
|
+
|
|
226
|
+
## [4.8.4] - 2026-08-27
|
|
227
|
+
|
|
228
|
+
### Changed
|
|
229
|
+
|
|
230
|
+
- Bump `circle-ir-ai` ^4.8.3 -> ^4.8.4 (circle-ir stays 4.9.9). Surfaces skillsregistry#72 detector-coverage batch 1 â new `memory_file_poisoning` + `broken_reference` skill detectors.
|
|
231
|
+
|
|
232
|
+
## [4.8.3] - 2026-08-27
|
|
233
|
+
|
|
234
|
+
### Changed
|
|
235
|
+
|
|
236
|
+
- Bump `circle-ir-ai` ^4.8.2 -> ^4.8.3 (circle-ir stays 4.9.9). Surfaces skillsregistry#79 â capability_mismatch disclosed-purpose + vuln-reframe false-positive fix (the #1 false-flag driver, ~70-85% FP on the network/file/env "undisclosed capability" class).
|
|
237
|
+
|
|
238
|
+
## [4.8.2] - 2026-08-26
|
|
239
|
+
|
|
240
|
+
### Changed
|
|
241
|
+
|
|
242
|
+
- Bump `circle-ir-ai` ^4.8.1 -> ^4.8.2 (circle-ir stays 4.9.9). Surfaces the skillsregistry#77 SR-feedback follow-up (broadened test-path gate: scripts/e2e_*, bench/, bin/, vendored trees) and #75 (mcp-permissions undisclosed-network CRITICAL -> MEDIUM).
|
|
243
|
+
|
|
244
|
+
## [4.8.1] - 2026-08-26
|
|
245
|
+
|
|
246
|
+
### Changed
|
|
247
|
+
|
|
248
|
+
- Bump `circle-ir-ai` ^4.8.0 -> ^4.8.1 (circle-ir stays 4.9.9). Surfaces the complete skillsregistry#77 engine fix: test-path gate for behavioral/cred-exfil/base-URL detectors, capability-mismatch test-file exclusion (CWE-200/#75), and per-skill collapse of repeated patterns (the monorepo revocation amplifier).
|
|
249
|
+
|
|
250
|
+
## [4.8.0] - 2026-08-26
|
|
251
|
+
|
|
252
|
+
### Changed
|
|
253
|
+
|
|
254
|
+
- Bump `circle-ir-ai` ^4.7.0 â ^4.8.0 and `circle-ir` 4.9.8 â 4.9.9. Inherits
|
|
255
|
+
the circle-ir 4.9.9 large-file taint perf fix (#305), the #117 Specifica
|
|
256
|
+
sink-class allowlist, and skillsregistry#65 (CWE-494 non-public-host guard). No
|
|
257
|
+
MCP tool or API changes.
|
|
258
|
+
|
|
259
|
+
## [4.7.0] - 2026-08-25
|
|
260
|
+
|
|
261
|
+
### Changed
|
|
262
|
+
|
|
263
|
+
- Bump `circle-ir-ai` ^4.6.1 â ^4.7.0 and `circle-ir` 4.9.7 â 4.9.8. Inherits the
|
|
264
|
+
engine's #336 graph-path gate (library/tool HIGH/CRIT `graph_path_exists=false`
|
|
265
|
+
â medium) and the circle-ir 4.9.8 dependency/security refresh. No MCP tool or
|
|
266
|
+
API changes.
|
|
267
|
+
|
|
268
|
+
## [4.6.1] - 2026-08-24
|
|
269
|
+
|
|
270
|
+
### Changed â bump circle-ir-ai ^4.6.1 (#304 + #335 verify over-chunking fix)
|
|
271
|
+
|
|
272
|
+
No mcp-server source changes; single circle-ir copy verified, typecheck clean.
|
|
273
|
+
|
|
274
|
+
## [4.6.0] - 2026-08-23
|
|
275
|
+
|
|
276
|
+
### Added â `layer_bom` tool + engine bump to `circle-ir-ai@^4.6.0`
|
|
277
|
+
|
|
278
|
+
New `layer_bom` MCP tool exposes the Conformis 9-layer BOM inventory (the engine
|
|
279
|
+
primitive, per conformis-execution-plan.md ç7). Pulls the 4.6.0 engine (#334 verify
|
|
280
|
+
fix + BOM op). Single circle-ir copy; typecheck clean, 11 tests.
|
|
281
|
+
|
|
282
|
+
## [4.5.0] - 2026-08-22
|
|
283
|
+
|
|
284
|
+
### Changed â bump circle-ir-ai ^4.5.0 + circle-ir 4.9.7
|
|
285
|
+
|
|
286
|
+
Pulls the 4.5.0 engine (circle-ir 4.8.2 â 4.9.7 â OWASP 100.0%; #332 verify
|
|
287
|
+
over-chunking fix, #244 prompt prefix-caching, #245 dispatch scaling). No
|
|
288
|
+
mcp-server source changes; single circle-ir copy verified, typecheck clean,
|
|
289
|
+
11 tests pass.
|
|
290
|
+
|
|
291
|
+
## [4.4.0] - 2026-08-21
|
|
292
|
+
|
|
293
|
+
### Changed â bump circle-ir-ai ^4.4.0 + circle-ir 4.8.2
|
|
294
|
+
|
|
295
|
+
Pulls the 4.4.0 engine (circle-ir 4.7.2 â 4.8.2 â OWASP 100.0%, #121 non-JSON fail-fast,
|
|
296
|
+
#315 parse guard). No mcp-server source changes; single circle-ir copy verified,
|
|
297
|
+
typecheck clean, 11 tests pass.
|
|
298
|
+
|
|
299
|
+
## [4.3.2] - 2026-08-21
|
|
300
|
+
|
|
301
|
+
### Changed â bump circle-ir-ai ^4.3.2 + circle-ir 4.7.2
|
|
302
|
+
|
|
303
|
+
Pulls the 4.3.2 engine (circle-ir 4.7.2, #329 P1 verifier-perf, #71/#70 skill
|
|
304
|
+
precision, #323 returnPerFileIR). No mcp-server source changes; single circle-ir copy
|
|
305
|
+
verified.
|
|
306
|
+
|
|
307
|
+
## [4.3.1] - 2026-08-19
|
|
308
|
+
|
|
309
|
+
### Changed â bump circle-ir-ai ^4.3.1
|
|
310
|
+
|
|
311
|
+
Pulls the 4.3.1 engine (trust scoring-map fixes #327, 429-storm degradation #314, and
|
|
312
|
+
the #120/#198 LLM-trust-pass work). No mcp-server source changes; `circle-ir` stays
|
|
313
|
+
pinned at `4.7.1`.
|
|
314
|
+
|
|
315
|
+
## [4.3.0] - 2026-08-19
|
|
316
|
+
|
|
317
|
+
### Changed â bump circle-ir-ai ^4.3.0 (LLM-verifier precision cluster #265 + #266 + #267)
|
|
318
|
+
Picks up the `--llm-verify` precision cluster (#265 closed-enum source type; #267 honest `graph_path_exists`; #266 de-biased verifier prompt, validated gemma3:12b 100% â 9% manufactured-pair TP). All recall-safe. No local source change. Single circle-ir copy; typecheck clean; 11 tests pass.
|
|
319
|
+
|
|
320
|
+
## [4.2.0] - 2026-08-17
|
|
321
|
+
|
|
322
|
+
### Changed â bump circle-ir-ai ^4.2.0 (skill-verdict precision #308 + #309)
|
|
323
|
+
Picks up the engine's skill-verdict precision fixes (#308 MEDIUM `capability_mismatch` no longer flips VULNERABLE; #309 zero-coverage â UNKNOWN / trust 0). No local source change. Single circle-ir copy; typecheck clean; 11 tests pass.
|
|
324
|
+
|
|
325
|
+
## [4.1.0] - 2026-08-16
|
|
326
|
+
|
|
327
|
+
### Changed â bump circle-ir-ai ^4.1.0 (#68 shared skill-scan precision layer)
|
|
328
|
+
Picks up the #68 shared skill-scan precision layer. No local source change. Single circle-ir copy; typecheck clean.
|
|
329
|
+
|
|
330
|
+
## [4.0.7] - 2026-08-16
|
|
331
|
+
|
|
332
|
+
### Changed â bump circle-ir 4.7.0 â 4.7.1 + circle-ir-ai ^4.0.7
|
|
333
|
+
|
|
334
|
+
Engine pin bump to latest 4.x. No source changes. Single circle-ir copy; typecheck
|
|
335
|
+
clean, 11 tests pass.
|
|
336
|
+
|
|
337
|
+
## [4.0.6] - 2026-08-14
|
|
338
|
+
|
|
339
|
+
### Changed â bump circle-ir-ai ^4.0.6 (cognium-ai#58 pool-helper export)
|
|
340
|
+
|
|
341
|
+
Picks up the exported parse-isolation pool helpers. No source changes. Single
|
|
342
|
+
circle-ir copy; typecheck clean.
|
|
343
|
+
|
|
344
|
+
## [4.0.5] - 2026-08-13
|
|
345
|
+
|
|
346
|
+
### Changed â bump circle-ir-ai ^4.0.5 (skillsregistry FP precision: sr#65 + sr#56)
|
|
347
|
+
|
|
348
|
+
Picks up the sprint-C batch-2 skill-scan FP fixes. No mcp-server source changes.
|
|
349
|
+
Single circle-ir copy; typecheck clean, 11 tests pass.
|
|
350
|
+
|
|
351
|
+
## [4.0.4] - 2026-08-13
|
|
352
|
+
|
|
353
|
+
### Changed â bump circle-ir 4.6.0 â 4.7.0 + circle-ir-ai ^4.0.4
|
|
354
|
+
|
|
355
|
+
Engine pin bump to latest 4.x. No source changes. Single circle-ir copy verified;
|
|
356
|
+
typecheck clean, 11 tests pass.
|
|
357
|
+
|
|
358
|
+
## [4.0.3] - 2026-08-12
|
|
359
|
+
|
|
360
|
+
### Changed â bump circle-ir 4.5.0 â 4.6.0 + circle-ir-ai ^4.0.3
|
|
361
|
+
|
|
362
|
+
Engine pin bump to latest 4.x. No source changes. Single circle-ir copy verified;
|
|
363
|
+
typecheck clean, 11 tests pass.
|
|
364
|
+
|
|
365
|
+
## [4.0.2] - 2026-08-12
|
|
366
|
+
|
|
367
|
+
### Changed â bump circle-ir 4.4.0 â 4.5.0 + circle-ir-ai ^4.0.2
|
|
368
|
+
|
|
369
|
+
Engine pin bump to latest 4.x. No source changes. Single circle-ir copy verified;
|
|
370
|
+
typecheck clean, 11 tests pass.
|
|
371
|
+
|
|
372
|
+
## [4.0.1] - 2026-08-11
|
|
373
|
+
|
|
374
|
+
### Changed â bump circle-ir 4.3.1 â 4.4.0 + circle-ir-ai ^4.0.1
|
|
375
|
+
|
|
376
|
+
Engine pin bump to latest 4.x. No tool-surface changes. Single circle-ir copy; typecheck clean.
|
|
377
|
+
|
|
378
|
+
## [4.0.0] - 2026-08-10
|
|
379
|
+
|
|
380
|
+
### Changed â fleet version alignment to 4.x (cognium-ai#289)
|
|
381
|
+
|
|
382
|
+
Realign 0.10.0 -> 4.0.0 to match the fleet major (circle-ir 4.x); bump circle-ir-ai ^3.0.0 -> ^4.0.0. No tool-surface changes. Single circle-ir copy; typecheck clean.
|
|
383
|
+
|
|
384
|
+
## [0.10.0] - 2026-08-10
|
|
385
|
+
|
|
386
|
+
### Changed â adopt circle-ir 4.3.1 + circle-ir-ai ^3.0.0 (cognium-ai#289)
|
|
387
|
+
|
|
388
|
+
Bump `circle-ir` `3.216.0 â 4.3.1` (C#/.NET, 8th language) + `circle-ir-ai`
|
|
389
|
+
`^2.104.0 â ^3.0.0`. No tool-surface changes. Single circle-ir copy verified;
|
|
390
|
+
typecheck clean, 11 tests pass.
|
|
391
|
+
|
|
392
|
+
## [0.9.17] - 2026-08-10
|
|
393
|
+
|
|
394
|
+
### Changed â bump circle-ir 3.215.0 â 3.216.0 + circle-ir-ai ^2.103.0 â ^2.104.0
|
|
395
|
+
|
|
396
|
+
Engine pin bump to stay current. No tool-surface changes. Single circle-ir copy
|
|
397
|
+
verified.
|
|
398
|
+
|
|
399
|
+
## [0.9.16] - 2026-08-10
|
|
400
|
+
|
|
401
|
+
### Changed â bump circle-ir 3.214.0 â 3.215.0 + circle-ir-ai ^2.102.0 â ^2.103.0
|
|
402
|
+
|
|
403
|
+
Engine pin bump (skillsregistry #49/#50/#51/#53 + cognium-ai#264). No
|
|
404
|
+
tool-surface changes. Single circle-ir copy verified.
|
|
405
|
+
|
|
406
|
+
## [0.9.15] - 2026-08-09
|
|
407
|
+
|
|
408
|
+
### Changed â bump circle-ir-ai ^2.101.0 â ^2.102.0
|
|
409
|
+
|
|
410
|
+
Engine sync: instruction-safety FP guards (sr#55/#56) + VEX real-CWE emission
|
|
411
|
+
(cognium-ai#280). No tool-surface changes.
|
|
412
|
+
|
|
413
|
+
## [0.9.14] - 2026-08-09
|
|
414
|
+
|
|
415
|
+
### Changed â bump circle-ir-ai ^2.100.0 â ^2.101.0
|
|
416
|
+
|
|
417
|
+
Engine sync: capability-mismatch + instruction-safety precision fixes
|
|
418
|
+
(skillsregistry #4/#35/#18 â safe-mirror FPs cleared, undisclosed_capability TP
|
|
419
|
+
preserved). Single-copy asserted; typecheck clean.
|
|
420
|
+
|
|
421
|
+
## [0.9.13] - 2026-08-08
|
|
422
|
+
|
|
423
|
+
### Changed â bump circle-ir-ai ^2.99.0 â ^2.100.0
|
|
424
|
+
|
|
425
|
+
Engine sync: adds the `fetch_and_execute` + `persistence` skills code-threat
|
|
426
|
+
detectors (skillsregistry #25 partial; #30 fetch_and_execute). Single-copy
|
|
427
|
+
asserted; typecheck clean.
|
|
428
|
+
|
|
429
|
+
## [0.9.12] - 2026-08-08
|
|
430
|
+
|
|
431
|
+
### Changed â bump circle-ir-ai ^2.98.0 â ^2.99.0
|
|
432
|
+
|
|
433
|
+
Engine sync: adds the marketplace/plugin listing scanner (detectMarketplaceThreats
|
|
434
|
+
â namespace_squatting #41, listing_shadowing) per skillsregistry #41/#9.
|
|
435
|
+
Single-copy asserted; typecheck clean.
|
|
436
|
+
|
|
437
|
+
## [0.9.11] - 2026-08-08
|
|
438
|
+
|
|
439
|
+
### Changed â bump circle-ir-ai ^2.97.0 â ^2.98.0
|
|
440
|
+
|
|
441
|
+
Engine sync: adds the SR-D2 `trigger_hijack` + SR-E7 `shadow_features` skills
|
|
442
|
+
detectors (#24/#19). Single-copy asserted; typecheck clean.
|
|
443
|
+
|
|
444
|
+
## [0.9.10] - 2026-08-08
|
|
445
|
+
|
|
446
|
+
### Changed â bump circle-ir-ai ^2.96.0 â ^2.97.0
|
|
447
|
+
|
|
448
|
+
Engine sync to 2.97.0: cache-dir EACCES resilience + CIRCLE_IR_CACHE_DIR override
|
|
449
|
+
(fixes api.cognium.net 0-findings) and the four critical SR-E skills detectors
|
|
450
|
+
(#20/#30/#21/#40). Single-copy asserted; typecheck clean.
|
|
451
|
+
|
|
452
|
+
## [0.9.9] - 2026-08-07
|
|
453
|
+
|
|
454
|
+
### Changed â bump circle-ir 3.213.0 â 3.214.0 + circle-ir-ai ^2.95.0 â ^2.96.0
|
|
455
|
+
|
|
456
|
+
Engine sync for single-copy resolution across the circle-pack build. 3.214.0 =
|
|
457
|
+
cognium-ai#264 Defect A fix; circle-ir-ai 2.96.0 = #264 residual precision +
|
|
458
|
+
sr#19 HIDDEN_URL fix. No mcp-server tool-surface change. Single-copy asserted.
|
|
459
|
+
|
|
460
|
+
## [0.9.8] - 2026-08-07
|
|
461
|
+
|
|
462
|
+
### Changed â bump circle-ir-ai ^2.93.0 â ^2.95.0
|
|
463
|
+
|
|
464
|
+
Engine sync for single-copy resolution across the circle-pack build. 2.95.0
|
|
465
|
+
lands the SR-A instruction-safety detectors + five more skills code-threat
|
|
466
|
+
detectors. No mcp-server tool-surface change. Single-copy assertion post-publish.
|
|
467
|
+
|
|
468
|
+
## [0.9.7] - 2026-08-06
|
|
469
|
+
|
|
470
|
+
### Changed â circle-ir 3.209.0 â 3.213.0 + circle-ir-ai ^2.93.0
|
|
471
|
+
|
|
472
|
+
Engine sync (per-context token meter + #123 dependency-hardening pass land via
|
|
473
|
+
circle-ir-ai 2.92.0). Single-copy assertion post-publish.
|
|
474
|
+
|
|
475
|
+
## [0.9.6] - 2026-08-04
|
|
476
|
+
|
|
477
|
+
### Changed â bump circle-ir 3.206.0 â 3.209.0 + circle-ir-ai ^2.90.0
|
|
478
|
+
|
|
479
|
+
Engine sync to the latest FP-fix line (cognium-dev#269): #268 (StringBuilder XSS
|
|
480
|
+
over-broad sink), #253 (connection-string secrets). Single-copy assertion holds,
|
|
481
|
+
typecheck clean.
|
|
482
|
+
|
|
483
|
+
## [0.9.5] - 2026-08-04
|
|
484
|
+
|
|
485
|
+
### Changed â bump circle-ir-ai ^2.88.0 â ^2.89.0 (verifier severity cap, #258)
|
|
486
|
+
|
|
487
|
+
Engine sync. Picks up the verifier-severity-cap fix (#258): the verifier can no
|
|
488
|
+
longer elevate a finding above the detector's baseline severity. Single-copy
|
|
489
|
+
assertion holds, typecheck clean.
|
|
490
|
+
|
|
491
|
+
## [0.9.4] - 2026-08-04
|
|
492
|
+
|
|
493
|
+
### Changed â bump circle-ir 3.204.0 â 3.206.0 + circle-ir-ai ^2.85.0 â ^2.88.0
|
|
494
|
+
|
|
495
|
+
Engine sync. Single-copy assertion holds (1 circle-ir copy), typecheck clean.
|
|
496
|
+
Picks up circle-ir-ai #262 (fail-closed unverified findings) and #129 (go/js
|
|
497
|
+
`log_injection` CWE-117 static parity via circle-ir 3.206.0).
|
|
498
|
+
|
|
499
|
+
## [0.9.3] - 2026-08-03
|
|
500
|
+
|
|
501
|
+
### Changed â bump circle-ir 3.200.0 â 3.204.0, circle-ir-ai ^2.83.0 â ^2.85.0
|
|
502
|
+
|
|
503
|
+
Uniform fleet pin onto the negative-cache (#180) + cache-event telemetry (#182)
|
|
504
|
+
release. No source change; typecheck + build clean, 11 tests pass, single
|
|
505
|
+
`circle-ir` copy at 3.204.0.
|
|
506
|
+
|
|
507
|
+
## [0.9.2] - 2026-08-03
|
|
508
|
+
|
|
509
|
+
### Changed â bump circle-ir-ai ^2.82.1 â ^2.83.0
|
|
510
|
+
|
|
511
|
+
Uniform fleet pin onto the skills code-threat detector release (cognium-ai#259).
|
|
512
|
+
mcp-server does not consume the new skills passes; this keeps the pin uniform.
|
|
513
|
+
No source change; typecheck + build clean, 11 tests pass, single `circle-ir`
|
|
514
|
+
copy at 3.200.0.
|
|
515
|
+
|
|
516
|
+
## [0.9.1] - 2026-08-02
|
|
517
|
+
|
|
518
|
+
### Changed â bump circle-ir-ai ^2.81.0 â ^2.82.1, circle-ir 3.198.0 â 3.200.0
|
|
519
|
+
|
|
520
|
+
Uniform fleet pin; single-copy dedupe verified (one `circle-ir` at 3.200.0,
|
|
521
|
+
`circle-ir-ai` 2.82.1). Tracks the circle-ir-ai 2.82.1 parse-isolation worker
|
|
522
|
+
fix (#252). No mcp-server source change; typecheck + build clean, 11 tests pass.
|
|
523
|
+
|
|
524
|
+
> Note: changelog entries for 0.7.xâÂÂ0.9.0 were not recorded (pre-existing
|
|
525
|
+
> drift); those were uniform circle-ir/circle-ir-ai fleet-pin bumps.
|
|
526
|
+
|
|
527
|
+
## [0.6.58] - 2026-07-28
|
|
528
|
+
|
|
529
|
+
### Changed â bump circle-ir-ai ^2.59.1 â ^2.60.1
|
|
530
|
+
|
|
531
|
+
Uniform fleet pin; single-copy dedupe. Tracks the Q5 conformance-attestation
|
|
532
|
+
engine release (circle-ir-ai 2.60.1). No mcp-server source change.
|
|
533
|
+
|
|
534
|
+
## [0.6.57] - 2026-07-28
|
|
535
|
+
|
|
536
|
+
### Changed â bump circle-ir 3.192.0 â 3.193.0 + circle-ir-ai ^2.59.1
|
|
537
|
+
|
|
538
|
+
Uniform fleet pin; single-copy dedupe. No source change.
|
|
539
|
+
|
|
540
|
+
## [0.6.56] - 2026-07-26
|
|
541
|
+
|
|
542
|
+
### Dependencies
|
|
543
|
+
|
|
544
|
+
- Bump `circle-ir-ai` ^2.58.0 â **^2.59.0** (minified skip catches `-min.js`
|
|
545
|
+
dash variant; circle-ir-ai#243). circle-ir stays 3.192.0, single-copy dedupe.
|
|
546
|
+
No MCP tool/contract change.
|
|
547
|
+
|
|
548
|
+
## [0.6.55] - 2026-07-25
|
|
549
|
+
|
|
550
|
+
### Dependencies
|
|
551
|
+
|
|
552
|
+
- Bump `circle-ir-ai` ^2.57.0 â **^2.58.0** (filename-based minified-artifact
|
|
553
|
+
skip; circle-ir-ai#243). circle-ir stays 3.192.0, single-copy dedupe. No MCP
|
|
554
|
+
tool/contract change.
|
|
555
|
+
|
|
556
|
+
## [0.6.54] - 2026-07-24
|
|
557
|
+
|
|
558
|
+
### Dependencies
|
|
559
|
+
|
|
560
|
+
- Bump `circle-ir` 3.176.0 â **3.192.0** and `circle-ir-ai` ^2.56.1 â **^2.57.0**
|
|
561
|
+
(adaptive verify sizing + client-timeout AIMD; circle-ir-ai#244). Deduped to a
|
|
562
|
+
single circle-ir 3.192.0. No MCP tool/contract change â the 9 tools are
|
|
563
|
+
unchanged; this is an engine refresh that inherits the LLM-verify reliability
|
|
564
|
+
fixes for tools that run the verify path.
|
|
565
|
+
|
|
566
|
+
## [0.6.53] - 2026-07-20
|
|
567
|
+
|
|
568
|
+
### Dependencies
|
|
569
|
+
|
|
570
|
+
- Bump `circle-ir` 3.175.0 â **3.176.0** and `circle-ir-ai` â **^2.56.1**
|
|
571
|
+
(routine engine refresh). Deduped to a single circle-ir 3.176.0. Build + 11
|
|
572
|
+
tests green. (Publishing this unblocks circle-pack's full dedupe onto 3.176.0.)
|
|
573
|
+
|
|
574
|
+
## [0.6.52] - 2026-07-20
|
|
575
|
+
|
|
576
|
+
### Dependencies
|
|
577
|
+
|
|
578
|
+
- Bump `circle-ir` 3.174.0 â **3.175.0** and `circle-ir-ai` â **^2.56.0**
|
|
579
|
+
(app-code prompt-injection LLM01 recall, cognium-ai#211/#233). Uniform fleet
|
|
580
|
+
pin; deduped to a single circle-ir 3.175.0. Build + 11 tests green.
|
|
581
|
+
|
|
582
|
+
## [0.6.51] - 2026-07-17
|
|
583
|
+
|
|
584
|
+
### Dependencies
|
|
585
|
+
|
|
586
|
+
- Bump `circle-ir` 3.173.0 â **3.174.0** (app-code prompt-injection taint sink,
|
|
587
|
+
cognium-ai#233) and `circle-ir-ai` â **^2.55.1** (trust-completeness legs
|
|
588
|
+
L1âÂÂL6, cognium-ai#234). Uniform fleet pin; deduped to a single circle-ir
|
|
589
|
+
3.174.0. Build + 11 tests green.
|
|
590
|
+
|
|
591
|
+
## [0.6.50] - 2026-07-16
|
|
592
|
+
|
|
593
|
+
### Dependencies
|
|
594
|
+
|
|
595
|
+
- Bump circle-ir-ai ^2.47.1 â ^2.48.0 (uniform-pin alignment with the ecosystem; 2.48.0 is the scan clustering-gate release, cognium-ai#231 â no MCP-surface impact, the tool server doesn't use the scan path). Zero tool-surface change; 11 tests pass.
|
|
596
|
+
|
|
597
|
+
## [0.6.49] - 2026-07-15
|
|
598
|
+
|
|
599
|
+
### Dependencies
|
|
600
|
+
|
|
601
|
+
- Bump circle-ir 3.168.0 â 3.173.0 and circle-ir-ai ^2.41.0 â ^2.47.1 (circle-ir perf sweep). Zero MCP tool-surface change; 11 tests pass.
|
|
602
|
+
|
|
603
|
+
## [0.6.48] - 2026-07-11
|
|
604
|
+
|
|
605
|
+
### Dependencies
|
|
606
|
+
|
|
607
|
+
- Bump circle-ir 3.166.0 to 3.168.0 and circle-ir-ai ^2.40.1 to ^2.41.0 (completes the cognium-dev#250 source-misattribution fix). Zero MCP tool-surface change; 11 tests pass.
|
|
608
|
+
|
|
609
|
+
## [0.6.47] - 2026-07-11
|
|
610
|
+
|
|
611
|
+
### Dependencies
|
|
612
|
+
|
|
613
|
+
- Bump `circle-ir` `3.165.0 â 3.166.0` and `circle-ir-ai`
|
|
614
|
+
`^2.40.0 â ^2.40.1`. Incremental core bump; zero MCP tool-surface
|
|
615
|
+
change. 11 tests pass.
|
|
616
|
+
|
|
617
|
+
## [0.6.46] - 2026-07-10
|
|
618
|
+
|
|
619
|
+
### Dependencies
|
|
620
|
+
|
|
621
|
+
- Bump `circle-ir` `3.164.0 â 3.165.0` and `circle-ir-ai`
|
|
622
|
+
`^2.39.0 â ^2.40.0` (picks up the cognium-dev#250 source-misattribution
|
|
623
|
+
precision fix). Zero MCP tool-surface change; 11 tests pass.
|
|
624
|
+
|
|
625
|
+
## [0.6.45] - 2026-07-10
|
|
626
|
+
|
|
627
|
+
### Dependencies
|
|
628
|
+
|
|
629
|
+
- Bump `circle-ir` `3.162.0 â 3.164.0` and `circle-ir-ai`
|
|
630
|
+
`^2.38.0 â ^2.39.0` (picks up the #119 trust-scoring fix + circle-ir
|
|
631
|
+
3.164.0). Zero MCP tool-surface change; 11 tests pass.
|
|
632
|
+
|
|
633
|
+
## [0.6.44] - 2026-07-10
|
|
634
|
+
|
|
635
|
+
### Dependencies
|
|
636
|
+
|
|
637
|
+
- Bump `circle-ir` `3.160.0 â 3.162.0` and `circle-ir-ai`
|
|
638
|
+
`^2.37.16 â ^2.38.0` (picks up the #211 LLM04 tool-poisoning
|
|
639
|
+
detection + circle-ir 3.162.0). Zero MCP tool-surface change; 11
|
|
640
|
+
tests pass.
|
|
641
|
+
|
|
642
|
+
## [0.6.43] - 2026-07-09
|
|
643
|
+
|
|
644
|
+
### Dependencies
|
|
645
|
+
|
|
646
|
+
- Bump `circle-ir` `3.159.0 â 3.160.0` and `circle-ir-ai`
|
|
647
|
+
`^2.37.15 â ^2.37.16`. Core engine pin bump; zero MCP tool-surface
|
|
648
|
+
change. 11 tests pass.
|
|
649
|
+
|
|
650
|
+
## [0.6.42] - 2026-07-09
|
|
651
|
+
|
|
652
|
+
### Dependencies
|
|
653
|
+
|
|
654
|
+
- Bump `circle-ir` `3.158.0 â 3.159.0` and `circle-ir-ai`
|
|
655
|
+
`^2.37.13 â ^2.37.15`. Zero MCP tool-surface change; cascade with
|
|
656
|
+
the #212 deep-merge + #213 verified-path dedup engine fixes. 11
|
|
657
|
+
tests pass.
|
|
658
|
+
|
|
659
|
+
## [0.6.41] - 2026-07-08
|
|
660
|
+
|
|
661
|
+
### Dependencies
|
|
662
|
+
|
|
663
|
+
- Bump `circle-ir` `3.156.0 â 3.158.0` and `circle-ir-ai`
|
|
664
|
+
`^2.37.11 â ^2.37.13`. Zero MCP tool-surface change; cascade with
|
|
665
|
+
the `circle-ir@3.158.0` upgrade across the four packages.
|
|
666
|
+
|
|
667
|
+
## [0.6.40] - 2026-07-07
|
|
668
|
+
|
|
669
|
+
### Re-forwarded
|
|
670
|
+
|
|
671
|
+
- Repin `circle-ir` `3.155.0 â 3.156.0` and `circle-ir-ai` `^2.37.10 â ^2.37.11`.
|
|
672
|
+
Zero MCP tool-surface change. Undoes the 0.6.39 rollback after the
|
|
673
|
+
rollback-verification sweep proved the `cognium-ai#202` "regression" was
|
|
674
|
+
a false alarm caused by cache-warmth artifact in the golden baseline
|
|
675
|
+
(200+ zero-token `verifyTaintPathsBatch` cache-hit log entries were
|
|
676
|
+
compared against cold-cache real calls in the 3.156.0 sweep).
|
|
677
|
+
- Cold-cache rollback sweep on 2.31.10 / 3.155.0 came in **higher**
|
|
678
|
+
(5,543 realCalls) than the "regression" it was meant to fix
|
|
679
|
+
(4,272 realCalls), confirming the engine's static pipeline is
|
|
680
|
+
invariant across `3.155.0 â 3.156.0`. See `circle-ir-ai@2.37.11`
|
|
681
|
+
CHANGELOG for the full diagnosis.
|
|
682
|
+
|
|
683
|
+
### Tests
|
|
684
|
+
|
|
685
|
+
- 1 file, 11 passed. Typecheck + build clean.
|
|
686
|
+
|
|
687
|
+
## [0.6.39] - 2026-07-06
|
|
688
|
+
|
|
689
|
+
### Rolled back
|
|
690
|
+
|
|
691
|
+
- Repin `circle-ir` `3.156.0 â 3.155.0` and `circle-ir-ai` `^2.37.9 â ^2.37.10`.
|
|
692
|
+
Zero MCP tool-surface change. Tracks the engine rollback in
|
|
693
|
+
`circle-ir-ai@2.37.10` â see
|
|
694
|
+
[cognium-ai#202](https://github.com/cogniumhq/cognium-ai/issues/202)
|
|
695
|
+
(3.156.0 Tier-2 verifier-cost regression). Holding at `circle-ir@3.155.0`
|
|
696
|
+
until upstream fix. **Supersedes 0.6.38** â do not use.
|
|
697
|
+
|
|
698
|
+
## [0.6.38] - 2026-07-06
|
|
699
|
+
|
|
700
|
+
### Dependencies
|
|
701
|
+
|
|
702
|
+
- Bump `circle-ir` `3.155.0 â 3.156.0` and `circle-ir-ai` `^2.37.8 â ^2.37.9`.
|
|
703
|
+
Zero MCP tool-surface change; cascade to keep engine + core pinned
|
|
704
|
+
uniformly across `cognium-ai` / `circle-ir-ai` / `@cognium-ai/mcp-server`
|
|
705
|
+
/ `circle-pack`.
|
|
706
|
+
|
|
707
|
+
**Superseded by 0.6.39** â the 3.156.0 engine caused a Tier-2 regression
|
|
708
|
+
(cognium-ai#202); do not use 0.6.38 (also never published).
|
|
709
|
+
|
|
710
|
+
## [0.6.37] - 2026-07-06
|
|
711
|
+
|
|
712
|
+
### Dependencies
|
|
713
|
+
|
|
714
|
+
- Bump `circle-ir` `3.154.0 â 3.155.0` and `circle-ir-ai` `^2.37.7 â ^2.37.8`.
|
|
715
|
+
Zero MCP tool-surface change; cascade to keep engine + core pinned
|
|
716
|
+
uniformly across `cognium-ai` / `circle-ir-ai` / `@cognium-ai/mcp-server`
|
|
717
|
+
/ `circle-pack`. Supersedes the unpublished 0.6.36 which pinned 3.154.0.
|
|
718
|
+
|
|
719
|
+
## [0.6.36] - 2026-07-06
|
|
720
|
+
|
|
721
|
+
### Dependencies
|
|
722
|
+
|
|
723
|
+
- Bump `circle-ir` `3.153.0 â 3.154.0` and `circle-ir-ai` `^2.37.6 â ^2.37.7`.
|
|
724
|
+
Zero MCP tool-surface change; cascade to keep engine + core pinned
|
|
725
|
+
uniformly across `cognium-ai` / `circle-ir-ai` / `@cognium-ai/mcp-server`
|
|
726
|
+
/ `circle-pack`.
|
|
727
|
+
|
|
728
|
+
## [0.6.35] - 2026-07-06
|
|
729
|
+
|
|
730
|
+
### Dependencies
|
|
731
|
+
|
|
732
|
+
- Bump `circle-ir` `3.152.0 â 3.153.0` and `circle-ir-ai` `^2.37.5 â ^2.37.6`.
|
|
733
|
+
Zero MCP tool-surface change; pure cascade to keep engine + core pinned
|
|
734
|
+
uniformly across `cognium-ai` / `circle-ir-ai` / `@cognium-ai/mcp-server`
|
|
735
|
+
/ `circle-pack`.
|
|
736
|
+
|
|
737
|
+
## [0.6.32] - 2026-07-05
|
|
738
|
+
|
|
739
|
+
### Dependencies
|
|
740
|
+
|
|
741
|
+
- Bump `circle-ir` `3.150.0 â 3.152.0` and `circle-ir-ai` `^2.37.0 â ^2.37.3`.
|
|
742
|
+
Picks up **cognium-ai#189** â two `library/*` project-profile gates
|
|
743
|
+
targeting Tier 2 FP-drop (~45% combined on library/production repos):
|
|
744
|
+
- **Source-side gate** (circle-ir 3.151.0): drops `interprocedural_param`
|
|
745
|
+
/ `constructor_field` seeds under `library/*`, removing Scenario-B
|
|
746
|
+
`external_taint_escape` (CWE-668) synthesis (~35% FP-drop).
|
|
747
|
+
- **Sink-side gate** (circle-ir 3.152.0, pass
|
|
748
|
+
`library-profile-sink-gate` #112): drops entire `log_injection`
|
|
749
|
+
(CWE-117) sink class from the taint graph before flow generation
|
|
750
|
+
when `Meta.projectProfile` begins with `library/` (~10% FP-drop).
|
|
751
|
+
- Zero MCP tool-surface change. `find_pattern` and other tools that
|
|
752
|
+
route through the discovery engine inherit the library-profile
|
|
753
|
+
filtering automatically once callers pass a `projectProfile` on the
|
|
754
|
+
underlying `analyze()` invocation (auto-populated onto `Meta` per the
|
|
755
|
+
3.150.1 contract).
|
|
756
|
+
|
|
757
|
+
## [0.6.31] - 2026-07-03
|
|
758
|
+
|
|
759
|
+
### Dependencies
|
|
760
|
+
|
|
761
|
+
- Bump `circle-ir-ai` `^2.36.0 â ^2.37.0` (cognium-ai#191 â surface
|
|
762
|
+
silent LLM-error swallow). MCP tool surface unaffected. The engine
|
|
763
|
+
now:
|
|
764
|
+
- Distinguishes "LLM said no vulnerability" from "LLM call failed"
|
|
765
|
+
via a new optional `llmError?: { kind, message }` field on
|
|
766
|
+
`DiscoveryResult` (additive schema change).
|
|
767
|
+
- Increments a process-wide `llmErrorCounter` on every
|
|
768
|
+
discovery-stage LLM failure, with a first-error stderr warning.
|
|
769
|
+
- Categorizes failures as `empty_response | parse_error | timeout |
|
|
770
|
+
http_error | rate_limited | connection_error |
|
|
771
|
+
transient_server_error | unknown`.
|
|
772
|
+
|
|
773
|
+
MCP callers that consume `DiscoveryResult` values via
|
|
774
|
+
`find_pattern` / spec-related tools may now see the `llmError`
|
|
775
|
+
field populated when the LLM backend is misconfigured or degraded.
|
|
776
|
+
Absent field = engine reports no LLM transport failure (existing
|
|
777
|
+
behavior).
|
|
778
|
+
|
|
779
|
+
- No MCP schema changes, no tool-surface changes, no auth changes.
|
|
780
|
+
|
|
781
|
+
**Rollback:** downgrade to `@cognium-ai/mcp-server@0.6.30` +
|
|
782
|
+
`circle-ir-ai@2.36.0`.
|
|
783
|
+
|
|
784
|
+
## [0.6.30] - 2026-07-03
|
|
785
|
+
|
|
786
|
+
### Dependencies
|
|
787
|
+
|
|
788
|
+
- Bump `circle-ir-ai` `^2.35.0 â ^2.36.0` (cognium-ai#189 â cache
|
|
789
|
+
Round 3, model-in-path). MCP tool surface unaffected â the change
|
|
790
|
+
is cache-layer only:
|
|
791
|
+
- R2/local-fs layout for `verify` / `discovery` / `classifier`
|
|
792
|
+
caches gains a `<model-slug>/` path segment.
|
|
793
|
+
- `SCHEMA_VER 'cic:v2' â 'cic:v3'` invalidates warm cache entries
|
|
794
|
+
on first tool invocation post-upgrade.
|
|
795
|
+
- Bump `circle-ir` unchanged at `3.150.0`.
|
|
796
|
+
|
|
797
|
+
### Operator impact for the mcp-server
|
|
798
|
+
|
|
799
|
+
- MCP tools that indirectly exercise LLM caches (via
|
|
800
|
+
`SecurityScanner.scan()` â `analyzeFile()` â `discovery-cache` /
|
|
801
|
+
`verify-cache`) will cold-populate on first call after upgrade.
|
|
802
|
+
- Long-running MCP clients caching prior tool responses at their own
|
|
803
|
+
layer see no protocol change; only the on-disk / R2 cache shape
|
|
804
|
+
moves. Steady-state hit rate returns after re-population.
|
|
805
|
+
|
|
806
|
+
## [0.6.29] - 2026-07-03
|
|
807
|
+
|
|
808
|
+
### Dependencies
|
|
809
|
+
|
|
810
|
+
- Bump `circle-ir-ai` `^2.34.0 â ^2.35.0`. Picks up Sprint P2 Batch 4's
|
|
811
|
+
wide precision pass, all reaching the MCP tool surface via
|
|
812
|
+
`SecurityScanner.scan()` / `analyzeFile()`:
|
|
813
|
+
- **cognium-ai#173** â build / CI script path suppression gate
|
|
814
|
+
(`isBuildOrCiScriptPath()` predicate; suppresses sinks under
|
|
815
|
+
`docs?/`, `scripts?/`, `tools/`, `examples/`, `samples/`,
|
|
816
|
+
`demos/`, `benchmarks?/` + build-file shapes like `conf.py`,
|
|
817
|
+
`noxfile.py`, `conftest.py`).
|
|
818
|
+
- **cognium-ai#127 + wide** â TIER_1_BY_SUPERTYPE extension covering
|
|
819
|
+
Netty (`ChannelInboundHandler` family), Vert.x (`Handler` with
|
|
820
|
+
param-type disambiguation), gRPC (`ServerCallHandler`,
|
|
821
|
+
`ServerCall.Listener`, `BindableService`), Spring WebFlux
|
|
822
|
+
(`HandlerFunction`, `WebFilter`), JAX-WS (`Provider`). Additive:
|
|
823
|
+
previously-uncaught endpoint sinks on these frameworks now flip
|
|
824
|
+
into TP.
|
|
825
|
+
- **cognium-ai#169** â verifier prompt directive hardening for
|
|
826
|
+
gemma3:12b. `BATCH_VERIFICATION_PROMPT` tier block rewritten from
|
|
827
|
+
advisory to directive language + Batch 4 supertype list + pinned
|
|
828
|
+
short-reasoning template. 5-test regression fixture in engine.
|
|
829
|
+
|
|
830
|
+
No MCP tool surface change. See `circle-ir-ai/CHANGELOG.md#2.35.0`
|
|
831
|
+
for the full rationale, regex specs, evidence, and test coverage
|
|
832
|
+
(14 sink-filter + 16 entry-point + 5 verifier regression tests,
|
|
833
|
+
1324 pass + 3 skipped total).
|
|
834
|
+
|
|
835
|
+
Unit-test surface unchanged. Typecheck: clean.
|
|
836
|
+
|
|
837
|
+
## [0.6.28] - 2026-07-03
|
|
838
|
+
|
|
839
|
+
### Dependencies
|
|
840
|
+
|
|
841
|
+
- Bump `circle-ir` `3.148.0 â 3.150.0` and `circle-ir-ai` `^2.33.5 âÂÂ
|
|
842
|
+
^2.34.0`. Picks up two precision wins in `circle-ir-ai@2.34.0` that
|
|
843
|
+
reach the MCP tool surface via `SecurityScanner.scan()` /
|
|
844
|
+
`analyzeFile()`:
|
|
845
|
+
- **cognium-ai#167** â XPath / XXE / crypto library-internal FP
|
|
846
|
+
gates (JsonPath / Jaxen / Saxon / DOM4j XPath, jsoup / HtmlCleaner,
|
|
847
|
+
JJWT / Nimbus JOSE / BouncyCastle / Tink + JCA SPI subclass check).
|
|
848
|
+
Projected ~23 CRIT FP drop on the 2026-06-24 top-100 Java baseline.
|
|
849
|
+
- **cognium-ai#168** â LLM-path `explanation` field preservation.
|
|
850
|
+
The 2026-07-01 top-10 sweep shipped 495/496 CRIT+HIGH LLM findings
|
|
851
|
+
with `explanation: ""`; workflow + scanner fallback chain now
|
|
852
|
+
surface `verification.reasoning` so the MCP finding payload
|
|
853
|
+
populates the narrative field âÂÂ¥99% of the time.
|
|
854
|
+
|
|
855
|
+
No MCP tool surface change. See `circle-ir-ai/CHANGELOG.md#2.34.0`
|
|
856
|
+
for the full rationale, predicate regexes, evidence, and test
|
|
857
|
+
coverage (28 gate tests + 5 field-preservation tests, 1289 pass +
|
|
858
|
+
3 skipped total).
|
|
859
|
+
|
|
860
|
+
Unit-test surface unchanged. Typecheck: clean.
|
|
861
|
+
|
|
862
|
+
## [0.6.27] - 2026-07-02
|
|
863
|
+
|
|
864
|
+
### Dependencies
|
|
865
|
+
|
|
866
|
+
- Bump `circle-ir-ai` `^2.33.4 â ^2.33.5`. Picks up the XSS FP suppression
|
|
867
|
+
on servlet writer sinks preceded by `response.setContentType("application/
|
|
868
|
+
jsonâ¦")` in the same enclosing method (cognium-ai#172). No MCP tool surface
|
|
869
|
+
change â the filter runs inside the engine's `SecurityScanner.scan()` /
|
|
870
|
+
`analyzeFile()` pipelines that the `find_pattern` and
|
|
871
|
+
`find_credential_exposure` tools already delegate to. See
|
|
872
|
+
`circle-ir-ai/CHANGELOG.md#2.33.5` for the full rationale.
|
|
873
|
+
|
|
874
|
+
Unit-test surface unchanged (11 pass). Typecheck: clean.
|
|
875
|
+
|
|
876
|
+
## [0.6.26] - 2026-07-02
|
|
877
|
+
|
|
878
|
+
### Dependencies
|
|
879
|
+
|
|
880
|
+
- Bump `circle-ir` `3.146.0 â 3.148.0`. Minor upstream release in the
|
|
881
|
+
CWE-078 restore train (cognium-ai#184); dep-refresh only.
|
|
882
|
+
- Bump `circle-ir-ai` `^2.28.4 â ^2.33.4`. Corrects the stale minor-line
|
|
883
|
+
pin to match the current engine major; picks up:
|
|
884
|
+
- **`2.33.3`** (cognium-ai#127) â threads static per-source
|
|
885
|
+
trust-boundary classification + entry-point tier into the LLM
|
|
886
|
+
verifier user prompt, adds the `## REACHABILITY CONTEXT` rubric so
|
|
887
|
+
the model can weight each tag. No MCP tool surface change.
|
|
888
|
+
- **`2.33.4`** â follow-on `circle-ir 3.146.0 â 3.148.0` bump.
|
|
889
|
+
|
|
890
|
+
All 11 tests pass, typecheck clean.
|
|
891
|
+
|
|
892
|
+
## [0.6.23] - 2026-07-01
|
|
893
|
+
|
|
894
|
+
### Dependencies
|
|
895
|
+
|
|
896
|
+
- Bump `circle-ir-ai` `^2.28.3` â `^2.28.4`. Picks up
|
|
897
|
+
cognium-ai#163 landing-plan step 2 (B3 + B4 + B5):
|
|
898
|
+
- **B3** â R2 cache-backend errors now categorized into 7 buckets
|
|
899
|
+
and emitted as synthetic JSONL rows (dedup + first-time stderr
|
|
900
|
+
surfacing).
|
|
901
|
+
- **B4** â pinned SHA-256 snapshots of all LLM prompt templates.
|
|
902
|
+
- **B5** â engine-side CI job asserts uniform `circle-ir` pin
|
|
903
|
+
across all 4 workspace packages.
|
|
904
|
+
|
|
905
|
+
No MCP tool surface change. All 11 tests pass, typecheck clean.
|
|
906
|
+
|
|
907
|
+
## [0.6.22] - 2026-07-01
|
|
908
|
+
|
|
909
|
+
### Dependencies
|
|
910
|
+
|
|
911
|
+
- Bump `circle-ir-ai` `^2.28.1` â `^2.28.3`. Picks up
|
|
912
|
+
cognium-ai#163 landing-plan step 1 (B1 + B2):
|
|
913
|
+
discovery per-CWE cache key now covers `annotations` +
|
|
914
|
+
top-20 sorted `imports` (sentinel `disc-v1 â disc-v2`);
|
|
915
|
+
`existingSources` / `existingSinks` canonicalized before
|
|
916
|
+
hashing in the mastra workflow. No MCP tool surface change.
|
|
917
|
+
- Bump `circle-ir` `3.135.0` â `3.139.0`.
|
|
918
|
+
|
|
919
|
+
All 11 tests pass, typecheck clean.
|
|
920
|
+
|
|
921
|
+
## [0.6.21] - 2026-06-30
|
|
922
|
+
|
|
923
|
+
### Dependencies
|
|
924
|
+
|
|
925
|
+
- Bump `circle-ir-ai` `^2.26.0` â `^2.28.1`. Picks up Phase 2 of
|
|
926
|
+
cognium-ai#158 (Round 2 cache key + path layout reshape,
|
|
927
|
+
D1/D2/D3/D4/D6 â including the tree-cache absolute-path leak fix
|
|
928
|
+
that lets two CI runners share verifier cache entries via R2).
|
|
929
|
+
No MCP tool surface change.
|
|
930
|
+
- Bump `circle-ir` `3.129.0` â `3.135.0`.
|
|
931
|
+
|
|
932
|
+
All 11 tests pass, typecheck clean.
|
|
933
|
+
|
|
934
|
+
## [0.6.20] - 2026-06-30
|
|
935
|
+
|
|
936
|
+
### Dependencies
|
|
937
|
+
|
|
938
|
+
- Bump `circle-ir-ai` `^2.22.0` â `^2.26.0`. Cascades the full epic
|
|
939
|
+
#155 stack (P1âÂÂP4) â four engine releases land in this single MCP
|
|
940
|
+
bump:
|
|
941
|
+
- **2.23.0 (cognium-ai#152, P1):** persistent verify cache
|
|
942
|
+
(`.cognium/cache/verify/`, 24h TTL, model-fingerprinted). Env:
|
|
943
|
+
`LLM_VERIFY_CACHE=0`.
|
|
944
|
+
- **2.24.0 (cognium-ai#134, P2):** persistent discovery cache
|
|
945
|
+
(`.cognium/cache/discovery/`, 24h TTL, model-fingerprinted).
|
|
946
|
+
Env: `LLM_DISCOVERY_CACHE=0`.
|
|
947
|
+
- **2.25.0 (cognium-ai#153, P3):** persistent tree cache
|
|
948
|
+
(`.cognium/cache/tree/`, 7-day TTL, keyed on engine versions
|
|
949
|
+
not model). Env: `LLM_TREE_CACHE=0`.
|
|
950
|
+
- **2.26.0 (cognium-ai#154, P4 foundation):** new `src/cluster/`
|
|
951
|
+
module (`clusterFiles`, `extractClusterVector`, `ClusterPolicy`).
|
|
952
|
+
Foundation only â no consumption inside mcp-server yet.
|
|
953
|
+
|
|
954
|
+
Routine pass-through for the MCP server itself: all 9 tools
|
|
955
|
+
retain their existing surface. Warm-scan behavior tools see the
|
|
956
|
+
same speedup as `cognium-ai scan` since the underlying engine
|
|
957
|
+
cache stack is shared. Tests + typecheck remain clean (11 pass).
|
|
958
|
+
|
|
959
|
+
## [0.6.19] - 2026-06-30
|
|
960
|
+
|
|
961
|
+
### Dependencies
|
|
962
|
+
|
|
963
|
+
- Bump `circle-ir-ai` `^2.21.0` â `^2.22.0`. Picks up the cache-key
|
|
964
|
+
model-dimension wire-through (cognium-ai#151 P0 spike, acceptance
|
|
965
|
+
criteria 4 + 6). Routine pass-through; no MCP surface change.
|
|
966
|
+
Tests + typecheck remain clean (11 pass).
|
|
967
|
+
|
|
968
|
+
## [0.6.18] - 2026-06-30
|
|
969
|
+
|
|
970
|
+
### Dependencies
|
|
971
|
+
|
|
972
|
+
- Bump `circle-ir` `3.126.0` â `3.129.0` and `circle-ir-ai`
|
|
973
|
+
`^2.20.10` â `^2.21.0`. Routine engine refresh pass-through; picks
|
|
974
|
+
up circle-ir-ai 2.21.0's 23-callsite `withLLMContext` wrap (closes
|
|
975
|
+
cognium-ai#149 per-signature granularity gap in JSONL logs). Tests
|
|
976
|
+
+ typecheck remain clean (11 pass).
|
|
977
|
+
|
|
978
|
+
## [0.6.17] - 2026-06-29
|
|
979
|
+
|
|
980
|
+
### Dependencies
|
|
981
|
+
|
|
982
|
+
- Bump `circle-ir` `3.123.0` â `3.126.0` and `circle-ir-ai`
|
|
983
|
+
`^2.20.8` â `^2.20.10`. Routine engine refresh pass-through; picks up
|
|
984
|
+
circle-ir-ai 2.20.9's #151 two-model split env vars
|
|
985
|
+
(`LLM_DISCOVERY_MODEL` / `LLM_VERIFICATION_MODEL` /
|
|
986
|
+
`LLM_COMPONENT_MODEL`) and 2.20.10's circle-ir 3.126.0 refresh.
|
|
987
|
+
Tests + typecheck remain clean.
|
|
988
|
+
|
|
989
|
+
## [0.6.16] - 2026-06-29
|
|
990
|
+
|
|
991
|
+
### Dependencies
|
|
992
|
+
|
|
993
|
+
- Bump `circle-ir-ai` `^2.20.6` â `^2.20.8`. Picks up:
|
|
994
|
+
- **circle-ir-ai 2.20.7 LLM cost-reduction batch** â `#144`
|
|
995
|
+
`LLM_MAX_PAIRS_PER_CHUNK` env knob, `#145` enrichment static
|
|
996
|
+
pre-filter (`fileNeedsEnrichment(code)`), `#138 step 3`
|
|
997
|
+
verifier submission-side dedup at `verifyTaintPathsBatch`.
|
|
998
|
+
No MCP-surface impact; downstream LLM calls from any tool that
|
|
999
|
+
triggers enrichment / verification benefit from the same call
|
|
1000
|
+
reduction.
|
|
1001
|
+
- **circle-ir-ai 2.20.8** â bump `circle-ir` `3.121.0` â `3.123.0`
|
|
1002
|
+
(routine engine refresh).
|
|
1003
|
+
- Bump direct `circle-ir` pin `3.121.0` â `3.123.0` to match.
|
|
1004
|
+
- Cross-checks: 11/11 tests pass, typecheck clean.
|
|
1005
|
+
|
|
1006
|
+
## [0.6.15] - 2026-06-29
|
|
1007
|
+
|
|
1008
|
+
### Dependencies
|
|
1009
|
+
|
|
1010
|
+
- Bump `circle-ir-ai` `^2.20.4` â `^2.20.6`. Picks up the
|
|
1011
|
+
**cognium-ai#148 retry-attribution fix** â `kind:"call"` JSONL log
|
|
1012
|
+
row now reports the actual `attemptIdx` from `_chatJSONImpl`'s
|
|
1013
|
+
inline retry loop instead of always 0. Per-attempt rows were
|
|
1014
|
+
correct; only the per-call summary lied. Fixed via a
|
|
1015
|
+
`lastAttemptCount` side-channel field populated in a try/finally
|
|
1016
|
+
around the queue-task body so every return path captures the
|
|
1017
|
+
final counter. No MCP-surface impact; downstream `analyze-llm-log`
|
|
1018
|
+
consumers now see honest retry rates.
|
|
1019
|
+
|
|
1020
|
+
## [0.6.14] - 2026-06-29
|
|
1021
|
+
|
|
1022
|
+
### Dependencies
|
|
1023
|
+
|
|
1024
|
+
- Bump `circle-ir-ai` `^2.20.2` â `^2.20.4`. Picks up the
|
|
1025
|
+
cognium-ai#146 scan-output regression fix (verified-LLM emit path
|
|
1026
|
+
now populates `type: sink.type`, preserves the full `verification`
|
|
1027
|
+
object instead of a hardcoded `llm_verified: true` stub, and the
|
|
1028
|
+
sanity gate is relaxed from `length >= 20` to `length > 0` so
|
|
1029
|
+
terse-explainer models aren't force-demoted) plus the `circle-ir`
|
|
1030
|
+
`3.107.0` â `3.121.0` bump (adds Vue SFC support upstream).
|
|
1031
|
+
- Bump `circle-ir` pin `3.107.0` â `3.121.0` (lockstep with engine).
|
|
1032
|
+
- No MCP tool-surface changes. Typecheck clean, 11 tests pass.
|
|
1033
|
+
|
|
1034
|
+
## [0.6.13] - 2026-06-28
|
|
1035
|
+
|
|
1036
|
+
### Dependencies
|
|
1037
|
+
|
|
1038
|
+
- Bump `circle-ir-ai` `^2.20.1` â `^2.20.2`. Engine now captures the
|
|
1039
|
+
OpenAI-compatible `usage.{prompt_tokens, completion_tokens}` block
|
|
1040
|
+
from LLM responses and surfaces it on the JSONL call log via new
|
|
1041
|
+
optional `inputTokens` / `outputTokens` fields on each
|
|
1042
|
+
`LLMCallEntry` (cognium-ai#125 Phase 1). No MCP tool surface
|
|
1043
|
+
changes; all 9 tools unaffected. The token fields appear in the
|
|
1044
|
+
file at `$LLM_LOG_JSONL` when the MCP server is invoked with that
|
|
1045
|
+
env var set (existing log readers ignore unknown fields).
|
|
1046
|
+
|
|
1047
|
+
## [0.6.12] - 2026-06-28
|
|
1048
|
+
|
|
1049
|
+
### Dependencies
|
|
1050
|
+
|
|
1051
|
+
- Bump `circle-ir-ai` `^2.20.0` â `^2.20.1`. Engine fixes the
|
|
1052
|
+
recursive verifier fan-out (cognium-ai#143). No MCP tool surface
|
|
1053
|
+
changes; all 9 tools (`verify_spec_conformance`, `find_spec_drift`,
|
|
1054
|
+
`find_pattern`, `find_credential_exposure`,
|
|
1055
|
+
`check_license_compliance`, `find_stale_dependencies`,
|
|
1056
|
+
`find_install_script_risk`, `find_typosquats`,
|
|
1057
|
+
`find_excessive_permissions`) unaffected.
|
|
1058
|
+
|
|
1059
|
+
## [0.6.11] - 2026-06-28
|
|
1060
|
+
|
|
1061
|
+
### Dependencies
|
|
1062
|
+
|
|
1063
|
+
- Bump `circle-ir-ai` `^2.19.4` â `^2.20.0`. Engine drops the orphan
|
|
1064
|
+
role-classification LLM call from mastra `runEnrich` (cognium-ai#139):
|
|
1065
|
+
`cognium-ai scan` enrichment now fires 2 LLM calls per file instead
|
|
1066
|
+
of 3. No MCP tool surface changes â the mastra path is not exposed
|
|
1067
|
+
through MCP tools (MCP exposes `find_pattern`, `verify_spec_*`,
|
|
1068
|
+
`find_credential_exposure`, etc., which go through different code
|
|
1069
|
+
paths). The reduction surfaces transparently for any MCP caller
|
|
1070
|
+
that downstream-invokes `scan`.
|
|
1071
|
+
|
|
1072
|
+
## [0.6.10] - 2026-06-28
|
|
1073
|
+
|
|
1074
|
+
### Dependencies
|
|
1075
|
+
|
|
1076
|
+
- Bump `circle-ir-ai` `^2.19.3` â `^2.19.4`. Upstream 2.19.4 ships
|
|
1077
|
+
cognium-ai#138 steps 1 + 2: opt-in chunk-split telemetry
|
|
1078
|
+
(`LLM_LOG_VERIFY_SPLITS=1`) + `context.file` on verifier JSONL
|
|
1079
|
+
rows. No MCP tool surface changes; both additions are
|
|
1080
|
+
diagnostic / attribution foundations transparent to MCP callers.
|
|
1081
|
+
|
|
1082
|
+
## [0.6.9] - 2026-06-28
|
|
1083
|
+
|
|
1084
|
+
### Dependencies
|
|
1085
|
+
|
|
1086
|
+
- Bump `circle-ir-ai` `^2.19.2` â `^2.19.3`. Upstream 2.19.3 is a
|
|
1087
|
+
pure bugfix release (submission-side dedup at the
|
|
1088
|
+
`discoverVulnerabilities` boundary, fixing cognium-ai#136 â see
|
|
1089
|
+
`circle-ir-ai/CHANGELOG.md#2193`). No MCP tool surface changes;
|
|
1090
|
+
the dedup is transparent to MCP callers.
|
|
1091
|
+
|
|
1092
|
+
## [0.6.8] - 2026-06-26
|
|
1093
|
+
|
|
1094
|
+
### Dependencies
|
|
1095
|
+
|
|
1096
|
+
- Bump `circle-ir-ai` `^2.19.1` â `^2.19.2`. Upstream 2.19.2 is a
|
|
1097
|
+
benchmarks-only release (published `dist/` byte-identical to 2.19.1
|
|
1098
|
+
â chunking refactor lives only in `benchmarks/runners/`). Bumping
|
|
1099
|
+
to stay in lockstep on the release timeline; no MCP tool surface
|
|
1100
|
+
changes.
|
|
1101
|
+
|
|
1102
|
+
## [0.6.7] - 2026-06-25
|
|
1103
|
+
|
|
1104
|
+
### Dependencies
|
|
1105
|
+
|
|
1106
|
+
- Bump `circle-ir` `3.106.0` â `3.107.0`.
|
|
1107
|
+
- Bump `circle-ir-ai` `^2.18.3` â `^2.19.1`.
|
|
1108
|
+
|
|
1109
|
+
Pure cascade. No MCP tool surface changes; the 9 stdio tools
|
|
1110
|
+
(`verify_spec_conformance`, `find_spec_drift`, `find_pattern`,
|
|
1111
|
+
`find_credential_exposure`, `check_license_compliance`,
|
|
1112
|
+
`find_stale_dependencies`, `find_install_script_risk`,
|
|
1113
|
+
`find_typosquats`, `find_excessive_permissions`) are unchanged.
|
|
1114
|
+
|
|
1115
|
+
### What this pulls in (via the engine cascade)
|
|
1116
|
+
|
|
1117
|
+
`circle-ir@3.107.0` (sink-filter-layer FP fixes):
|
|
1118
|
+
|
|
1119
|
+
- JS `setInterval` / `setTimeout` no longer flagged as
|
|
1120
|
+
`code_injection` when the first arg is a function reference
|
|
1121
|
+
(cognium-dev#152).
|
|
1122
|
+
- Java `xxe` no longer over-matches on CommonMark `Parser.parse()`
|
|
1123
|
+
(cognium-dev#181).
|
|
1124
|
+
- Java `sql_injection` regex-allowlist-quoter wrappers no longer
|
|
1125
|
+
trigger taint sinks (cognium-dev#191 / FP-77).
|
|
1126
|
+
|
|
1127
|
+
`circle-ir-ai@2.19.1` is a pure cascade of the same three engine fixes
|
|
1128
|
+
on top of the 2.19.0 ADR-008 projectProfile wiring (cognium-ai#130).
|
|
1129
|
+
|
|
1130
|
+
### Verification
|
|
1131
|
+
|
|
1132
|
+
- `npm run typecheck` â clean.
|
|
1133
|
+
- `npm test` â 11/11 pass.
|
|
1134
|
+
- `npm run build` â clean.
|
|
1135
|
+
- `npm run smoke` â stdio handshake + 9 tools list.
|
|
1136
|
+
|
|
1137
|
+
## [0.6.6] - 2026-06-24
|
|
1138
|
+
|
|
1139
|
+
### Dependencies
|
|
1140
|
+
|
|
1141
|
+
- Bump `circle-ir-ai` `^2.18.2` â `^2.18.3`.
|
|
1142
|
+
- circle-ir pin remains at `3.106.0` (matched 0.6.5 already; this
|
|
1143
|
+
release picks up the engine cascade through circle-ir-ai).
|
|
1144
|
+
|
|
1145
|
+
Pure cascade. No MCP tool surface changes; the 9 stdio tools
|
|
1146
|
+
(`verify_spec_conformance`, `find_spec_drift`, `find_pattern`,
|
|
1147
|
+
`find_credential_exposure`, `check_license_compliance`,
|
|
1148
|
+
`find_stale_dependencies`, `find_install_script_risk`,
|
|
1149
|
+
`find_typosquats`, `find_excessive_permissions`) are unchanged.
|
|
1150
|
+
|
|
1151
|
+
### What this pulls in (via the engine cascade)
|
|
1152
|
+
|
|
1153
|
+
`circle-ir-ai@2.18.3` ships Sprints 47 + 48 from cognium-dev:
|
|
1154
|
+
|
|
1155
|
+
- **Sprint 47** (3.105.0) â central library-API-surface downgrade
|
|
1156
|
+
(cognium-dev #161, #163, #164, #165, #168, #177). Sinks owned by
|
|
1157
|
+
library-API-surface methods (default-config, factory, accessor
|
|
1158
|
+
patterns) are downgraded from `high` to `info` and tagged
|
|
1159
|
+
`library-api-surface:caller-responsibility`; pre-downgrade severity
|
|
1160
|
+
preserved on `SastFinding.original_severity`.
|
|
1161
|
+
- **Sprint 48** (3.106.0) â ADR-008 project-profile architecture
|
|
1162
|
+
(cognium-dev#169). `AnalyzerOptions.projectProfile` accepts a
|
|
1163
|
+
`{ shape, env }` declaration and drives the engine's 5ÃÂ5 matrix
|
|
1164
|
+
severity transform. **Not yet wired** through any MCP tool surface;
|
|
1165
|
+
programmatic API callers wanting to opt in must invoke the engine
|
|
1166
|
+
directly.
|
|
1167
|
+
|
|
1168
|
+
### Verification
|
|
1169
|
+
|
|
1170
|
+
- `npm run typecheck` â clean.
|
|
1171
|
+
- `npm test` â **11 / 11 pass**.
|
|
1172
|
+
- `npm ls circle-ir circle-ir-ai` â resolves to `3.106.0` and
|
|
1173
|
+
`2.18.3` respectively (flat tree, deduped).
|
|
1174
|
+
|
|
1175
|
+
## [0.6.5] - 2026-06-24
|
|
1176
|
+
|
|
1177
|
+
### Dependencies
|
|
1178
|
+
|
|
1179
|
+
- Bump `circle-ir` `3.95.0` â `3.104.0`.
|
|
1180
|
+
- Bump `circle-ir-ai` `^2.18.1` â `^2.18.2`.
|
|
1181
|
+
|
|
1182
|
+
### What this pulls in (via the engine cascade)
|
|
1183
|
+
|
|
1184
|
+
`circle-ir@3.96.0âÂÂ3.104.0` (Sprints 41âÂÂ46, cognium-dev monorepo) âÂÂ
|
|
1185
|
+
pass / filter layer FP suppressions across Java SAST rules:
|
|
1186
|
+
|
|
1187
|
+
- **3.96.0 / 3.97.0 / 3.98.0** â Jinja2 / Python f-string
|
|
1188
|
+
`sql_injection` FP cluster (cognium-dev#159 / #160 / #163).
|
|
1189
|
+
- **3.99.0 / 3.100.0** â Tier-1 cluster releases (6 Java FPs across
|
|
1190
|
+
command_injection / xxe / weak-crypto).
|
|
1191
|
+
- **3.101.0** â picocli `CommandLine` constructor, DocumentBuilder
|
|
1192
|
+
factory, InputSource path-only XXE (cognium-dev#167 / #173 / #170).
|
|
1193
|
+
- **3.102.0** â argv-form `ProcessBuilder`, JDK 8u121+ XXE hardening
|
|
1194
|
+
recognition (cognium-dev#179 Sink 1 / #166).
|
|
1195
|
+
- **3.103.0** â `throw new SQLException(...)` sink-line gate +
|
|
1196
|
+
`resource-leak` factory-method heuristic (cognium-dev#157 / #158).
|
|
1197
|
+
- **3.104.0** â PEM delimiter body-adjacency, CLI option-key
|
|
1198
|
+
kebab-case negative predicate, protocol-mandated DES / RC4 / MD4 /
|
|
1199
|
+
MD5 file-context allow-list (cognium-dev#176 / #174 / #175).
|
|
1200
|
+
|
|
1201
|
+
`circle-ir-ai@2.18.2` adds `ScanOptions.enableLLMVerify?: boolean`
|
|
1202
|
+
(default `true` when `enableLLM` is set) â cognium-ai#124, P1 of the
|
|
1203
|
+
2026-06-24 baseline operating principles. MCP tools don't surface
|
|
1204
|
+
this knob; `verify_spec_conformance` and friends remain unchanged.
|
|
1205
|
+
No new MCP tool surface or JSON-RPC schema changes.
|
|
1206
|
+
|
|
1207
|
+
### Verification
|
|
1208
|
+
|
|
1209
|
+
- `npm run typecheck` â clean.
|
|
1210
|
+
- `npm test` â **11 / 11 pass**.
|
|
1211
|
+
- `npm ls circle-ir circle-ir-ai` â resolves to `3.104.0` and
|
|
1212
|
+
`2.18.2` respectively (flat tree).
|
|
1213
|
+
|
|
1214
|
+
## [0.6.4] - 2026-06-23
|
|
1215
|
+
|
|
1216
|
+
### Dependencies
|
|
1217
|
+
|
|
1218
|
+
- Bump `circle-ir` `3.90.0` â `3.95.0`.
|
|
1219
|
+
- Bump `circle-ir-ai` `^2.18.0` â `^2.18.1`.
|
|
1220
|
+
|
|
1221
|
+
### What this pulls in (via the engine cascade)
|
|
1222
|
+
|
|
1223
|
+
`circle-ir@3.91.0âÂÂ3.95.0` adds:
|
|
1224
|
+
|
|
1225
|
+
- `#136` Tier 1 stereotype-bean classification (3.91.0).
|
|
1226
|
+
- `#142` defensive per-file finding cap (3.92.0).
|
|
1227
|
+
- `#154` Netty entry-point classifier (3.93.0).
|
|
1228
|
+
- `#153` pre-req â speculative-finding suppression infrastructure
|
|
1229
|
+
with `SastFinding.confidence` tri-state (3.94.0).
|
|
1230
|
+
- `#137` `AnalyzerOptions.enableEntryPointGate` opt-out toggle
|
|
1231
|
+
(3.95.0) â Java-only; default `true` matches existing behaviour.
|
|
1232
|
+
|
|
1233
|
+
`circle-ir-ai@2.18.1` is the engine-bump-only release that adopts
|
|
1234
|
+
the above. No new MCP tool surface or JSON-RPC schema changes.
|
|
1235
|
+
|
|
1236
|
+
### Verification
|
|
1237
|
+
|
|
1238
|
+
- `npm run typecheck` â clean.
|
|
1239
|
+
- `npm test` â **11 / 11 pass**.
|
|
1240
|
+
- `npm ls circle-ir circle-ir-ai` â resolves to `3.95.0` and
|
|
1241
|
+
`2.18.1` respectively (flat tree).
|
|
1242
|
+
|
|
1243
|
+
## [0.6.3] - 2026-06-22
|
|
1244
|
+
|
|
1245
|
+
### Dependencies
|
|
1246
|
+
|
|
1247
|
+
- Bump `circle-ir-ai` `^2.17.0` â `^2.18.0`.
|
|
1248
|
+
- `circle-ir` pinned at `3.90.0` (unchanged from 0.6.2).
|
|
1249
|
+
|
|
1250
|
+
### What this pulls in (via the engine bump)
|
|
1251
|
+
|
|
1252
|
+
`circle-ir-ai@2.18.0` adds `CIRCLE_IR_INSTRUMENT_FINDINGS=1` env-var
|
|
1253
|
+
wiring (cognium-dev#145 PR C). Setting the env var when invoking any
|
|
1254
|
+
MCP tool that calls into circle-ir's `analyze()` âÂÂ
|
|
1255
|
+
`find_credential_exposure`, `verify_spec_conformance`, `find_pattern`
|
|
1256
|
+
â emits one `[finding]` JSON line per `SastFinding` plus one
|
|
1257
|
+
`[findings-summary]` line per file on stderr. The JSONL stream
|
|
1258
|
+
carries `dedup_group_id` for cognium-dev#143 coalesce-candidate
|
|
1259
|
+
measurement and is fully no-op when the env var is unset.
|
|
1260
|
+
|
|
1261
|
+
Tool inputs / JSON-RPC schemas unchanged. The env var is the entire
|
|
1262
|
+
control surface â clients control it by setting it in the MCP server's
|
|
1263
|
+
environment (or via the launch wrapper script).
|
|
1264
|
+
|
|
1265
|
+
### Verification
|
|
1266
|
+
|
|
1267
|
+
- `npm install --prefer-online` â clean resolution; `npm ls
|
|
1268
|
+
circle-ir-ai` shows `2.18.0`; `npm ls circle-ir` shows `3.90.0`.
|
|
1269
|
+
- `npm run typecheck` â clean.
|
|
1270
|
+
- `npm test` â **11 / 11 pass**.
|
|
1271
|
+
|
|
1272
|
+
Tool surface unchanged â same 9 tools, same JSON-RPC schemas.
|
|
1273
|
+
|
|
1274
|
+
## [0.6.2] - 2026-06-22
|
|
1275
|
+
|
|
1276
|
+
### Dependencies
|
|
1277
|
+
|
|
1278
|
+
- Bump `circle-ir-ai` `^2.16.0` â `^2.17.0`.
|
|
1279
|
+
- Bump `circle-ir` `3.89.1` â `3.90.0` (pinned; flattens transitive
|
|
1280
|
+
drift with `circle-ir-ai@2.17.0`).
|
|
1281
|
+
|
|
1282
|
+
### What this pulls in (via the engine bump)
|
|
1283
|
+
|
|
1284
|
+
`circle-ir@3.90.0` adds the **findings-emission instrumentation hook**
|
|
1285
|
+
(cognium-dev#145 PR B). `circle-ir-ai@2.17.0` re-exports it but does
|
|
1286
|
+
not wire it through the mastra `runPatternMatch` path yet (gated on
|
|
1287
|
+
PR C). The 9 MCP tools exposed here (`verify_spec_conformance`,
|
|
1288
|
+
`find_spec_drift`, `find_pattern`, `find_credential_exposure`,
|
|
1289
|
+
`check_license_compliance`, `find_stale_dependencies`,
|
|
1290
|
+
`find_install_script_risk`, `find_typosquats`,
|
|
1291
|
+
`find_excessive_permissions`) produce identical output to 0.6.1 in
|
|
1292
|
+
this release.
|
|
1293
|
+
|
|
1294
|
+
### Verification
|
|
1295
|
+
|
|
1296
|
+
- `npm install --prefer-online` â clean resolution; `npm ls
|
|
1297
|
+
circle-ir-ai` shows `2.17.0`; `npm ls circle-ir` shows `3.90.0`.
|
|
1298
|
+
- `npm run build` â clean.
|
|
1299
|
+
- `npm run typecheck` â clean.
|
|
1300
|
+
- `npm test` â **11 / 11 pass**.
|
|
1301
|
+
|
|
1302
|
+
Tool surface unchanged â same 9 tools, same JSON-RPC schemas.
|
|
1303
|
+
|
|
1304
|
+
## [0.6.1] - 2026-06-22
|
|
1305
|
+
|
|
1306
|
+
### Dependencies
|
|
1307
|
+
|
|
1308
|
+
- Bump `circle-ir-ai` `^2.15.0` â `^2.16.0`.
|
|
1309
|
+
- `circle-ir` pinned at `3.89.1` (unchanged).
|
|
1310
|
+
|
|
1311
|
+
### What this pulls in (via the engine bump)
|
|
1312
|
+
|
|
1313
|
+
1. **Bound `scanGitHistory()` (ai#112)** â the `find_credential_exposure`
|
|
1314
|
+
MCP tool, when run against a repo with `scanHistory: true`, now
|
|
1315
|
+
honors the engine's three new bounds:
|
|
1316
|
+
`SecretScanOptions.historyScanTotalBudgetMs` (60_000ms default),
|
|
1317
|
+
`perCommitTimeoutMs` (5_000ms), `maxDiffBytes` (5 * 1024 * 1024).
|
|
1318
|
+
Tool inputs unchanged; bounds applied via engine defaults until a
|
|
1319
|
+
client opts in via a future input-schema extension. Partial results
|
|
1320
|
+
on bound trip carry the new `historyScanTimedOut` /
|
|
1321
|
+
`commitsSkippedLarge` / `commitsTimedOut` diagnostic fields when
|
|
1322
|
+
present in the engine result payload.
|
|
1323
|
+
2. **`ProjectOptions.crossFileBudgetMs`** is plumbed through the
|
|
1324
|
+
`circle-ir-ai` `analyzeProject` consumer surface; no MCP tool
|
|
1325
|
+
currently calls into that path, so no tool input change today.
|
|
1326
|
+
|
|
1327
|
+
### Verification
|
|
1328
|
+
|
|
1329
|
+
- `npm install --prefer-online` â clean resolution; `npm ls
|
|
1330
|
+
circle-ir-ai` shows `2.16.0`.
|
|
1331
|
+
- `npm run build` â clean.
|
|
1332
|
+
- `npm run typecheck` â clean.
|
|
1333
|
+
- `npm test` â **11 / 11 pass**.
|
|
1334
|
+
|
|
1335
|
+
Tool surface unchanged â same 9 tools, same JSON-RPC schemas, same
|
|
1336
|
+
defaults for callers that don't set the new engine fields.
|
|
1337
|
+
|
|
1338
|
+
## [0.6.0] - 2026-06-22
|
|
1339
|
+
|
|
1340
|
+
### Dependencies
|
|
1341
|
+
|
|
1342
|
+
- Bump `circle-ir` `3.88.1` â `3.89.1`.
|
|
1343
|
+
- Bump `circle-ir-ai` `2.14.1` â `2.15.0`.
|
|
1344
|
+
|
|
1345
|
+
### What this pulls in (via the engine bump)
|
|
1346
|
+
|
|
1347
|
+
1. **Cross-file pre-index perf (cognium-dev#141 mitigation)** âÂÂ
|
|
1348
|
+
scan-class MCP tools (`find_pattern`, `verify_spec_conformance`,
|
|
1349
|
+
etc.) no longer hang on Java codebases of the sa-token-core shape
|
|
1350
|
+
(35+ CPU-min â 27ms wall).
|
|
1351
|
+
2. **Cross-file budget breaker** â engine accepts
|
|
1352
|
+
`crossFileBudgetMs` (default `300_000`); partial results returned
|
|
1353
|
+
with `cross_file_budget_exceeded` flag when budget hit.
|
|
1354
|
+
3. **`Finding.source.type`/`sink.type`** â present in scan-class
|
|
1355
|
+
tool outputs (already true since 0.5.1 via the engine path).
|
|
1356
|
+
4. **Logger routing** â `info` â stderr by default; MCP stdio
|
|
1357
|
+
transport (the actual JSON-RPC payload on stdout) unaffected.
|
|
1358
|
+
|
|
1359
|
+
Tool surface unchanged â same 9 tools, same JSON-RPC schemas.
|
|
1360
|
+
|
|
1361
|
+
### Verification
|
|
1362
|
+
|
|
1363
|
+
- `npm install --prefer-online` â clean resolution.
|
|
1364
|
+
- `npm run build` â clean.
|
|
1365
|
+
- `npm test` â **11 / 11 pass** (smoke + stdio transport).
|
|
1366
|
+
|
|
1367
|
+
### Why minor (`0.5.1 â 0.6.0`)
|
|
1368
|
+
|
|
1369
|
+
Inherits the engine minor (additive `crossFileBudgetMs` option +
|
|
1370
|
+
`cross_file_budget_exceeded` flag). Bumping minor here to mirror
|
|
1371
|
+
the engine's observable-surface delta even though MCP doesn't yet
|
|
1372
|
+
plumb the option through tool inputs.
|
|
1373
|
+
|
|
1374
|
+
## [0.5.1] - 2026-06-22
|
|
1375
|
+
|
|
1376
|
+
### Dependencies
|
|
1377
|
+
|
|
1378
|
+
- Bump `circle-ir` `3.86.0` â `3.88.1`.
|
|
1379
|
+
- Bump `circle-ir-ai` `2.14.0` â `2.14.1`.
|
|
1380
|
+
|
|
1381
|
+
Picks up the cross-file taint type-axis dedup fix (cognium-dev#144,
|
|
1382
|
+
circle-ir 3.88.1): scan-class MCP tools now surface both findings
|
|
1383
|
+
when a direct flow and an interprocedural path land at the same
|
|
1384
|
+
`(file, line)` coordinates but carry different sink types. Also
|
|
1385
|
+
absorbs the required `Finding.line` field added in circle-ir 3.87.0
|
|
1386
|
+
(cognium-dev#134) via `circle-ir-ai@2.14.1`.
|
|
1387
|
+
|
|
1388
|
+
Tool surface unchanged â same 9 tools, same JSON-RPC schemas.
|
|
1389
|
+
|
|
1390
|
+
Verification:
|
|
1391
|
+
- `npm install --prefer-online` â clean resolution.
|
|
1392
|
+
- `npm run build` â clean.
|
|
1393
|
+
- `npm test` â **11 / 11 pass** (smoke + stdio transport).
|
|
1394
|
+
|
|
1395
|
+
## [0.5.0] - 2026-06-21
|
|
1396
|
+
|
|
1397
|
+
### Added â picks up cognium-dev#128 entry-point gate (via `circle-ir-ai@2.14.0`)
|
|
1398
|
+
|
|
1399
|
+
MCP tools that invoke the mastra workflow (security scan paths) now
|
|
1400
|
+
benefit from the cognium-dev#128 Tier-3 gate: speculative
|
|
1401
|
+
`interprocedural_param` taint sources on Java library-API methods are
|
|
1402
|
+
dropped before LLM verification.
|
|
1403
|
+
|
|
1404
|
+
Tool surface unchanged â same 9 tools, same JSON-RPC schemas. The
|
|
1405
|
+
behavior change is internal to `scan`-class invocations.
|
|
1406
|
+
|
|
1407
|
+
### Dependencies
|
|
1408
|
+
|
|
1409
|
+
- Bump `circle-ir-ai` `2.13.4` â `2.14.0`.
|
|
1410
|
+
- `circle-ir` pin unchanged at `3.86.0`.
|
|
1411
|
+
|
|
1412
|
+
Verification:
|
|
1413
|
+
- `npm run typecheck` clean
|
|
1414
|
+
- `npm test` â **11 / 11 pass** (smoke covers stdio transport + tool list)
|
|
1415
|
+
- `npm ls circle-ir-ai` â `2.14.0` (clean dep graph)
|
|
1416
|
+
|
|
1417
|
+
Minor bump (0.4.22 â 0.5.0) reflects the observable scan output
|
|
1418
|
+
change inherited from `circle-ir-ai@2.14.0`.
|
|
1419
|
+
|
|
1420
|
+
References: see `circle-ir-ai/CHANGELOG.md` 2.14.0 for the full gate
|
|
1421
|
+
spec.
|
|
1422
|
+
|
|
1423
|
+
## [0.4.22] - 2026-06-21
|
|
1424
|
+
|
|
1425
|
+
### Dependencies
|
|
1426
|
+
|
|
1427
|
+
- Bump `circle-ir` `3.85.1` â `3.86.0`.
|
|
1428
|
+
- Bump `circle-ir-ai` `2.13.3` â `2.13.4`.
|
|
1429
|
+
- **Drop the `overrides` block** â `circle-ir-ai@2.13.4` pins
|
|
1430
|
+
`circle-ir@3.86.0` directly, so the normal dep graph resolves
|
|
1431
|
+
uniformly without the override. Mirrors the same cleanup that landed
|
|
1432
|
+
in `cognium-ai@2.15.1`.
|
|
1433
|
+
|
|
1434
|
+
No MCP-surface changes; routine dependency catch-up.
|
|
1435
|
+
|
|
1436
|
+
Verification:
|
|
1437
|
+
- `npm run typecheck` clean
|
|
1438
|
+
- `npm test` â 11/11 pass
|
|
1439
|
+
|
|
1440
|
+
## [0.4.21] - 2026-06-21
|
|
1441
|
+
|
|
1442
|
+
### Dependencies
|
|
1443
|
+
|
|
1444
|
+
- Bump `circle-ir` `3.82.0` â `3.85.1` (3-version catch-up).
|
|
1445
|
+
- Bump `circle-ir-ai` `2.12.5` â `2.13.3` (3-version catch-up).
|
|
1446
|
+
|
|
1447
|
+
Picks up the **cogniumhq/cognium-dev#126** hotfix from circle-ir@3.85.1
|
|
1448
|
+
â bounds the Gate 3 string-array constant-table span walker in the
|
|
1449
|
+
4-gate hardcoded-credential-entropy detector so it no longer scans
|
|
1450
|
+
unbounded literal tables. Eliminates the 2.7ÃÂâÂÂ14.5àscan regression
|
|
1451
|
+
that landed in 3.85.0 (timed out gson / Hystrix / openapi-generator /
|
|
1452
|
+
hutool on the top-25 Java OSS harness).
|
|
1453
|
+
|
|
1454
|
+
Also picks up intermediate circle-ir improvements 3.82.0 â 3.85.1
|
|
1455
|
+
(inter-procedural taint walker enhancements, cognium-dev#19 / #28 /
|
|
1456
|
+
#17 fixes) and circle-ir-ai 2.12.5 â 2.13.3 (engine sync).
|
|
1457
|
+
|
|
1458
|
+
No MCP-surface changes; routine catch-up release.
|
|
1459
|
+
|
|
1460
|
+
## [0.4.20] - 2026-06-19
|
|
1461
|
+
|
|
1462
|
+
### Dependencies
|
|
1463
|
+
|
|
1464
|
+
- Bump `circle-ir-ai` `2.12.4` â `2.12.5`.
|
|
1465
|
+
|
|
1466
|
+
Picks up the cognium-ai#109 fix â assertion utilities (Spring/hutool
|
|
1467
|
+
`Assert.*`, Guava `Preconditions`/`Verify.*`, `Objects.requireNonNull*`,
|
|
1468
|
+
Apache Commons `Validate.*`) are now suppressed by
|
|
1469
|
+
`isSuppressedSinkShape()` across all 12 taint-flow CWEs before the LLM
|
|
1470
|
+
verifier sees them. No MCP-surface changes; routine engine-sync release.
|
|
1471
|
+
|
|
1472
|
+
## [0.4.19] - 2026-06-19
|
|
1473
|
+
|
|
1474
|
+
### Dependencies
|
|
1475
|
+
|
|
1476
|
+
- Bump `circle-ir` `3.74.0` â `3.75.0`.
|
|
1477
|
+
- Bump `circle-ir-ai` `2.12.0` â `2.12.4`.
|
|
1478
|
+
|
|
1479
|
+
Routine upstream sync. 11 tests pass + typecheck clean.
|
|
1480
|
+
|
|
1481
|
+
## [0.4.18] - 2026-06-19
|
|
1482
|
+
|
|
1483
|
+
### Added â REFACTOR-019: expose LLM verify controls on find_credential_exposure
|
|
1484
|
+
|
|
1485
|
+
The `find_credential_exposure` MCP tool now accepts two new optional
|
|
1486
|
+
inputs that flow through to the engine's `scanForSecrets`:
|
|
1487
|
+
|
|
1488
|
+
- `llm_verify: boolean` (default: `false`) â enable LLM verification
|
|
1489
|
+
to reduce false positives. Requires `LLM_API_KEY` on auth-required
|
|
1490
|
+
endpoints; the engine silently falls back to static-only on missing
|
|
1491
|
+
config (ES-004).
|
|
1492
|
+
- `verify_budget: number` (default: `100`, min: `0`) â cap on LLM
|
|
1493
|
+
verifier calls per scan. `0` disables verify entirely even when
|
|
1494
|
+
`llm_verify: true` â matches cognium-ai 2.14.x semantics.
|
|
1495
|
+
|
|
1496
|
+
Defaulting `llm_verify` to `false` on the MCP surface is intentional:
|
|
1497
|
+
clients invoking tools via MCP may not have `LLM_API_KEY` available,
|
|
1498
|
+
so an opt-in surface is friendlier than a silent ON. (cognium-ai's
|
|
1499
|
+
CLI defaults `llmVerify` to ON because users opt into the CLI; MCP
|
|
1500
|
+
clients haven't.)
|
|
1501
|
+
|
|
1502
|
+
Closes loose-end REFACTOR-019 from the hardcoded-secrets implementation
|
|
1503
|
+
plan (`.specifica/hardcoded-secrets/tasks.md`).
|
|
1504
|
+
|
|
1505
|
+
### Dependencies
|
|
1506
|
+
|
|
1507
|
+
- **circle-ir-ai** `2.11.5` â `2.12.0` â picks up the 4-tier verify
|
|
1508
|
+
+ `DEFAULT_VERIFY_BUDGET` API surface that this change exposes.
|
|
1509
|
+
|
|
1510
|
+
Tests: 1 file / 11 pass (unchanged). Typecheck clean.
|
|
1511
|
+
|
|
1512
|
+
## [0.4.17] - 2026-06-18
|
|
1513
|
+
|
|
1514
|
+
### Dependencies
|
|
1515
|
+
|
|
1516
|
+
- **circle-ir** `3.71.0` â `3.74.0` (skips 3.72.0 / 3.72.1 / 3.73.0).
|
|
1517
|
+
- **circle-ir-ai** `2.11.4` â `2.11.5` â engine-consumer cascade for
|
|
1518
|
+
the circle-ir 3.74.0 bump. No MCP-tool surface change.
|
|
1519
|
+
|
|
1520
|
+
Tests: 1 file / 11 pass (unchanged). Typecheck clean.
|
|
1521
|
+
|
|
1522
|
+
## [0.4.16] - 2026-06-18
|
|
1523
|
+
|
|
1524
|
+
### Dependencies
|
|
1525
|
+
|
|
1526
|
+
- **circle-ir-ai** `2.11.3` â `2.11.4` â engine-consumer cascade
|
|
1527
|
+
for cognium-dev#21 boundary-audit cleanup. `dead-code` resolver
|
|
1528
|
+
now consumes `CallInfo.receiver_type` / `receiver_type_fqn`
|
|
1529
|
+
(circle-ir 3.43.0, cognium-dev#25); LLM-path sink-shape filter
|
|
1530
|
+
retained with surviving-rationale block. No MCP-tool surface
|
|
1531
|
+
change.
|
|
1532
|
+
|
|
1533
|
+
Tests: 1 file / 11 pass (unchanged).
|
|
1534
|
+
|
|
1535
|
+
## [0.4.15] - 2026-06-18
|
|
1536
|
+
|
|
1537
|
+
### Dependencies
|
|
1538
|
+
|
|
1539
|
+
- **circle-ir** `3.69.0` â `3.71.0` â Sprint 20/21 engine bump:
|
|
1540
|
+
- 3.70.0 adds the `cache-no-vary` pass (CWE-524, severity
|
|
1541
|
+
medium) for shared-cache leaks where an authenticated
|
|
1542
|
+
response is marked `Cache-Control: public` without `Vary`.
|
|
1543
|
+
Strict 3-signal auth-qualifier mode covers
|
|
1544
|
+
Express/Fastify/Koa, Flask/FastAPI/Django,
|
|
1545
|
+
`net/http`/gin, Spring/Servlet. Will surface through
|
|
1546
|
+
`find_pattern` when an MCP client searches for the new
|
|
1547
|
+
`cache-no-vary` rule.
|
|
1548
|
+
- 3.71.0 closes two real-world OOP safe-mirror sanitizer FPs
|
|
1549
|
+
(cognium-dev#105): FP-31 allowlist-guarded getter
|
|
1550
|
+
(`if x not in UPPER_SNAKE_CONST: raise`), FP-32 MongoDB
|
|
1551
|
+
value-bound filter dict
|
|
1552
|
+
(`{field: {"$lte": value}}` operator-injection now only
|
|
1553
|
+
fires when the operator key itself is user-controlled).
|
|
1554
|
+
Quieter `find_pattern` results for `nosql_injection` on
|
|
1555
|
+
Mongo aggregation pipelines.
|
|
1556
|
+
- **circle-ir-ai** `2.11.2` â `2.11.3` â corresponding bump,
|
|
1557
|
+
no API surface change.
|
|
1558
|
+
|
|
1559
|
+
### Tooling
|
|
1560
|
+
|
|
1561
|
+
No tool-handler changes. All 9 tools (`verify_spec_conformance`,
|
|
1562
|
+
`find_spec_drift`, `find_pattern`,
|
|
1563
|
+
`find_credential_exposure`, `check_license_compliance`,
|
|
1564
|
+
`find_stale_dependencies`, `find_install_script_risk`,
|
|
1565
|
+
`find_typosquats`, `find_excessive_permissions`) continue to
|
|
1566
|
+
operate over the existing stdio + HTTP transports.
|
|
1567
|
+
|
|
1568
|
+
## [0.4.14] - 2026-06-18
|
|
1569
|
+
|
|
1570
|
+
### Dependencies
|
|
1571
|
+
|
|
1572
|
+
- **circle-ir** `3.66.0` â `3.69.0` â Sprint 17/18/19 engine bump:
|
|
1573
|
+
- 3.67.0 closes the Java safe-corpus FP long-tail (`SafeService`
|
|
1574
|
+
`path_traversal`+`xxe`, `FalsePositiveCorpus` cmdi switchâÂÂconstant)
|
|
1575
|
+
that surfaced cognium-dev#103's closure review.
|
|
1576
|
+
- 3.68.0 adds Python `urllib.request.urlretrieve` sinks (ssrf +
|
|
1577
|
+
path_traversal) and locks the Python FP corpus.
|
|
1578
|
+
- 3.69.0 ships new `module-side-effect` pass (CWE-829) for
|
|
1579
|
+
supply-chain droppers across JS/TS/Python/Go/Rust.
|
|
1580
|
+
- **circle-ir-ai** `2.11.1` â `2.11.2` â corresponding engine
|
|
1581
|
+
re-export bump; no API surface change for `@cognium-ai/mcp-server`.
|
|
1582
|
+
|
|
1583
|
+
No tool-handler code changes; 1 file / 11 tests pass; typecheck clean.
|
|
1584
|
+
|
|
1585
|
+
## [0.4.13] - 2026-06-18
|
|
1586
|
+
|
|
1587
|
+
### Dependencies
|
|
1588
|
+
|
|
1589
|
+
- **circle-ir** `3.59.0` â `3.66.0` â promotes `tsx` to a first-class
|
|
1590
|
+
`SupportedLanguage` enum member (was previously a sub-bucket of
|
|
1591
|
+
`typescript`). Engine consumers (`circle-ir-ai`) handle the new
|
|
1592
|
+
variant; no direct surface change here. **Note:** `detectLanguage`
|
|
1593
|
+
still returns `undefined` for `.tsx`/`.jsx` extensions â the
|
|
1594
|
+
type infra is in place but extension wiring is incomplete
|
|
1595
|
+
(tracked at cognium-dev#88).
|
|
1596
|
+
- **circle-ir-ai** `2.11.0` â `2.11.1` â picks up the engine bump and
|
|
1597
|
+
the 4 `Record<SupportedLanguage, â¦>` map updates required by the
|
|
1598
|
+
`tsx` enum addition.
|
|
1599
|
+
|
|
1600
|
+
No surface-level changes to the 9 MCP tools; existing
|
|
1601
|
+
`verify_spec_conformance`, `find_spec_drift`, `find_pattern`,
|
|
1602
|
+
`find_credential_exposure`, `check_license_compliance`,
|
|
1603
|
+
`find_stale_dependencies`, `find_install_script_risk`,
|
|
1604
|
+
`find_typosquats`, `find_excessive_permissions` continue to behave
|
|
1605
|
+
identically. Smoke (`npm run smoke`) and the 11-test vitest suite
|
|
1606
|
+
pass against the new engine.
|
|
1607
|
+
|
|
1608
|
+
## [0.4.12] - 2026-06-17
|
|
1609
|
+
|
|
1610
|
+
### Fixed
|
|
1611
|
+
|
|
1612
|
+
- **`bin/cognium-mcp` no-op under npm symlinks** â the ESM `isMain`
|
|
1613
|
+
guard added in 0.4.x (`import.meta.url === \`file://${process.argv[1]}\``)
|
|
1614
|
+
silently exited 0 without attaching stdio when the binary was spawned
|
|
1615
|
+
via `node_modules/.bin/cognium-mcp`, because npm bin entries are
|
|
1616
|
+
symlinks: Node sets `import.meta.url` to the realpath of the executed
|
|
1617
|
+
module but leaves `process.argv[1]` as the symlink path, so the
|
|
1618
|
+
string compare never matches and `main()` never runs. MCP clients
|
|
1619
|
+
(e.g. cognium-code) saw `engine closed stdout before request id 1
|
|
1620
|
+
was answered`. Fixed by resolving `process.argv[1]` through
|
|
1621
|
+
`realpathSync` and comparing via `pathToFileURL(...).href` before
|
|
1622
|
+
the equality check. Library imports (`import { buildServer } from
|
|
1623
|
+
'@cognium-ai/mcp-server'`) remain unaffected â they still see
|
|
1624
|
+
`isMain === false` and skip the stdio bootstrap.
|
|
1625
|
+
|
|
1626
|
+
No dependency changes.
|
|
1627
|
+
|
|
1628
|
+
## [0.4.11] - 2026-06-17
|
|
1629
|
+
|
|
1630
|
+
### Dependencies
|
|
1631
|
+
|
|
1632
|
+
- **`circle-ir`** `3.57.0` â `3.59.0` **(exact pin)** â drop-in
|
|
1633
|
+
engine bump.
|
|
1634
|
+
- **`circle-ir-ai`** `2.10.1` â `2.11.0` **(exact pin)** â adopts
|
|
1635
|
+
circle-ir's `generateFindings()` in the mastra `runReport`
|
|
1636
|
+
no-verification branch (#26): canSourceReachSink + DFG/proximity
|
|
1637
|
+
gates now apply to the LLM-enrichment path; new additive
|
|
1638
|
+
`vulnerabilities[].discoveryMethod` field (`'static' | 'llm' |
|
|
1639
|
+
'mixed'`); evidence-aware severity (proximity-only flows
|
|
1640
|
+
emit `'high'` instead of the old hardcoded `'critical'`).
|
|
1641
|
+
|
|
1642
|
+
No code changes in this package. 11 tests pass.
|
|
1643
|
+
|
|
1644
|
+
## [0.4.10] - 2026-06-16
|
|
1645
|
+
|
|
1646
|
+
### Dependencies
|
|
1647
|
+
|
|
1648
|
+
- **`circle-ir`** `3.56.0` â `3.57.0` **(exact pin)** â Sprint 8
|
|
1649
|
+
upstream release (cognium-dev #50, #51, #62, #73, #84, #90, #91):
|
|
1650
|
+
Java for-each element-taint propagation, Map.put + StringBuilder
|
|
1651
|
+
taint propagation, Go `filepath.Base`/`Clean`/`EvalSymlinks` +
|
|
1652
|
+
`path.Clean` path-traversal sanitizers, `SecurityHeadersPass`
|
|
1653
|
+
global-middleware suppression (helmet / Talisman /
|
|
1654
|
+
SecurityFilterChain), Bash function-local `$1`/`$2` no longer
|
|
1655
|
+
conflated with script-CLI positionals (regex-allowlist guard
|
|
1656
|
+
deferred to Sprint 9).
|
|
1657
|
+
- **`circle-ir-ai`** `2.10.0` â `2.10.1` **(exact pin)** â engine
|
|
1658
|
+
re-export bump for the above.
|
|
1659
|
+
|
|
1660
|
+
No surface changes to the 9 MCP tools (`verify_spec_conformance`,
|
|
1661
|
+
`find_spec_drift`, `find_pattern`, `find_credential_exposure`,
|
|
1662
|
+
`check_license_compliance`, `find_stale_dependencies`,
|
|
1663
|
+
`find_install_script_risk`, `find_typosquats`,
|
|
1664
|
+
`find_excessive_permissions`). Existing stdio + HTTP transports
|
|
1665
|
+
unchanged.
|
|
1666
|
+
|
|
1667
|
+
## [0.4.9] - 2026-06-16
|
|
1668
|
+
|
|
1669
|
+
### Dependencies
|
|
1670
|
+
|
|
1671
|
+
- **`circle-ir`** `3.52.0` â `3.56.0` **(exact pin)** â four upstream
|
|
1672
|
+
feature releases:
|
|
1673
|
+
- **3.53.0** (cognium-dev#52 + #87) â Text4Shell, FreeMarker SSTI,
|
|
1674
|
+
Zip-Slip source reclassify, Java weak-crypto config (IV / key /
|
|
1675
|
+
RSA), taint matcher receiver-type fix.
|
|
1676
|
+
- **3.54.0** (Sprint 5) â `jwt-verify-disabled` (CWE-347),
|
|
1677
|
+
`redos` sink (CWE-1333), `format_string` sink (CWE-134).
|
|
1678
|
+
- **3.55.0** (Sprint 6) â `crlf` sink (CWE-113), `mass_assignment`
|
|
1679
|
+
sink (CWE-915), `csrf-protection-disabled` (CWE-352),
|
|
1680
|
+
`xml-entity-expansion` (CWE-776), `mass-assignment` pattern.
|
|
1681
|
+
- **3.56.0** (Sprint 7) â Python + Go `weak-crypto` parity
|
|
1682
|
+
(ECB, hardcoded keys, weak RSA).
|
|
1683
|
+
- **`circle-ir-ai`** `2.9.0` â `2.10.0` **(exact pin)** â pure engine
|
|
1684
|
+
re-export; no LLM-layer changes.
|
|
1685
|
+
|
|
1686
|
+
MCP tool surface unchanged. Tool consumers may see additional
|
|
1687
|
+
`finding.type` values (`crlf`, `mass_assignment`, `redos`,
|
|
1688
|
+
`format_string`) in `find_pattern` results. Patch bump.
|
|
1689
|
+
|
|
1690
|
+
## [0.4.8] - 2026-06-16
|
|
1691
|
+
|
|
1692
|
+
### Dependencies
|
|
1693
|
+
|
|
1694
|
+
- **`circle-ir-ai`** `2.8.24` â `2.9.0` **(exact pin)** â picks up two
|
|
1695
|
+
LLM-verification improvements:
|
|
1696
|
+
- **cognium-ai#86** â windowed source/sink batch-verification.
|
|
1697
|
+
Extracts merged ñN line windows around each center (preserving
|
|
1698
|
+
original 1-based line numbers) instead of single-cut truncation.
|
|
1699
|
+
Two new env vars: `LLM_VERIFY_WINDOW_LINES` (default `80`),
|
|
1700
|
+
`LLM_VERIFY_MAX_CHUNKS` (default `4`).
|
|
1701
|
+
- **cognium-ai#102** â skip LLM verification on minified content.
|
|
1702
|
+
Conservative triple-condition heuristic (>50 KB AND max line
|
|
1703
|
+
>5,000 c AND avg line >500 c) short-circuits the verifier before
|
|
1704
|
+
any LLM call on minified / bundled single-line JS, where windowed
|
|
1705
|
+
chunking degenerates. Static-analysis findings unaffected.
|
|
1706
|
+
|
|
1707
|
+
MCP tool surface unchanged. Patch bump.
|
|
1708
|
+
|
|
1709
|
+
## [0.4.7] - 2026-06-16
|
|
1710
|
+
|
|
1711
|
+
### Dependencies
|
|
1712
|
+
|
|
1713
|
+
- **`circle-ir`** `3.50.0` â `3.52.0` **(exact pin)** â two upstream
|
|
1714
|
+
feature releases:
|
|
1715
|
+
- **3.51.0** (cognium-dev#88.1 + circle-ir#88.3): `.jsx` / `.cjs`
|
|
1716
|
+
routed to the JS plugin (no longer silently skipped). Go
|
|
1717
|
+
`text/template` modeled as `xss` / CWE-79 / high sink â Template.
|
|
1718
|
+
Execute and Template.ExecuteTemplate do NOT HTML-escape (only
|
|
1719
|
+
`html/template` does).
|
|
1720
|
+
- **3.52.0** (cognium-dev#60): **four new analysis passes** for
|
|
1721
|
+
config / absence patterns that were previously misregistered as
|
|
1722
|
+
taint sinks and never fired:
|
|
1723
|
+
- `weak-hash` (CWE-328) â MD2/MD4/MD5/SHA-1 across Java/Python/JS/Go.
|
|
1724
|
+
- `weak-crypto` (CWE-327) â DES/3DES/RC2/RC4/Blowfish/IDEA/SEED/
|
|
1725
|
+
CAST5 + ECB (incl. Java AES default = ECB).
|
|
1726
|
+
- `weak-random` (CWE-330) â non-CSPRNG (`Math.random`, `random.*`,
|
|
1727
|
+
`new Random()`, `math/rand`, import-aware).
|
|
1728
|
+
- `tls-verify-disabled` (CWE-295, new) â Go `InsecureSkipVerify`,
|
|
1729
|
+
Python `requests/httpx(verify=False)` +
|
|
1730
|
+
`ssl._create_unverified_context`, JS `rejectUnauthorized:false` +
|
|
1731
|
+
`NODE_TLS_REJECT_UNAUTHORIZED='0'`, Java NoopHostnameVerifier.
|
|
1732
|
+
- `insecure-cookie` extended to Python (Flask/Django/Starlette
|
|
1733
|
+
`response.set_cookie` without `secure=True`/`httponly=True`) and
|
|
1734
|
+
Java (`new javax.servlet.http.Cookie(...)` files missing
|
|
1735
|
+
`.setSecure(true)` + `.setHttpOnly(true)`).
|
|
1736
|
+
- **`circle-ir-ai`** `2.8.23` â `2.8.24` **(exact pin)** â surfaces the
|
|
1737
|
+
3.52.0 passes through the engine layer.
|
|
1738
|
+
|
|
1739
|
+
No mcp-server source change â dep-only bump.
|
|
1740
|
+
|
|
1741
|
+
## [0.4.6] - 2026-06-16
|
|
1742
|
+
|
|
1743
|
+
### Dependencies
|
|
1744
|
+
|
|
1745
|
+
- **`circle-ir`** `3.49.0` â `3.50.0` **(exact pin)** â inline-source
|
|
1746
|
+
taint fix (circle-ir#83, subsumes #76). Bare-arg call/concat shapes
|
|
1747
|
+
where a tainted source appears inline as an argument now propagate
|
|
1748
|
+
to the sink without an intermediate variable:
|
|
1749
|
+
- Java: `Runtime.getRuntime().exec("echo " + req.getParameter("u"))`
|
|
1750
|
+
- JS/TS: `eval(req.query.x)`, `vm.runInThisContext(req.cookies.c)`,
|
|
1751
|
+
`child_process.exec(req.body.cmd)`
|
|
1752
|
+
- Python: `os.system("echo " + request.args.get("u"))` and for-loop
|
|
1753
|
+
iterables `for x in request.form.getlist("y"): ...`
|
|
1754
|
+
- Four upstream sub-fixes: inline-source colocation pass,
|
|
1755
|
+
Python for-loop iterable derivation w/ virtual http_param anchor,
|
|
1756
|
+
loosened empty-source early-returns, `canSourceReachSink` matrix
|
|
1757
|
+
expansion for JS RCE shapes (code_injection accepts http_param/
|
|
1758
|
+
query/header/cookie sources).
|
|
1759
|
+
- **`circle-ir-ai`** `2.8.22` â `2.8.23` **(exact pin)** â engine bump
|
|
1760
|
+
to pick up circle-ir@3.50.0.
|
|
1761
|
+
|
|
1762
|
+
No tool surface change. `find_pattern` and the 8 other MCP tools
|
|
1763
|
+
benefit transparently via the upgraded SAST base.
|
|
1764
|
+
|
|
1765
|
+
## [0.4.5] - 2026-06-16
|
|
1766
|
+
|
|
1767
|
+
### Dependencies
|
|
1768
|
+
|
|
1769
|
+
- **`circle-ir`** `3.48.0` â `3.49.0` **(exact pin)** â surfaces new
|
|
1770
|
+
upstream SAST coverage to MCP consumers:
|
|
1771
|
+
- `insecure-cookie` pass for JS/TS (CWE-614, circle-ir#43)
|
|
1772
|
+
- `log_injection` sinks for Java + JS/TS (CWE-117, circle-ir#44)
|
|
1773
|
+
- `nosql_injection` mongoose Model/Query coverage (CWE-943, #45)
|
|
1774
|
+
- Classless `open_redirect` for Express `res.redirect()` (CWE-601, #46)
|
|
1775
|
+
- Python `path_traversal` sanitizers: `os.path.realpath`,
|
|
1776
|
+
`os.path.abspath` (#48 pt 2)
|
|
1777
|
+
- Rust actix-web / axum typed extractor taint flows (#71)
|
|
1778
|
+
- **`circle-ir-ai`** `2.8.20` â `2.8.22` **(exact pin)** â engine bump
|
|
1779
|
+
that includes 2.8.21 (capability_mismatch severity inversion fix
|
|
1780
|
+
for over-declared skill capabilities, cognium-ai#100 Bug #2; bundled
|
|
1781
|
+
`MAX_CODE_CONTEXT_LENGTH` raised 8000 â 32000 to stop dropping
|
|
1782
|
+
~85% of real vulnerability-bearing files; `LLM_MAX_CONCURRENT`
|
|
1783
|
+
raised 5 â 10) plus 2.8.22 (the circle-ir dep bump). No MCP tool
|
|
1784
|
+
API surface change in this release.
|
|
1785
|
+
|
|
1786
|
+
## [0.4.4] - 2026-06-13
|
|
1787
|
+
|
|
1788
|
+
### Dependencies
|
|
1789
|
+
|
|
1790
|
+
- **`circle-ir`** `3.39.0` â `3.48.0` **(exact pin)** â 9-minor bump
|
|
1791
|
+
rolling up taint-engine and pass improvements. No API surface change
|
|
1792
|
+
in the MCP tool layer; engine is consumed transitively via
|
|
1793
|
+
`circle-ir-ai`.
|
|
1794
|
+
- **`circle-ir-ai`** `2.8.14` â `2.8.20` **(exact pin)** â engine bump
|
|
1795
|
+
that bundles the cognium-ai#88 parse-failure visibility work
|
|
1796
|
+
(structured `parseFailure` records, always-on `[SKIP]` /
|
|
1797
|
+
`[PARSER_FAIL]` / `[LLM_FAIL]` stderr markers, additive
|
|
1798
|
+
`parseFailures[]` + `filesParseFailed` / `filesSkipped` counters on
|
|
1799
|
+
`ScanResult`, `withTimeout` wrap on the Mastra LLM path) and 5
|
|
1800
|
+
intermediate releases (`2.8.15`âÂÂ`2.8.19` â ax-client robustness,
|
|
1801
|
+
FP-epic shape filters, deep LLM debug mode). MCP tools that surface
|
|
1802
|
+
scan output now pick up structured parse-failure detail through the
|
|
1803
|
+
same JSON spread.
|
|
1804
|
+
|
|
1805
|
+
Build clean, typecheck clean, 11 tests pass.
|
|
1806
|
+
|
|
1807
|
+
## [0.4.3] - 2026-06-12
|
|
1808
|
+
|
|
1809
|
+
### Dependencies
|
|
1810
|
+
|
|
1811
|
+
- **`circle-ir`** `3.38.0` â `3.39.0` **(exact pin)** â cross-instance
|
|
1812
|
+
field-binding taint propagation (`FieldTaintInfo` summaries for
|
|
1813
|
+
`@DataBoundConstructor` / `@Autowired` / `@Inject` annotated fields)
|
|
1814
|
+
and caller-body sink emission for cases where the final sink lives in
|
|
1815
|
+
the caller's own method body rather than a cross-file callee. Test
|
|
1816
|
+
suite expanded 1935 â 1939 (4 new Jenkins/Spring DI fixtures).
|
|
1817
|
+
- **`circle-ir-ai`** `2.8.13` â `2.8.14` **(exact pin)** â engine bump
|
|
1818
|
+
that consumes the new `circle-ir@3.39.0`; no API surface changes,
|
|
1819
|
+
drop-in upgrade for the 9 MCP tools.
|
|
1820
|
+
|
|
1821
|
+
## [0.4.2] - 2026-06-12
|
|
1822
|
+
|
|
1823
|
+
### Added
|
|
1824
|
+
|
|
1825
|
+
- Export `buildServer` from the package entry so HTTP transport hosts
|
|
1826
|
+
(e.g. circle-pack `/api/mcp`) can build and connect to a configured
|
|
1827
|
+
`McpServer` without spawning a subprocess.
|
|
1828
|
+
- `import.meta.url === file://${process.argv[1]}` guard around the
|
|
1829
|
+
stdio bootstrap so library imports do not silently start a stdio
|
|
1830
|
+
server on the host process's stdin/stdout.
|
|
1831
|
+
|
|
1832
|
+
## [0.4.1] - 2026-06-11
|
|
1833
|
+
|
|
1834
|
+
- Pinned `circle-ir@3.38.0` + `circle-ir-ai@2.8.13` (exact).
|