knodin 0.14.0 → 0.14.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.
@@ -6515,6 +6515,13 @@ const MSBUILD_PROJECT_REFERENCE = /<(?:ProjectReference|Import)\s[^><]*?(?:Inclu
6515
6515
  // classes span lines lets a malformed entry reach across the file and record a
6516
6516
  // path that was never written next to it.
6517
6517
  const SOLUTION_PROJECT_ENTRY = /^Project\("\{[^}\n]*\}"\)\s*=\s*"[^"\n]*",\s*"([^"\n]+)"/gm;
6518
+ /** Extract raw project paths without charging engine/database setup to parser performance. */
6519
+ export function extractDotnetProjectReferenceTargets(content, relativePath) {
6520
+ const pattern = relativePath.endsWith(".sln")
6521
+ ? SOLUTION_PROJECT_ENTRY
6522
+ : MSBUILD_PROJECT_REFERENCE;
6523
+ return [...content.matchAll(pattern)].map((match) => match[1]);
6524
+ }
6518
6525
  /**
6519
6526
  * Link-only indexer for the .NET build graph: `.csproj`/`.props`/`.targets` via
6520
6527
  * MSBuild XML, and `.sln` via its own line format (which is not XML). Produces
@@ -6538,11 +6545,8 @@ async function indexDotnetProjectFile(content, relativePath, repoPath, db) {
6538
6545
  evidence: rawTarget.slice(0, 500),
6539
6546
  });
6540
6547
  };
6541
- const pattern = relativePath.endsWith(".sln")
6542
- ? SOLUTION_PROJECT_ENTRY
6543
- : MSBUILD_PROJECT_REFERENCE;
6544
- for (const match of content.matchAll(pattern))
6545
- record(match[1]);
6548
+ for (const target of extractDotnetProjectReferenceTargets(content, relativePath))
6549
+ record(target);
6546
6550
  persistLinkOnlyEdges(db, relativePath, [...edges.values()]);
6547
6551
  }
6548
6552
  /** Net brace depth change across a line, ignoring braces inside strings. */
@@ -0,0 +1,30 @@
1
+ # knodin 0.14.1
2
+
3
+ Compatible security patch release for EASFDC-8539, EASFDC-8540,
4
+ EASFDC-8541, EASFDC-8546, EASFDC-8547, EASFDC-8549, EASFDC-8551,
5
+ EASFDC-8559, and EASFDC-8687.
6
+
7
+ ## Security dependency updates
8
+
9
+ - Require `adm-zip` 0.6.1 or newer, removing the vulnerable 0.6.0 transitive
10
+ resolution used by `onnxruntime-node`.
11
+ - Require `fast-uri` 4.1.3 or newer; the resolved version is 4.2.1.
12
+ - Require `qs` 6.16.0 or newer for the MCP SDK, Express, and body-parser
13
+ dependency paths.
14
+ - Update the cross-repository Fastify fixture to 5.12.1 so security scanning
15
+ no longer reports the intentionally indexed fixture as vulnerable.
16
+
17
+ `npm audit` reports zero known vulnerabilities for the release lockfile.
18
+
19
+ ## Performance regression evidence
20
+
21
+ The malformed-MSBuild regression now measures the production reference parser
22
+ directly at Knodin's 1 MiB indexing limit. The parser completes in milliseconds
23
+ under the 2.5-second ceiling, and a separate scaling assertion rejects the old
24
+ quadratic behavior. End-to-end graph persistence remains covered independently
25
+ so database and engine startup do not distort the parser security gate.
26
+
27
+ ## Compatibility
28
+
29
+ This patch changes no CLI, MCP, graph schema, or stored-data contract. Existing
30
+ 0.14.0 graphs remain compatible and require no migration.
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "knodin",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "knodin": {
5
- "compatibility": "breaking"
5
+ "compatibility": "compatible"
6
6
  },
7
7
  "description": "knodin — source-evidenced local code intelligence with known bounds. Stable identity, fresh evidence, truthful budgets, and recoverable bounded views.",
8
8
  "license": "MIT",
@@ -75,6 +75,7 @@
75
75
  "docs/releases/0.13.0.md",
76
76
  "docs/releases/0.13.1.md",
77
77
  "docs/releases/0.14.0.md",
78
+ "docs/releases/0.14.1.md",
78
79
  "docs/releases/0.3.0.md",
79
80
  "docs/releases/0.4.0.md",
80
81
  "docs/releases/0.4.1.md",
@@ -194,8 +195,9 @@
194
195
  },
195
196
  "overrides": {
196
197
  "@hono/node-server": "^2.0.5",
197
- "adm-zip": "^0.6.0",
198
- "fast-uri": "^4.1.1",
198
+ "adm-zip": "^0.6.1",
199
+ "fast-uri": "^4.1.3",
200
+ "qs": "^6.16.0",
199
201
  "sharp": "^0.35.4"
200
202
  },
201
203
  "devDependencies": {