Repository navigation
v17.0.41
·
4095 commits
to stable-publication
since this release
17.0.41 (2026-10-01)
Bug Fixes
- build: admit csvgrep private csvkit dependency (cd809f8)
- build: derive external facade exports from browser owners (a7f8f12)
- cache: require postbuild dist/opt-in and dist/browser outputs in safe-bash build cache (09ffdf6)
- ci: publish changes to canonical document engines (0710de2)
- ci: release Safe Bash bundler changes (aa59534)
- contracts: preserve scoped filesystem methods when budgeting input (cb8fff3)
- csv: integrate work checkpoints with shell scheduler (8938362)
- csv: support portable csvkit options and cooperative yielding (ab09379)
- enroll spreadsheet evaluators through canonical command factories (5bcea5a)
- git-rust: apply root picks without committing in no-commit mode (5fa6bb7)
- git-rust: preserve binary show output through the WASM adapter (4323671)
- git-rust: support push refspecs, hook cat stdin, and remove slow subprocess tests (c1f1889)
- isolate lightweight registries from unused lazy engine chunks (e3b2590)
- keep root regex configuration free of optional engines (fd0140d)
- mcp-protocol-rust: default JSON budgets to uncapped (c1bf0ff)
- op: preserve input limit validation and diagnostics (f0674a0)
- packaging: keep unused command initializers out of root facade (d03944e)
- pandoc: accept both metadata and Pandoc JSON meta in Lua filter documents (0d5794d)
- pandoc: preserve long EPUB chapters and support full Lua AST filters (42c6f19)
- preserve canonical aggregate registration order (5db40ba)
- preserve lazy GitHub defaults in composable registries (75fe954)
- preserve Node Shell behavior in root full profile (800ad1d)
- publish root shell profiles through shared Node bundles (2f907af)
- python: remove unused module sources from bundles (a4a19b6)
- qpdf: enforce byte limits and yield between page operations (2c9e8e6)
- qpdf: preload equals-form attachment sources (7843d8b)
- resolve scoped private runtime export owners (7684e85)
- safe-bash: accept reference boolean option shorthand (1adba00)
- safe-bash: accept the long LLM attachment type option (d92400e)
- safe-bash: admit checksum arguments before byte allocation (1ec3c25)
- safe-bash: admit LLM models before reading input (3980331)
- safe-bash: admit safe numeric loops and quoted case patterns (b751f2c)
- safe-bash: admit streamed LLM inputs per model (0f9f181)
- safe-bash: align Python LLM configuration context with template store (e885db4)
- safe-bash: align synchronous evaluator directory contracts (d771b8c)
- safe-bash: allow empty default LLM command registration (69cc4bc)
- safe-bash: bound command inputs and yield during document work (19e570e)
- safe-bash: bound owned OpenAI response windows (f2380d3)
- safe-bash: bound Python embedding responses and metadata (3c470b3)
- safe-bash: bound retained stdin UTF8 validation (ab037f3)
- safe-bash: bundle portable Buffer and initialize command subpaths (081e037)
- safe-bash: cancel stalled LLM provider retirement (df7cbeb)
- safe-bash: complete deduplicated public command boundaries (dd06ed3)
- safe-bash: count LLM text output without copying (7904859)
- safe-bash: declare Git workerd WASM publication assets (9ccc1fc)
- safe-bash: decode GNU echo bare octal escapes (4a8c24a)
- safe-bash: dispatch explicit llm prompt subcommand (67b8dd3)
- safe-bash: distinguish printf literal escape rules (3f1e1c1)
- safe-bash: expand builtin echo Unicode escapes by locale (f57036e)
- safe-bash: expand raw replacement tildes inside outer quotes (d02358f)
- safe-bash: fall back to tsx source entry when dist bundle is incomplete (76ca7cc)
- safe-bash: generate optional entrypoints for safe-bash-command-* exports (a97bf9f)
- safe-bash: guard synchronous echo options and mutable loop bounds (b016dc1)
- safe-bash: honor alternate printf shell quoting (567b3c6)
- safe-bash: honor external echo POSIX environment (cbc86e5)
- safe-bash: honor external pwd options and exported PWD (337aea5)
- safe-bash: honor printf quoted-output precision (a9c5773)
- safe-bash: initialize Python LLM with unlimited shell input (319bb8c)
- safe-bash: keep optimized pipeline substitutions portable (615953e)
- safe-bash: keep parallel xargs Buffer-free (5b364e0)
- safe-bash: keep synchronous date formatting Buffer-free (42da27e)
- safe-bash: keep synchronous stat rendering Buffer-free (d6464b4)
- safe-bash: match Bash punctuation quoting in printf (bcb37a7)
- safe-bash: match reference numeric option grammar (175ba82)
- safe-bash: match reference stdin prompt composition (8c57f68)
- safe-bash: match reference Unicode token integer grammar (16288c4)
- safe-bash: normalize UTF-8 write encodings (9ee3bf0)
- safe-bash: permute dirname options outside POSIX mode (ef72180)
- safe-bash: preserve arithmetic and prevent speculative replay (47cce01)
- safe-bash: preserve attachment lease lifetime after MIME probing (087e9c7)
- safe-bash: preserve Bash pattern and printf fast-path semantics (a07ad47)
- safe-bash: preserve bytes in path utility operands (d2d39a5)
- safe-bash: preserve cancellation across cooperative sync adapters (8258a76)
- safe-bash: preserve exact large token bias IDs (52be40d)
- safe-bash: preserve full echo word expansion in loops (7568302)
- safe-bash: preserve input budget export in portable bundles (dcd635e)
- safe-bash: preserve leading BOM in synchronous I/O (11e4974)
- safe-bash: preserve loop condition status and test last arguments (e3d34e1)
- safe-bash: preserve model query values and error precedence (4a8e7db)
- safe-bash: preserve portable symlink metadata budgets (a88aeb4)
- safe-bash: preserve printable UTF-8 in printf quoting (214814a)
- safe-bash: preserve printf errors in fast shell paths (8ab597f)
- safe-bash: preserve private exports in split browser bundles (898383d)
- safe-bash: preserve quoted and expanded replacement tildes (e6be4d3)
- safe-bash: preserve raw bytes in byte-locale substrings (e68de3f)
- safe-bash: preserve reference token bias key ordering (a90734d)
- safe-bash: preserve shuf filename diagnostic quoting (e98c1c6)
- safe-bash: preserve supplementary unknown escape characters (4a7ef65)
- safe-bash: preserve template prompt and stdin semantics (9519efb)
- safe-bash: preserve template schemas in Python requests (3a0fbf2)
- safe-bash: preserve truncate raw path diagnostics (d9e2a7a)
- safe-bash: preserve Unicode hex decoding parity (4a1c4de)
- safe-bash: print echo information flags in POSIX mode (fd1b806)
- safe-bash: qualify optional template parser peer (3bb3b9f)
- safe-bash: re-expand dynamic getopts loop optstrings (7c1d339)
- safe-bash: reconcile shared LLM service declaration (25187a7)
- safe-bash: report invalid unset array subscripts with status one (d97bc44)
- safe-bash: report unsupported truncate byte paths (d8818e5)
- safe-bash: resolve document workspace types from source (c799868)
- safe-bash: resolve LLM workspace exports to source (1c28eb8)
- safe-bash: resolve Python LLM configuration in current guest context (d89d042)
- safe-bash: resolve scoped workspace consumer declarations (81ecc85)
- safe-bash: respect pathname information operand ordering (eb622c9)
- safe-bash: retain canonical shuf adapter in package output (d28037e)
- safe-bash: retain failure status for false information (981374a)
- safe-bash: retain floating operand prefixes and errors (35deb07)
- safe-bash: retain host key aliases for Python attachments (393a6f6)
- safe-bash: retain sha512sum command runtime identity (506b6ce)
- safe-bash: retain shared LLM service injection (204db4e)
- safe-bash: retain shuf filesystem support declarations (a853235)
- safe-bash: satisfy strict types for LLM template store and stream requests (bc26bed)
- safe-bash: separate core and optional shuf output ownership (24abca8)
- safe-bash: share bzip2 command registration and corruption status (e36a97f)
- safe-bash: share configured model aliases with Python discovery (8b1a95d)
- safe-bash: skip deleted entries during find traversal (e4fb208)
- safe-bash: spool nonstream LLM output on caller storage (dc3bfa3)
- safe-bash: stage LLM output beneath device roots (39e4009)
- safe-bash: stage source-capable LLM stdin on caller storage (41049a4)
- safe-bash: stream canonical Python attachments with retained leases (c95746a)
- safe-bash: stream CLI attachments through retained file leases (b4ef3bc)
- safe-bash: stream OpenAI request control values (263ad4e)
- safe-bash: support fold help and version options (42b7a95)
- safe-bash: translate OpenAI JSON mode and token bias (5aefa3a)
- safe-bash: use portable typed arrays without global Buffer (28b19b9)
- safe-bash: use POSIX ERE semantics in synchronous matching (3f9caec)
- safe-bash: wrap model option prose descriptions (d824f1b)
- safe-bash: yield at deterministic command work boundaries (6f597fd)
- safe-bash: yield cancellable while and until loops (afa0238)
- safe-bash: yield during image generation and pixel transforms (bd1e681)
- safe-bash: yield during PDF raster and image extraction work (39552f6)
- safe-bash: yield media and diagram work under frozen clocks (04f7771)
- sdk: remove duplicate safeBash field in SpawnCoreOptions (8b64bc8)
- sdk: resolve safe-bash spawn environment options (4ccc4f7)
- sdk: restore missing safeBash option and helper import in spawnCore (15b91eb)
- shuf: preserve cleanup and incremental output contracts (625a139)
- shuf: preserve retained input and public compatibility contracts (eaadd50)
- shuf: use published diagnostic contracts in optional bundles (52a9297)
- sleep: accept exact negative zero durations (f7883fe)
- soffice: honor byte limits and yield during document conversion (573ec07)
- sqlite3: honor CSV row separators (7e675e4)
- sqlite3: preserve affinity JSON subtype and subquery validation (883fdd2)
- sqlite3: remove fixed recursion, series, and blob caps (5a82475)
- sqlite3: yield cooperatively and bound generated rows (27c26b2)
- test: checkpoint qualified isolated files for interrupted runs (b95b780)
- test: enforce zero-parallelism serial test runners and per-file check caching (0b34b5e)
- test: isolate global network and worker mocks (e5bec1f)
- test: only inject supported Node environment flags (e88fa34)
- typecheck: resolve the admitted scoped PDF workspace (47cd3f0)
- wkhtmltopdf: preserve cooperative layout with sync adapters (e0e7c3f)
- xxd: honor seek offsets in plain reverse mode (5c00722)
- xxd: support outfile seek autoskip and sparse reversal (83a6855)
Features
- expose a lightweight agent registry alongside GH defaults (3c02595)
- make Safe Bash profiles tree-shakeable and share bundled engines (3c35cb1)
- provide a splitting-safe lightweight command registry (0610222)
- safe-bash: add opt-in workspace-backed safe-bash CLI and --safe-bash agent flag (b57dcca)
- safe-bash: convert concise LLM schema definitions (5b5de8b)
- safe-bash: expose canonical configuration mutations to Python (2f0bcdc)
- safe-bash: expose shared model query selection to Python (89bf592)
- safe-bash: forward prompt schemas through shared LLM service (6d8771b)
- safe-bash: match characterized llm model listing (da70b6d)
- safe-bash: match LLM alias queries and option clearing (6b432b3)
- safe-bash: persist and evaluate LLM prompt templates (68d33b7)
- safe-bash: persist LLM model aliases and default options (7c13dee)
- safe-bash: persist template attachment paths and types (0e39680)
- safe-bash: read SQLite records through bounded safe-fs pages (06bc5db)
- safe-bash: resolve Python LLM key aliases on the host (4feed1f)
- safe-bash: select prompt models with reference queries (5a110c5)
- safe-bash: share canonical LLM configuration with Python (514e805)
- safe-bash: stream leased LLM inputs through OpenAI chat (30918a1)
- safe-bash: stream native SQLite record fields (159610d)
- safe-bash: support llm keys CLI and --key resolution (5200f4e)
- safe-bash: support llm template loaders and full templates CLI (771e1e5)
- safe-bash: support non-streaming OpenAI chat and bounded code extraction (e6f09f3)
- safe-bash: support printf input-precision quoting (0cc5a00)
- safe-bash: support Python LLM code extraction and template loaders (f0d3e19)
- safe-bash: support shared named templates in Python LLM calls (1ee4808)
- safe-bash: support wide printf conversions (821f36b)
- safe-bash: validate declared LLM model options (339f0c3)
- safe-bash: withhold partial LLM output in nonstream mode (18e5f26)
Performance Improvements
- build: avoid redundant private facade parsing (c885109)