Repository navigation
v18.0.1
·
8 commits
to stable-publication
since this release
18.0.1 (2026-10-13)
Bug Fixes
- agent-spawn-rust: diagnose sandbox staging creation ENOSPC (f230455)
- agent-spawn: recognize sandbox staging creation ENOSPC (939753f)
- agent-spawn: suggest workspace temp storage on sandbox ENOSPC (ddf2bac)
- build: Budget Python manifest ownership guards (a4a8f1a)
- build: cache consolidated Unicode range generation (7655d7b)
- ci: Exclude Python source builds from runtime qualification (87c3a55)
- ci: provision complete Python package qualification (8a5b5e3)
- ci: Qualify Python scenarios within independent deadlines (2a2db29)
- cli: omit absent workspace filesystem options (fd32e7d)
- graphviz-ast: omit empty attribute statements in serializeDot (b957f6e)
- image-ast: Batch retained JPEG pixel transfers (ced8bc0)
- imagemagick: batch scratch I/O into bounded object-sized pages (d866c40)
- lint: accommodate Rust build output and repository growth (d969919)
- llm: prepare attachments before collection setup (4ac11cd)
- llm: preserve complete plugin failure diagnostics (93452d8)
- llm: preserve native EOF and Click abort boundaries (ee799e4)
- llm: preserve native plugin CLI errors (8c20e1b)
- llm: preserve native plugin exit statuses (ff311ee)
- llm: preserve native tool initialization exits (707a665)
- llm: preserve native toolbox preparation errors (3e4dac8)
- llm: retire native plugin interrupts cleanly (1b025bd)
- llm: retire native tool process exits cleanly (7e0c75e)
- pdf-ast: omit orphan close segments for width-only CFF glyphs (62ef7c6)
- python: bound native wheel directory reads (7bd552c)
- python: distinguish package startup and ABI failures (bd1f57a)
- python: expand caller variables in requirement files (493d81b)
- python: fingerprint manifest bytes for publication conflicts (f1dcc04)
- python: honor source response filename and archive metadata (deec625)
- python: initialize installed package paths against caller storage (5bf68c8)
- python: keep native wheel filename discovery lazy (fe7198a)
- python: match pinned walk symlink scheduling (7c27357)
- python: preserve editable source extras during installation (b11eb6a)
- python: preserve independent metadata reader positions (57b3ad3)
- python: Preserve manifest ownership across invocation scopes (c39b4c2)
- python: preserve native ZIP parser ordering across versions (d1b4716)
- python: Read host-backed build dependency names (27aa12c)
- python: Reject invalid wheel hashes without fatal JSPI errors (70b050e)
- python: reject sources without installation build files (aed2dea)
- python: retain installed wheels outside weak caches (9e723ba)
- python: retain local wheel installation bytes (81b74a1)
- python: retain wheel provenance across restoration (b408b95)
- python: reuse native wheel indexes during installation (c317a77)
- python: select capable storage for native wheel installation (32db29f)
- python: serialize JSPI package and metadata dispatch (ffe8464)
- python: spill native wheel indexes to caller storage (138ceda)
- python: stream cached wheels through caller storage (a7271b7)
- python: stream canonical wheels into caller storage (e548276)
- python: stream default package downloads to caller storage (928a5da)
- python: stream downloads into weak filesystem caches (62af958)
- python: support continued requirement file entries (a1d267e)
- python: verify direct wheel URL integrity before installation (72a8b8f)
- python: verify local source archive snapshots (7e78665)
- python: verify source archive URL hashes before publication (2a7cc2d)
- query-engine: isolate flat parser budgets per invocation (f1d77a5)
- safe-bash-command-python: regenerate embedded runtime programs (284efa8)
- safe-bash-e2e: Import the public ImageMagick entry point (f301cf4)
- safe-bash-rust: achieve deep cp, mv, rm, ln, readlink, realpath, touch, mkdir, rmdir, and ls parity (d614b8c)
- safe-bash-rust: achieve deep find, fd, rg, grep, and xargs parity with TypeScript (90acb1f)
- safe-bash-rust: achieve full xxd, od, hexdump, base64, base32, strings, and cksum parity (740625b)
- safe-bash-rust: align <> read-write redirects, dynamic array subscript side effects, local array restoration, and unset subscripts with 20-test parity suite (cd1ab87)
- safe-bash-rust: align apply_patch, diff3, patch, and cmp diagnostics and anchors with 20-test parity suite (fa846d3)
- safe-bash-rust: align bc option validation, halt, last, and runtime errors with 20-test parity suite (069a965)
- safe-bash-rust: align checksum, base64/32, xxd, hexdump, and strings parity (9cad2ac)
- safe-bash-rust: align column -R noextreme width, file WASM signature, and pdftoppm -png -gray/-mono with 20-test parity suite (efec7c4)
- safe-bash-rust: align dd diagnostics, openssl x509 critical extensions, and tar -T excludes with 20-test parity suite (c41116d)
- safe-bash-rust: align dd, truncate, install, expand, and unexpand parity (be6deef)
- safe-bash-rust: align declare -F, read -n/-N, readonly builtins/arith/loops, control-flow validation, and set -o/+o parity (b6df168)
- safe-bash-rust: align df, cal, ncal, whoami, hostname, and grep parity (9a140f9)
- safe-bash-rust: align env, umask, builtin, command, shopt, readonly, and cd parity (6029563)
- safe-bash-rust: align errexit compound/redirect/posix-subshell rules, env -S split limits, and shared resource bounds (f248f77)
- safe-bash-rust: align file binary magic, character device metadata, and special permission predicates with 20-test parity suite (eb9b211)
- safe-bash-rust: align fmt, pr, column, nl, paste, comm, cut, and gnuInformation with 20-test parity suite (b4eb99d)
- safe-bash-rust: align iconv, dos2unix, shuf, and fold diagnostics and locales with 20-test parity suite (5402488)
- safe-bash-rust: align join, tsort, sponge, envsubst, tac, rev, sort, uniq, and streams with 20-test parity suite (b9fdf4e)
- safe-bash-rust: align media, graphviz, qr, pdf, image, audio/video, and office diagnostics with TypeScript (1140223)
- safe-bash-rust: align numfmt, factor, truncate, csplit, split, expr, date, and sysinfo with 20-test parity suite (76735ef)
- safe-bash-rust: align op and gh CLI flag validation, diagnostics, and alias expansion with TypeScript (9aeedd3)
- safe-bash-rust: align pdffonts, pdfinfo custom metadata order, and ffprobe tags with 20-test media parity suite (01e00b0)
- safe-bash-rust: align sips property headers, Error 6, flip validation, and option diagnostics with 20-test media parity suite (c76a38c)
- safe-bash-rust: align tree, file, du, stat, realpath, mktemp, and hardlink vfs parity (6999844)
- safe-bash-rust: align which, xargs, grep, rg, find, and fd parity (f96871e)
- safe-bash-rust: align xan diagnostics, count execution options, and headers --csv with 20-test parity suite (d1d79c4)
- safe-bash-rust: enforce compression option validation with 20-test archive, codec, and crypto parity suite (21af61e)
- safe-bash-rust: enforce single-byte or empty RS in awk with 20-test sed and awk parity suite (8f3ff4a)
- safe-bash-rust: enforce sqlite3 fts5 virtual table and match validation with 20-test parity suite (f8f52cb)
- safe-bash-rust: implement full sleep validation and cooperative timeout deadlines (417d227)
- safe-bash-rust: preserve QUOTE(NULL), TYPEOF(NULL), and JSON_QUOTE(NULL) in sqlite3 cells with 20-test parity suite (7c0bf0a)
- safe-bash-rust: preserve raw file attachment bytes in op read with 20-test gh and op parity suite (7a1ea1f)
- safe-bash-rust: prevent double fd routing on subshell redirects with 20-test shell grammar parity suite (1025203)
- safe-bash: achieve full tar, zip, unzip, gzip, bzip2, xz, and zstd parity (c8484e2)
- safe-bash: admit updated python-jspi qualification file sizes in integration-inputs (2c6f87d)
- safe-bash: align build cache allowlist, python memory cache budget, and SVG/xan test expectations (05e2b72)
- safe-bash: align diff, diff3, patch, cmp, apply_patch, and wdiff parity (aa4121b)
- safe-bash: preserve literal associative presence selectors (8627aca)
- safe-bash: reach full parity for getconf, locale, id, uname, nproc, pathchk, mktemp, readlink, realpath, and install (020cc41)
- safe-bash: reach full parity for nl, paste, comm, seq, envsubst, printenv, basename, dirname, tee, sponge, tac, rev, and yes (f9218b9)
- safe-bash: separate Playwright output artifact budget (1fdd491)
- safe-bash: support awk split seps/match groups, sqlite3 triggers/window/fts5/upsert, tar options, xan median/map, and jq @urid (b49cf72)
- safe-fs: Avoid redundant aligned scratch page copies (84beb9c)
- safe-fs: encode unknown optional native stat fields (1b88bba)
- safe-fs: fill bounded Python filesystem reads (7acb489)
- safe-fs: Retain guarded tree cleanup after scope retirement (6657262)
- sqlite: follow guarded database symlinks for reads (d1420ab)
- sqlite: isolate query result staging from attachments (be0169e)
- sqlite: preserve caller filenames in snapshot queries (eb7e2aa)
Features
- llm: import embedding rows from SQL queries (5f2acee)
- python: add caller-backed atomic manifest storage (2161e9e)
- python: apply package constraints without installing unused roots (8712875)
- python: apply requirement-file package selection controls (198a49b)
- python: decode package manifests incrementally (7f28625)
- python: detect source archives from extensionless downloads (eccd5e7)
- python: extract installed packages into caller-owned storage (f2c2564)
- python: install editable setup projects from caller storage (81d7bf9)
- python: install editable sources from requirements files (0dc2824)
- python: retain PEP 517 source installation provenance (903d313)
- python: retain redirected package response URLs in cache (08c6046)
- python: select packages across configured indexes (2e78d19)
- python: support installation without runtime dependencies (889ee98)
- python: support streamed manifest publication adapters (0b3e6b1)
- python: traverse nested local requirement files (560fb42)
- safe-bash-rust: achieve 100% native Rust parity for codecs, sqlite3 B-tree, timing, op/gh, and add unit & e2e suites (d9c82e4)
- safe-bash-rust: achieve deferred heredoc, integer nounset, arithmetic quote, and local array parity (6184a48)
- safe-bash-rust: achieve extglob, fatal diagnostics, file shortcut, and function PIPESTATUS parity (218568a)
- safe-bash-rust: achieve full arithmetic AST, array literal, and parameter transform parity (b053f0b)
- safe-bash-rust: achieve full diff, diff3, patch, apply_patch, and cmp parity (0c506a7)
- safe-bash-rust: achieve full FD redirection, heredoc, cmdsub, and subshell/arith parity (004e55a)
- safe-bash-rust: achieve full parity for date, cal, numfmt, factor, expr, and seq (3210185)
- safe-bash-rust: achieve full parity for getopt, shuf, dd, truncate, install, dos2unix, and iconv (f16fd9a)
- safe-bash-rust: achieve full parity for getopts, PIPESTATUS, PATH/hash/type/command, and VFS shebang scripts (02697ac)
- safe-bash-rust: achieve full parity for split, csplit, fmt, pr, tsort, column, fold, expand, and unexpand (bb13948)
- safe-bash-rust: achieve full read, mapfile, readarray, and input FD aliasing parity (e95c748)
- safe-bash-rust: achieve invocation closure, POSIX sh special builtins, discovery, modes, and options parity (25f3183)
- safe-bash-rust: achieve jobs, wait, async negation, retirement, and destination parity (87b3371)
- safe-bash-rust: achieve mkdir, rmdir, rm, ln, cp, mv, chmod, stat, du, ls, and tree parity (68c68a4)
- safe-bash-rust: achieve read/mapfile callback, pipe fd, and diagnostic parity (1c0663d)
- safe-bash-rust: achieve sed and awk deep parity across obscure edge cases (cdcf1aa)
- safe-bash-rust: achieve shell parameter transform and declare -p/+attr/-g parity (d5d50c0)
- safe-bash-rust: achieve source/dot/eval, unit syntax, C-locale ANSI-C, and maxSourceBytes parity (b9172d0)
- safe-bash-rust: add alias, unalias, shopt, hash, pdfseparate, and pdfunite parity matrix (fd49fdf)
- safe-bash-rust: add deep unrtf, mmdc, ssconvert, pandoc, mdq, and ast-grep parity and e2e suite (a6dae63)
- safe-bash-rust: add deep xan, csvkit, and sqlite3 parity and e2e matrix (c9cc7aa)
- safe-bash-rust: add deep xmllint, yq, xq, htmlq, csvkit, and html-to-markdown parity and e2e suite (d16bdad)
- safe-bash-rust: add truncate, dos2unix, unix2dos, expand, unexpand, fold, tac, rev, and strings parity matrix (8311e5e)
- safe-bash-rust: align archive, compression, and byte inspection diagnostics with TypeScript (e8aa644)
- safe-bash-rust: align checksum, base64/32, openssl, gpg, and ssh diagnostics with TypeScript (dd451e4)
- safe-bash-rust: align conditional, test, tilde, and errexit parity with typescript (fedb546)
- safe-bash-rust: align dirstack, cd/pwd/let, eval/source/exec, trap, and jobs/wait/disown/kill parity (af7cbff)
- safe-bash-rust: align dynamic variables and indirect parameter expansion parity (dc7b05b)
- safe-bash-rust: align fs command diagnostics and add parity matrix (96f93ed)
- safe-bash-rust: align globbing, extglob, pattern replacement, case, and (( )) redirects with TypeScript (8e5e452)
- safe-bash-rust: align jq, xq, yq, xan, xmllint, htmlq, and mdq diagnostics with typescript (a307f9d)
- safe-bash-rust: align op secret reference validation, env -S escapes, csvpy dict comprehensions, and add 20-test parity suite (84e9686)
- safe-bash-rust: align pandoc, ssconvert, mmdc, unrtf, html-to-markdown, ast-grep, and csvkit diagnostics with typescript (32dee69)
- safe-bash-rust: align pdftk, pdftoppm, pdftocairo, pdftotext, pdftohtml, magick, and exiftool diagnostics with typescript (47c44b9)
- safe-bash-rust: align pdfunite, pdfseparate, pdfdetach, pdfinfo, pdffonts, pdfimages, and compare diagnostics with typescript (230f222)
- safe-bash-rust: align printf, test/[/[[, getopts, set, echo, and hash parity with TypeScript (1fa5eab)
- safe-bash-rust: align search command diagnostics and config parity (d9a0caa)
- safe-bash-rust: align sed, awk, diff, patch, cmp, and diff3 diagnostics and option parity (3bb35bd)
- safe-bash-rust: align type, command, unset, declare/local/readonly/export, functions, and print parity (185aba7)
- safe-bash-rust: expand native wasm commands to 28 pure-rust e2e suites (fb4c349)
- safe-bash-rust: expand pure-Rust Wasm coverage to 36 E2E suites (8f8248c)
- safe-bash-rust: expand pure-Rust Wasm shell, VFS, structured, archive, media, and crypto commands (cf41305)
- safe-bash-rust: implement native bzip2, xz, lzma, zstd, and pkzip codecs (a437248)
- safe-bash-rust: implement native dot and neato Graphviz layout and E2E matrix (554a2fb)
- safe-bash-rust: implement SQLite 3 B-tree binary database persistence (ea6cc8b)
- safe-bash-rust: support command substitution EXIT traps, op item get --fields, gh workflow/run, and add 20-test parity suite (df2ab93)
- safe-bash-rust: support deep gh repo/issue/pr/release/run/auth subcommands, yq stdin dash, and sqlite json_extract bools with 20-test parity suite (009f1bd)
- safe-bash-rust: support op environment snapshot/plugin/completion/item move and gh project json with 20-test parity suite (6a1834e)
- safe-bash-rust: support op group and gh gist/search/cache/ssh-key/gpg-key/ruleset/extension with 20-test parity suite (d7c1d41)
- safe-bash-rust: support op vault group, gh project/codespace/browse/attestation, sqlite3 unique indexes, and add 20-test parity suite (3bb6179)
- safe-bash-rust: support openssl x509 -ext/-checkend/-addext, RSA-2048 signatures, and gpg v4 Ed25519 packets with 20-test parity suite (948ad35)
- safe-bash-rust: support sqlite3 GROUP BY EXISTS subqueries, op ?attribute=/attr= queries, gh label/PR fields, and add 20-test parity suite (e6fa867)
- safe-bash-rust: support sqlite3 PRAGMA table_info, sqlite_master, GROUP BY ORDER BY expressions, and add 20-test parity suite (4cbd328)
- safe-bash: achieve full cat/head/tail/wc/cut/tr/uniq/sort/join parity (8c45df9)
- safe-bash: add obscure ast-grep, sg, and caller e2e matrix and full rust parity (98f40ae)
- safe-bash: add obscure csvkit e2e matrix and full rust parity (7032d42)
- safe-bash: add obscure jq deep parity matrix and rust jq parity fixes (c4ee055)
- safe-bash: add obscure pandoc and ssconvert e2e matrix and full rust parity (9bf708d)
- safe-bash: add obscure xmllint htmlq mdq deep parity matrix and rust fixes (70f245b)
- safe-bash: add obscure yq deep parity matrix and rust yq parity fixes (61ece84)
- safe-bash: add Rust composite/montage/compare parity and 20-test image/exif E2E matrix (aa7c1df)
- safe-bash: align [[ ... ]] short-circuit, ERE fragments, BASH_REMATCH, and -v parity (1ee00da)
- safe-bash: align less/more pager and PDF/media parity with 20-test e2e suite (1843873)
- safe-bash: align Rust pdftohtml/pdftotext/htmlq/xmllint/html-to-markdown parity and add 20-test E2E matrix (84b50df)
- safe-bash: align select menu/REPLY, tilde expansion, cross-segment IFS splitting, and brace expansion parity (0dd87bd)
- safe-bash: align svg, pdf, qr, media, and crypto deep parity across rust and ts (19627f9)
- safe-bash: align trap lifecycle, extdebug/errtrace/functrace, and parse-time alias parity (6dc9d80)
- safe-bash: upgrade mmdc, unrtf, soffice, ffmpeg, and ffprobe rust parity and add e2e matrix (170d3db)
- safe-bash: upgrade qpdf, pdftk, poppler, and wkhtmltopdf rust parity and add e2e matrix (6b3d1f9)
Performance Improvements
- csv: compact pinned single-byte character tables (b2f55f6)
- csv: compact repeated codec registry fragments (73bbeb0)
- fs: reuse caller cancellation signals across descriptor operations (78d8757)
- llm: compact pinned Unicode printability ranges (113f5d4)
- llm: compact pinned Unicode word ranges (c240123)
- llm: share compact Unicode classification tables (efa275b)
- playwright: Inflate compressed browser guests on demand (98d0df1)
- python: back managed package names with caller storage (c512708)
- python: back metadata discovery with caller storage (8647b82)
- python: back native metadata header lines with caller files (ed962f2)
- python: back native requirement collections with caller storage (9b9520a)
- python: back native ZIP entries with caller storage (0af89d4)
- python: back package publication inventory with caller storage (01c60e4)
- python: back parsed metadata headers with caller files (565752e)
- python: back plain runtime metadata with caller storage (689ab96)
- python: back ZIP child deduplication with caller storage (e163f2b)
- python: back ZIP lookup membership with caller storage (58e213c)
- python: back ZIP metadata groups with caller storage (fce9af6)
- python: bound metadata reads during startup discovery (311e0c1)
- python: bound native saved-record bridge messages (d0c4791)
- python: bound native version metadata reads (b86e12e)
- python: bound ordinary wheel metadata discovery (96b8f88)
- python: compact removal paths on caller storage (ec48971)
- python: compress fixed runtime bootstrap programs (0a1d144)
- python: compress the static native installer program (2629466)
- python: compress the static package program without changing its source (c89189b)
- python: derive restored snapshot paths on demand (c304599)
- python: encapsulate private storage index state (3856195)
- python: encode saved records through bounded windows (e235368)
- python: index resolver constraints in caller storage (4d67918)
- python: index saved record names without decoding metadata (6f52573)
- python: iterate package dependency edges lazily (171d120)
- python: iterate saved package names without decoding records (3d6029d)
- python: lazily decode static LLM tool program (ad1acdf)
- python: lazily load compressed build backend (c1b589c)
- python: move dependency convergence state to caller storage (b697917)
- python: move resolver graph state to caller storage (8ec92a2)
- python: publish inventory entries incrementally (0ed59af)
- python: publish native manifests through caller-owned files (7ec2219)
- python: read saved package records from host sessions (bb18b81)
- python: restore package manifests from caller-backed snapshots (bc2d2a3)
- python: restore saved metadata through caller-backed field reads (98daa39)
- python: scope caller-backed final metadata headers (551ff3e)
- python: spill preloaded package protection to caller storage (181ee18)
- python: stage distribution file discovery on caller storage (31e4f14)
- python: stage native metadata text on caller storage (00b1cf4)
- python: store parsed package roots in caller storage (03270e9)
- python: stream backed ZIP path enumeration (5d679a6)
- python: stream caller directory scans through owned cursors (d25aef7)
- python: stream caller-backed uninstall results (08e5729)
- python: stream configured cache manifests through atomic storage (3e38840)
- python: stream dependency distribution discovery (9516cbf)
- python: stream installed distribution inventory (d9b3bbb)
- python: stream native library discovery during installation (b09fedf)
- python: stream native manifest string encoding (b3fb32b)
- python: stream native ZIP metadata directory reads (e528e30)
- python: stream saved uninstall paths through native decoding (b380e77)
- python: transfer saved package records incrementally (db88765)
- python: traverse removal directories on caller storage (6bd2486)
- safe-bash: back default Python manifests with caller storage (f04f663)
- safe-bash: compact pinned codec alias registry (74c2139)
- safe-bash: infer canonical codec aliases (456b4c7)
- safe-fs: fill seekable native reads with bounded fragments (f0350e1)