diffctx 1.16.0 → 1.17.0
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/README.md +15 -7
- package/checksums.json +6 -4
- package/install.js +3 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -45,8 +45,15 @@ scoop bucket add diffctx https://github.com/nikolay-e/diffctx
|
|
|
45
45
|
scoop install diffctx/diffctx
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
Every [release](https://github.com/nikolay-e/diffctx/releases/latest) carries
|
|
49
|
+
prebuilt binaries; the current target set is Linux (x86_64/aarch64), macOS
|
|
50
|
+
(arm64/x86_64) and Windows (x64/arm64), and a release older than a target's
|
|
51
|
+
first build lacks it (v1.16.0 predates the macOS x86_64 and Windows arm64
|
|
52
|
+
archives). On Windows on ARM, `diffctx[mcp]` builds `cryptography` from source,
|
|
53
|
+
which needs OpenSSL: that project publishes no wheel for the platform.
|
|
54
|
+
Free-threaded CPython (`3.14t`) cannot load the `abi3` wheel, so each release
|
|
55
|
+
after 1.16.0 also ships a `cp314t` wheel per platform (the extension runs with
|
|
56
|
+
the GIL off); on 1.16.0 itself `pip` and `uv` fall back to compiling the sdist.
|
|
50
57
|
The native binary and Docker image cover diff mode with YAML/JSON output and
|
|
51
58
|
write to stdout (redirect to capture); tree mode, Markdown output, the `graph`
|
|
52
59
|
subcommand and the MCP server live in the Python package.
|
|
@@ -234,8 +241,9 @@ map a directory named `mcp` on older releases.
|
|
|
234
241
|
|
|
235
242
|
Respects `.gitignore` and `.diffctx/ignore` automatically — hierarchically at
|
|
236
243
|
every directory level, with full gitignore semantics (negation `!important.log`,
|
|
237
|
-
anchored `/root_only.txt`), and the output file is always
|
|
238
|
-
|
|
244
|
+
anchored `/root_only.txt`), and in tree mode the output file is always
|
|
245
|
+
auto-ignored (`--diff` reports a saved `tree.md` like any other change). Three
|
|
246
|
+
controls are tree mode only and are refused with `--diff` and `graph`: `.diffctx/whitelist`
|
|
239
247
|
(`-w`) as an include-only filter, `-i` for an extra ignore file, and
|
|
240
248
|
`--no-default-ignores` / `--no-ignores` to drop the built-in patterns or every
|
|
241
249
|
ignore rule.
|
|
@@ -259,8 +267,8 @@ its size (default 512 MB, `0` disables eviction).
|
|
|
259
267
|
|------|---------|
|
|
260
268
|
| `0` | Success — output contains content |
|
|
261
269
|
| `1` | Runtime error (bad path, permission denied, etc.) |
|
|
262
|
-
| `2` | Usage error (invalid flags/arguments) |
|
|
263
|
-
| `3` | Environment error (`--diff` outside a git repo, git not installed, no commits yet) |
|
|
270
|
+
| `2` | Usage error (invalid flags/arguments, an empty `--diff ""`, a malformed duration such as `1.5h`, an out-of-range `--alpha`/`--tau`/`--budget`/`--timeout`, or a tree-mode flag — `-i`/`-w`/`--no-default-ignores`/`--no-ignores` — given with `--diff` or `graph`) |
|
|
271
|
+
| `3` | Environment error (`--diff` outside a git repo, in a bare one, or on a missing path, git not installed or refusing to start — its `fatal:` line is printed, no commits yet, a revision missing from a shallow clone) |
|
|
264
272
|
| `4` | `--diff` produced no semantic context (clean tree, binary-only, everything filtered); output is still emitted. Deletion/rename/lockfile-only diffs list `deleted_files`/`renamed_files`/`lockfile_changes` and exit `0` |
|
|
265
273
|
| `124`| `--diff` ran 30 s past the `--timeout` deadline without stopping cooperatively (the deadline itself yields a partial artifact and exit 0) |
|
|
266
274
|
| `130`| Interrupted (Ctrl-C) |
|
|
@@ -276,7 +284,7 @@ Apache 2.0
|
|
|
276
284
|
|
|
277
285
|
---
|
|
278
286
|
|
|
279
|
-
- [Documentation site](https://
|
|
287
|
+
- [Documentation site](https://diffctx.com/) — the pipeline
|
|
280
288
|
end to end: diff → fragments → graph → relevance → selection
|
|
281
289
|
- [Command-line reference](docs/product/cli.md) — every flag with its default
|
|
282
290
|
and meaning, rendered from `diffctx --help`
|
package/checksums.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"diffctx-1.
|
|
3
|
-
"diffctx-1.
|
|
4
|
-
"diffctx-1.
|
|
5
|
-
"diffctx-1.
|
|
2
|
+
"diffctx-1.17.0-aarch64-apple-darwin.tar.gz": "5e69dcea8229c8622bca301c40dcd21edbd1867f2be0b8f65bb321c37864aea3",
|
|
3
|
+
"diffctx-1.17.0-aarch64-pc-windows-msvc.zip": "499d32a204a7e11e50009a9b244ca74eece0ca859c45257bb2060f5de797f4cd",
|
|
4
|
+
"diffctx-1.17.0-aarch64-unknown-linux-gnu.tar.gz": "dfb3408e07dc89175327a742f856f6b915a7aefcd73dbe12779138fe10e53086",
|
|
5
|
+
"diffctx-1.17.0-x86_64-apple-darwin.tar.gz": "6188aca98dae1bef57b1bdcb3602deb61c9b036a4e103c5681b058037e425663",
|
|
6
|
+
"diffctx-1.17.0-x86_64-pc-windows-msvc.zip": "c774f09790f64b6a104029dcf41b49b37cecea3176c52231417f0ecb58f6c84b",
|
|
7
|
+
"diffctx-1.17.0-x86_64-unknown-linux-gnu.tar.gz": "3106217351d1a7e00fbd1c29593814cf633be45931cb9a4a5eb9edb18910d74c"
|
|
6
8
|
}
|
package/install.js
CHANGED
|
@@ -15,7 +15,9 @@ const TARGETS = {
|
|
|
15
15
|
'linux-x64': { target: 'x86_64-unknown-linux-gnu', archive: 'tar.gz' },
|
|
16
16
|
'linux-arm64': { target: 'aarch64-unknown-linux-gnu', archive: 'tar.gz' },
|
|
17
17
|
'darwin-arm64': { target: 'aarch64-apple-darwin', archive: 'tar.gz' },
|
|
18
|
+
'darwin-x64': { target: 'x86_64-apple-darwin', archive: 'tar.gz' },
|
|
18
19
|
'win32-x64': { target: 'x86_64-pc-windows-msvc', archive: 'zip' },
|
|
20
|
+
'win32-arm64': { target: 'aarch64-pc-windows-msvc', archive: 'zip' },
|
|
19
21
|
};
|
|
20
22
|
|
|
21
23
|
function selectTarget() {
|
|
@@ -24,8 +26,7 @@ function selectTarget() {
|
|
|
24
26
|
if (!selected) {
|
|
25
27
|
throw new Error(
|
|
26
28
|
`diffctx has no prebuilt binary for ${key}. ` +
|
|
27
|
-
'
|
|
28
|
-
'or build from source with "pip install diffctx --no-binary diffctx" (needs Rust) ' +
|
|
29
|
+
'Build from source with "pip install diffctx --no-binary diffctx" (needs Rust) ' +
|
|
29
30
|
'or "cargo install diffctx".'
|
|
30
31
|
);
|
|
31
32
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "diffctx",
|
|
3
3
|
"mcpName": "io.github.nikolay-e/diffctx",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.17.0",
|
|
5
5
|
"description": "Selects the minimum code an LLM needs to review a git diff",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"git",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"llm-context",
|
|
18
18
|
"codebase"
|
|
19
19
|
],
|
|
20
|
-
"homepage": "https://
|
|
20
|
+
"homepage": "https://diffctx.com/",
|
|
21
21
|
"bugs": "https://github.com/nikolay-e/diffctx/issues",
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|