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.
- package/dist/src/engine/index.js +9 -5
- package/docs/releases/0.14.1.md +30 -0
- package/package.json +6 -4
package/dist/src/engine/index.js
CHANGED
|
@@ -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
|
|
6542
|
-
|
|
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.
|
|
3
|
+
"version": "0.14.1",
|
|
4
4
|
"knodin": {
|
|
5
|
-
"compatibility": "
|
|
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.
|
|
198
|
-
"fast-uri": "^4.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": {
|