v2.6.36 — a second adversarial sweep, and a leaner install
What's new in 2.6.36
Changed
- Five packages an install downloaded but never loaded are no longer installed.
commander,csv-parse,js-yaml,smol-tomlandzodare inlined into the shipped bundle at build time, so fetching them again was a second copy of code the artifact already carried. An install without optional packages drops from 46 packages to 40. - The README no longer tells you to pipe a downloaded script straight into a shell.
- Three documents describing the deleted Python implementation now say so at the top.
Removed
- A worker helper nothing called, five exported names nothing referenced, and a config-cache environment variable nothing has read for a long time.
Fixed
Twenty-three fixes this cycle, from a second adversarial sweep over the indexer, the worker, the hooks and the CLI. The critical-path ones: two indexing runs starting together against a brand-new database could each lose a file while still reporting success, by two separate routes; a subagent could be told it had already read a file it never saw; a hook whose input arrived slowly gave up on it and let the read through unchanged; and the pruner could wipe a file that was recreated while it was working.
Also fixed: todo, xml-query, json-query, yaml-query, docx-text and single-file-component indexing crashed with a call-stack error on large input; config validate and doctor called a working config file broken; a config file saved with a byte-order mark was ignored in full; skeleton and outline printed a capped symbol count as though it were the whole file; a padded token was printed instead of redacted; an R function with a backtick-quoted name inside its body had its body cut short; a repository's own config file could choose which browser executable token-goat launches; and untrusted fetched content could slip a fence-closing tag past the escaper.
Full detail in the changelog.