| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| codegraph-win32-x64.zip | 2026-07-10 | 46.0 MB | |
| SHA256SUMS | 2026-07-10 | 560 Bytes | |
| codegraph-darwin-arm64.tar.gz | 2026-07-10 | 50.0 MB | |
| codegraph-darwin-x64.tar.gz | 2026-07-10 | 51.2 MB | |
| codegraph-linux-arm64.tar.gz | 2026-07-10 | 54.9 MB | |
| codegraph-linux-x64.tar.gz | 2026-07-10 | 55.2 MB | |
| codegraph-win32-arm64.zip | 2026-07-10 | 42.1 MB | |
| README.md | 2026-07-10 | 1.9 kB | |
| v1.4.0 source code.tar.gz | 2026-07-10 | 5.1 MB | |
| v1.4.0 source code.zip | 2026-07-10 | 5.4 MB | |
| Totals: 10 Items | 310.0 MB | 0 | |
[1.4.0] - 2026-07-10
New Features
- Indexing is dramatically faster on slow storage — mechanical HDDs, network folders, and virtualized disks. The database no longer folds its write journal back into the main file thousands of times during a bulk index (that folding was ~95% of all disk activity); it now streams writes sequentially and folds them back in a few large, coalesced passes that run off the main thread. In a disk-throttled benchmark matching the reported hardware, a mid-size Java project went from over 25 minutes to under a minute, and there is no change on fast disks. Opt out with
CODEGRAPH_NO_WAL_DEFER=1; tune the fold-back threshold withCODEGRAPH_WAL_VALVE_MB. (#1231) - New
CODEGRAPH_PARSE_TIMEOUT_MSenvironment variable to raise the per-file parse budget on unusually slow storage, the same wayCODEGRAPH_PARSE_WORKERSalready tunes the worker count. (#1231)
Fixes
- Indexing on slow storage (mechanical HDDs, network folders) no longer collapses into false "parse timeout" failures. When disk writes stalled the coordinating thread, parses that had already finished — including empty files — were being misjudged as hung, their workers killed, and the files silently dropped from the index. A parse result is now judged by the worker's own clock, so a stalled coordinator accepts the finished result instead of killing the worker; only a genuinely hung parse is terminated (after a wider grace window). Files that do hit the timeout are retried at the end of indexing instead of being silently lost. Thanks @KnifeOfLife for the exceptional report. (#1231)
- Parse workers now receive their grammar files from memory instead of each re-reading them from disk on spawn, eliminating a feedback loop on slow disks where every worker restart added more disk contention — and making worker restarts cheaper everywhere. (#1231)