Skip to content

v17.0.36

Choose a tag to compare

@poe-code-agent poe-code-agent released this 29 Sep 21:45
· 4458 commits to stable-publication since this release

17.0.36 (2026-09-29)

Bug Fixes

  • agent-spawn: preserve suffixes after shell parameters (494f5ea)
  • agent-spawn: retain suffixes after special shell parameters (c774bce)
  • bc: remove implicit exponent magnitude ceiling (288f577)
  • bind scoped publication provenance to dispatch ref (7cae248)
  • build: cache and restore generated src artifacts in workspace build cache (975994f)
  • build: declare pandoc notice dependency and repair lock closure (6a84527)
  • build: include extracted media workspaces in root test closure (9c97dab)
  • build: include graphviz AST in root workspace dependencies (c7b3c17)
  • build: isolate public filesystem runtime from workspace rebuilds (56af2a1)
  • build: keep copied command assets inside published dist (b6508d1)
  • build: lock newly added command and media workspaces (61325e0)
  • build: preserve optional entrypoints after core import rewriting (f03d8cf)
  • build: publish root-owned declaration closures (01fd535)
  • build: repair installation dependency closure (fcada2b)
  • build: restore generated SafeJS Intl sources from cache (495bb75)
  • build: retain current main dependency closure after extraction (c6123b3)
  • build: sync extracted command dependencies in root lock (98fafbc)
  • build: sync extracted Safe Bash workspace dependencies (7e42927)
  • build: synchronize private command workspace lock entries (c0e1260)
  • build: unify public browser command contracts (db7ae0e)
  • bundle: isolate shared public runtime from workspace rebuilds (6e338fc)
  • bundles: link shared runtimes relative to each emitted entry (a87d969)
  • bundles: share command invocation contracts across SDK entries (b7a65ac)
  • cache: skip dist capture for pure Rust crates without bindings (6ad4211)
  • cal: enforce span quotas and yield during rendering (b4f864e)
  • cal: implement vertical ncal layout, -b/-C/-N/-w flags, and cal row/header padding (d336ca1)
  • cal: restore default dates and vertical ncal month groups (68e6c97)
  • checks: honor declared Node test ownership (32f2a7c)
  • checks: preserve identical cached build output identity (c187d49)
  • checks: report owned group inspection refusals (3533eec)
  • ci,safe-bash: restore safe-bash-contracts tsc build in unit jobs and fix sync command -v PATH discovery (919eac4)
  • ci: allow pinned scoped safe-package releases (9635bbf)
  • ci: bound release queues and decouple toolcraft validation (cf0b671)
  • ci: cache build archive via actions/cache and retry gh run download on 503 egress limits (4c08918)
  • ci: cap workspace test suites at one Vitest worker (7535d82)
  • ci: coalesce pending Pages deployments (ca92de1)
  • ci: coalesce superseded queued Release validation runs on main (312afcd)
  • ci: enable FIFO release queue and coalescing for safe-bash releases (c0a011b)
  • ci: follow the extracted OP workspace in release checks (1f20cd0)
  • ci: include package-lint in release-safe trigger paths (e348db8)
  • ci: include safe-bash-*-engine and xls-ast in release-safe paths and queue coalescing (712aef0)
  • ci: install zsh for native completion coverage (11cfdaf)
  • ci: recover authenticated ssconvert inputs after cleanup (a73abe6)
  • ci: report stalled safe-bash test files (e302121)
  • ci: retain generated Git WASM source (5fc2662)
  • ci: retry transient Bash oracle download failures (cda23ce)
  • ci: serialize PR workspace test stages with concurrency=1 (4dfb8ee)
  • ci: serialize release Vitest workers (23ef1e1)
  • ci: serialize workspace test stages (3280f86)
  • compression: release invocation codec memory (c1bdf24)
  • config: avoid ambient library loading during schema extraction (94e760c)
  • config: reconcile duplicate library loading options (41718ea)
  • csplit: keep translated regex source immutable (7d43624)
  • csvgrep: flush EOF header in -n mode and admit negative numeric option values (#960) (d080f0a)
  • csvkit: admit JSON strings before serialization (0e9e8eb)
  • csvkit: bound workbook XML parsing with the shared parser (4618baf)
  • csvkit: charge plain CSV input per character (0e500ef)
  • csvkit: consume fixed-width schema record cells (41b6c00)
  • csvkit: preflight all command collisions before registration (4dce94c)
  • csvkit: preserve admitted output and sink backpressure (0c51274)
  • csvkit: preserve dialect options in sync joins and stacks (5e60d8c)
  • csvkit: preserve the public plugin name in Shell (6fe1688)
  • csvkit: read XLSX with the owned cached workbook reader (517568e)
  • csvkit: stream JSON under retained memory limits (7f7a9df)
  • csvkit: strip NUL before resetting the line buffer (a800485)
  • csvkit: strip NUL from final named input buffer (2e12754)
  • deps: restore od and xxd workspace lock entries (9fc4191)
  • deps: synchronize ImageMagick workspace lockfile (2c99857)
  • df: count sync argument bytes without Node globals (a422333)
  • diff3: make resource quotas optional and independent (5d1299b)
  • docx: reduce numeric inventory measurement overhead (dbf6ba5)
  • docx: support callable formatting constructors (59a71c9)
  • docx: support callable RGBColor values (cfe323d)
  • docx: use the hook deadline for native startup (8948797)
  • docx: use the test deadline for native requests (548d30e)
  • docx: yield once for large charged work checkpoints (b59a158)
  • exiftool: make resource quotas opt-in (d6fbcf5)
  • exiftool: read active /Info revision so deleted PDF tags do not resurrect (d4318b3)
  • exiftool: support JPEG EXIF and PNG image metadata (f782cb7)
  • ffmpeg: honor duration, segment paths and sequence numbering (a24716e)
  • ffmpeg: remove unreachable duplicate vertical stack branch (e29f3bd)
  • fmt: make formatting resource quotas opt-in (e6f75c6)
  • fmt: preserve buffered output when formatting fails (55b4f9c)
  • fmt: transfer output batches and account for retained bytes (aba6053)
  • fold: make resource quotas optional and independent (2591f26)
  • gh: complete issue editing and URL resolution (2918b65)
  • gh: isolate VFS state and bound lazy command inputs (7166580)
  • gh: preserve synchronous comment timestamps (27cf667)
  • git-rust: abbreviate HEAD shorthand to the current branch (b61e95f)
  • git-rust: align history revision and status CLI options (4be3411)
  • git-rust: align revision and history rendering with git (f4bd210)
  • git-rust: complete CLI revision and checkout parity (d716c63)
  • git-rust: consume checkout branch option arguments in order (ddf9259)
  • git-rust: correct commit body and history diff formatting (dd5d9ee)
  • git-rust: correct revision and object CLI parity (1594d01)
  • git-rust: disambiguate checkout paths and reset branch start points (5285236)
  • git-rust: ensure build script creates dist directory for workspace cache (95fdbf5)
  • git-rust: guard cycles during blob filepath resolution (0a8284f)
  • git-rust: honor formats for packed and virtual objects (fe12162)
  • git-rust: honor status diff branch and log CLI arguments (f9df75c)
  • git-rust: implement worktree and object CLI parity (7093b80)
  • git-rust: include context headings in diff hunks (ac9b13d)
  • git-rust: parse annotated tag message options in any order (bc674ec)
  • git-rust: peel annotated tags for commit revision consumers (8feadbc)
  • git-rust: peel annotated tags in symmetric diff ranges (0197442)
  • git-rust: peel nested annotated tags when reading commits (ba23722)
  • git-rust: preserve binary object output through safe-fs (e52530b)
  • git-rust: preserve ignored descendants during clean (1fc1d40)
  • git-rust: preserve missing paths and distinguish sibling sync roots (4ee4790)
  • git-rust: preserve modes and honor Git reader and history semantics (49ea4fb)
  • git-rust: preserve reset trees and clean directory semantics (92f7490)
  • git-rust: preserve trees and history across CLI mutations (3368374)
  • git-rust: prune walks and load blob data lazily (b809bd8)
  • git-rust: recognize HEAD shorthand in revision expressions (f86a5c0)
  • git-rust: reject invalid wire command repositories (3f9228e)
  • git-rust: reject malformed config and push status without panics (27f763d)
  • git-rust: resolve ancestry and historical CLI arguments (c53eb31)
  • git-rust: respect path commits and parse ref and config arguments (49f47c5)
  • git-rust: separate diff pathspecs from revisions (1239ea1)
  • git-rust: show annotated tag metadata and peeled commit IDs (450927a)
  • git-rust: show staged diff before the first commit (ccc5bfd)
  • git-rust: stop blob reads on annotated tag cycles (7a7ba91)
  • git-rust: support status log and diff parity options (2abac58)
  • git-rust: support unborn checkout branches and verify reset safety (0b78bff)
  • git: build WASM with stable rustup and decode bytes linearly (80973b7)
  • git: preserve stdin and correct plumbing and merge parity (61a8647)
  • hexdump: initialize the optional squeeze write (68c0948)
  • hostname: preserve limits and isolate filesystem state (2bc4203)
  • html-to-markdown: remove redundant bracket escape (3d427b1)
  • htmlq: expose family factory through public command facade (feee5c3)
  • identity: enforce account file limits and preserve cancellation (94f1018)
  • image-ast,sips: add recomb/toColorspace/joinChannel/bandbool/clahe/affine, numeric extend(n), sips -1 format, and identify [frame] (#40-#43) (ea904da)
  • image-ast,sips: expose sharp static enums, support numeric gravity, and expand identify %g/%G/%A (#76) (f19b460)
  • image-ast,sips: handle Adam7 PNG, interlaced/multi-page GIF, multi-strip/BE TIFF, 8-bit BMP, withoutReduction, and directory --out (c9c8af9)
  • image-ast,sips: match libvips CIE LCh/Lab color ops, premultiplied trim, linear b-w, and sips flag slot precedence (#48, #49, #50, #51, #52) (ac7d721)
  • image-ast,sips: match libvips contain-resize alpha promotion, rotate/affine bounding box, and b-w raw channels/depth (#71) (cb3a852)
  • image-ast,sips: match libvips flip/flop-before-rotate order and sips resample-before-rotate execution (1ea4dce)
  • image-ast,sips: resolve stress-testing edge cases (#28-#37) (a92714b)
  • image-ast,sips: support PDF output encoding and Gray+tRNS 4-channel PNG decoding (#70) (ff423ac)
  • image-ast: apply extend() and extract() per frame on multi-page animated images (#97) (eb04e89)
  • image-ast: bundle safe-fs/core helpers into dist entrypoints (299af2e)
  • image-ast: clear outside-overlay pixels for Porter-Duff in/out/dest-in/dest-atop/clear/source, fix blend:add alpha sum, and add sharp.boolean() (43020a7)
  • image-ast: decode progressive JPEG AC refinement (7f7bb92)
  • image-ast: delegate arbitrary-angle rotate() to affineImage matching libvips vips_similarity (14102f2)
  • image-ast: disable input pixel limits by default (b78d0f4)
  • image-ast: evaluate withMetadata() after autoOrient() so input EXIF orientation is used for pixel rotation (#94) (118c9a2)
  • image-ast: execute autoOrient() before rotate(angle), flip(), flop(), and resize() (#1253) (cd4d384)
  • image-ast: execute extend() after resize() and extract() regardless of method call order (#90) (f066ec9)
  • image-ast: execute removeAlpha/flatten before ensureAlpha and match vips_hist_local in clahe (3654b69)
  • image-ast: execute trim() before resize()/extend() and replace existing trim node on repeated calls (#91) (87c0238)
  • image-ast: expose codecs without Node builtins (28049aa)
  • image-ast: expose sharp.interpolators, honor affine({ interpolator }), and cancel ops on false/0 (#81) (21ee911)
  • image-ast: fix affine() idx/idy/odx/ody translation and oarea bounding box (#80) (226f42b)
  • image-ast: fix resize() contain alpha/cover rounding, 4:2:0 JPEG edge chroma clamping, vips_gamma LUT, and bandbool channels (b47e904)
  • image-ast: fix soft-light blend mode D(d) - d polynomial for d <= 0.25 (#53) (3ae74e2)
  • image-ast: honor across/shim on animated join and zero RGB when alpha=0 in composite (917dfba)
  • image-ast: implement Pre/Post extract() slot replacement and validate filter bounds (4c26a57)
  • image-ast: implement vips_hist_local sliding window in clahe() and sample stdev in stats() (#63) (1428da2)
  • image-ast: implement vips_smartcrop (entropy/attention) in resize() and preserve solid trim() (#77) (fddc376)
  • image-ast: implement VP8L predictor modes 11, 12, and 13 and right-edge TR neighbor (#58) (d49e9b8)
  • image-ast: make filesystem declarations self-contained (2620f1e)
  • image-ast: make flip()/flop() idempotent and support flip(false)/flop(false) cancellation (#84) (deb935a)
  • image-ast: match CalculateCrop rounding and tiled offset clamping in composite() (8015a57)
  • image-ast: match libvips 4-band vips_hist_local in clahe() and unclamped _vips_col_Lab2XYZ in normalise() (21ac0b1)
  • image-ast: match libvips fixed-point vips_resize pipeline for all kernels (f2573b2)
  • image-ast: match libvips on recomb truncation, removeAlpha 1ch/2ch srgb expansion, and grayscale ordering (#85) (3e52ce8)
  • image-ast: match libvips premultiply/unpremultiply pipeline in blur(), rotate(), and affine() (439a740)
  • image-ast: match libvips resize upscaling/edge-clamping, linear kernel, 4-band linear(), and ensureAlpha() (#75) (2b38c8b)
  • image-ast: match libvips vips_cast_uchar float truncation across composite() blend modes (#87) (1c25140)
  • image-ast: match libvips vips_cast_uchar truncation in convolve(), linear(), and flatten() (#89) (a625108)
  • image-ast: match libvips vips_composite on premultiplied:true layers and sub-1-alpha Porter-Duff modes (6dc7d4e)
  • image-ast: match libvips vips_convf and vips_sharpen LABS pipeline in convolve() and sharpen() (b4e9f8a)
  • image-ast: match libvips vips_gaussmat/vips_convi in blur and validate precision/minAmplitude (8cc0207)
  • image-ast: match libvips vips_percent in normalise and vips_Y2v_8 in b-w/threshold (d3c7c65)
  • image-ast: match libvips vips_resize/vips_affine/vips_reduce for nearest kernel (bebfb07)
  • image-ast: match libvips vips_smartcrop_entropy and vips_smartcrop_attention in resize() (d02c650)
  • image-ast: match PipelineWorker::Execute stage order, gamma/premultiply bracketing, and post-scale rotate (#1247) (06e64f4)
  • image-ast: match sharp linear() 2-channel [grey, alpha] vector mapping and band-expansion validation (#1252) (8fee868)
  • image-ast: match sharp StatsWorker::Execute on stats().sharpness and stats().entropy (4b8a17b)
  • image-ast: match vips_boolean 1-band broadcasting and band-count validation, and validate array input for join (#1250) (2bfdb5e)
  • image-ast: match vips_find_trim 3x3 median filtering and 2-channel flatten() raw sRGB expansion (#1248) (878197f)
  • image-ast: merge modulate() options and replace existing slot nodes on repeated calls (#92) (0480e3e)
  • image-ast: merge repeated withMetadata() options and support keepExif/withExif/withIccProfile/timeout (#95) (5337dff)
  • image-ast: merge/replace existing resize(), extend(), and rotate() nodes on repeated calls (#83) (b1eab6f)
  • image-ast: omit OutputInfo.pages on single-frame GIF extraction and report total n-pages on { page, pages } slices (#1254) (92275a0)
  • image-ast: pass exact ResolveShrink hscale and vscale to vips_resize (017cea0)
  • image-ast: premultiply RGBA in convolve() and use rounded origin + bilinear interpolation in affine() (#62) (2006f9d)
  • image-ast: preserve 3ch RGB in extend() with copy/repeat/mirror and validate extendWith (b2a0f84)
  • image-ast: preserve greyscale on toColourspace(srgb) and validate metadata/colourspace args (f6993aa)
  • image-ast: promote 1-ch/2-ch inputs to 3/4-band sRGB in recomb() and modulate() (#1251) (341f2b8)
  • image-ast: promote 3ch RGB to 4ch RGBA in affine() with alpha<1 background and validate resize/extend (5defb32)
  • image-ast: propagate cancelled stream input to clones (3b6cbe5)
  • image-ast: reject incomplete JPEG entropy and restart sequences (347151b)
  • image-ast: reject non-180 rotate() and trim() on multi-page animated images (#98) (5ef399e)
  • image-ast: remove redundant tile boolean conversion (e455ea4)
  • image-ast: replace toColorspace() node on repeated calls, support bw alias, and expose sharp.colourspace (#93) (eb02778)
  • image-ast: require declared JPEG tables and scan components (2fd420e)
  • image-ast: reset omitted width/height on repeated resize() calls matching sharp (4eceb8b)
  • image-ast: resize multi-page animated images per frame and replace extractChannel/bandbool/boolean slots (#96) (8e98f9b)
  • image-ast: return 2-band [gray, alpha] in stats() and expand 2-channel inputs in default raw() (#78) (70483bb)
  • image-ast: return Node Buffer from toBuffer() and truncate premultiplied raw input (#99) (cc32536)
  • image-ast: support 16-bit TIFF Predictor=2 and multi-page animated GIF (#60, #61) (38fb7c7)
  • image-ast: support 4-band RGBA median, Lab sharpen & mild blur/sharpen defaults, positional normalise, and trimOffset (#72) (e1fb511)
  • image-ast: support 4x4 Catmull-Rom bicubic in affine() and false cancellation in flatten()/normalise() (#82) (95c5d2a)
  • image-ast: support autoOrient on composite layers and validate top/left pair (3f8fd8d)
  • image-ast: support autoOrient(), metadata().autoOrient, sharp.format, and toFormat() aliases (#86) (3353f67)
  • image-ast: support chained joinChannel, composite replacement, and overlay bounds (#74) (74e080a)
  • image-ast: support force: false on output formats and validate quality/compressionLevel/timeout (419a941)
  • image-ast: support hsl/hsla color strings, validate color inputs, and ignore orthogonal rotate background (84d793c)
  • image-ast: support SVG , , fill-opacity, and <rect rx/ry> (#64) (b8fa1be)
  • image-ast: support tiled TIFFs, premultiplied composite/blur/rotate, and fast multi-megapixel merges (#44, #45, #46, #47) (744c9a8)
  • image-ast: support TypedArray raw inputs and validate raw.pageHeight divisibility (ab82b7f)
  • image-ast: threshold RGBA alpha channel and scale SVG / by activeCtm (4e9e18a)
  • image-ast: use libjpeg fancy (3/4, 1/4) bilinear chroma upsampling on subsampled JPEGs (#57) (7a657cb)
  • image-ast: use safe-fs and publish portable Sharp streams (0b28468)
  • image-ast: validate channel/clahe arguments and support joinChannel file paths (46a48b5)
  • image-ast: validate composite() layer blend, tile, gravity, premultiplied, input, and inputOptions (7562274)
  • image-ast: validate constructor options and enforce limitInputPixels across decode paths (da89ada)
  • image-ast: validate join and text constructor options and reject recursive joins (3e6b5ba)
  • image-ast: validate jpeg, png, webp, gif, tiff, heif, and avif encoder options matching sharp (1014fbf)
  • image-ast: validate linear, recomb, convolve, gamma, and threshold arguments (9ed14ff)
  • image-ast: validate modulate, rotate, and affine arguments matching sharp (6785302)
  • image-ast: validate raw, gif, png, webp, tiff, heif, avif, and toFormat options matching sharp (d439937)
  • image-ast: validate resize, trim, negate, and normalise options matching sharp (e8b4a8c)
  • image-ast: write libtiff ExtraSamples/RowsPerStrip/PlanarConfiguration, decode JPEG-in-TIFF (Compression=7), and preserve omitted resize(fit:fill) dimension (#54, #55, #56) (dbf6596)
  • imagemagick: correct image operands and comparison semantics (0d4f5ad)
  • io: retain Node-compatible codec declaration types (506dd33)
  • isolate audit workspace dependency installs (4a756b0)
  • jq: yield while decoding large raw inputs (2589b62)
  • less: diagnose input limits and preserve cooperative cancellation (7da6008)
  • limits: make document and shell resource ceilings opt-in (3812fdd)
  • line-ending: bound work between turns with stationary clocks (eb79f0d)
  • lint: satisfy no-empty rule in check-cache and cargo.mjs catch blocks (2db02d3)
  • mcp-client: preserve explicit unlimited response and deadline settings (cc327f6)
  • mcp-oauth-rust: accept explicit infinite response budgets (a9e5f41)
  • mcp-oauth-rust: accept explicit unlimited response budgets (bfb64ab)
  • mcp-oauth-rust: match current credential and response policies (19c99d7)
  • mcp-oauth-rust: preserve uncapped credential extensions (dd1a1ea)
  • mcp-oauth-rust: preserve uncapped credential JSON parity (a61cab9)
  • mcp-oauth-rust: resolve credential helpers in embedded addons (b070352)
  • mcp: accept unlimited response and JSON node budgets (1fe51e2)
  • mcp: bound native test execution and process cleanup (5329765)
  • mcp: honor unlimited limits in the Rust client (b0d2c52)
  • mcp: reconcile duplicate response budget guards (5f8632a)
  • mcp: remove implicit credential JSON admission caps (1a111b3)
  • mdq: disable implicit limits and preserve budget diagnostics (62346e1)
  • mdq: preserve footnote bodies and definition order (b8a4b70)
  • mmdc: align CLI and SDK options and correct diagram layouts (8387950)
  • mmdc: disambiguate class relations and empty blocks (d1a592c)
  • mmdc: preserve Mermaid edge and label boundaries (188a1b5)
  • mmdc: preserve non-enumerable file budget ownership (df1479d)
  • mp4-ast,safe-bash-command-ffmpeg: support AVI strf extradata, drop-chunk coalescing, vstack, and stream-selective concat (3e42848)
  • mp4-ast: declare optional MKV default duration (df6b24e)
  • numfmt: fix compare(0, positive) returning +1 when scaling zero (10109ed)
  • numfmt: satisfy regex spacing lint (4932cd8)
  • op: clean obsolete host artifacts before command builds (1c1520a)
  • op: handle sync completion before command parsing (1cd50f3)
  • op: make renamed command workspace portable and unlimited by default (fd5b456)
  • op: preserve optional bindings under strict source checking (52e4cfc)
  • op: preserve strict types in source consumers (5bd336f)
  • op: remove remaining implicit stdin byte ceilings (e8947cc)
  • package-lint: admit emitted packed shared runtime imports (0c3b698)
  • package-lint: apply package file exclusions consistently (141bccb)
  • package-lint: resolve packed root subpath imports in shipped-dist-deps-unresolvable (1794416)
  • package-lint: support negated suffix entries in collectPackageFiles and packlist (1aff681)
  • packaging: collect private workspace declarations generically (5811deb)
  • packaging: keep copied command assets inside workspace output (3d8e3bf)
  • packaging: omit disposable debug source maps (1c02fca)
  • packaging: omit orphaned on-disk browser chunks and wasm from @poe-platform/safe-bash tarball (5e10afd)
  • packaging: preserve canonical browser command exports (556b42c)
  • packaging: preserve canonical browser command identities (e55ad37)
  • packaging: preserve canonical external runtime ownership (da7bdf3)
  • packaging: preserve root conditional browser runtimes (cb260db)
  • packaging: preserve shared portable command runtimes (9adea37)
  • packaging: qualify filesystem path type imports (d492e1d)
  • packaging: rebind root shared entries to scoped contracts (9fcd9cb)
  • packaging: retain admitted private declaration entries (f6a85a8)
  • packaging: retain root public declaration dependencies (0da5203)
  • packaging: retain runtime companion declarations (2c38ec7)
  • packaging: retain the canonical XML runtime in SafeFS (db78c3b)
  • packaging: stop requiring canonical debug sidecars (412ec91)
  • packaging: traverse deep generated modules without stack overflow (9b811ef)
  • packaging: unify browser command contract identity (1c5237b)
  • pandoc: await async recalculateWorkbook from ssconvert (4e82fb8)
  • pandoc: bundle portable adapters before publication (97f7437)
  • pandoc: decline sync probes before starting async adapters (9e3cc48)
  • pandoc: derive archive budgets from caller limits (b4622a6)
  • pandoc: detect larger shebang filters and preserve cancellation (fa3f698)
  • pandoc: embed RTF images from the configured VFS (49ce749)
  • pandoc: enable built-in DOCX XLSX and PDF conversions (0c09e75)
  • pandoc: expose writer format to Lua script loaders (10aadc3)
  • pandoc: infer CLI formats without requiring yes (b0911be)
  • pandoc: load ambient types for source consumers (245650c)
  • pandoc: make conversion limits opt in (9e3f10e)
  • pandoc: prepare portable Lua for every browser entry (7ec0aa4)
  • pandoc: preserve XLSX headers whitespace and formula results (eda06a7)
  • pandoc: render styled text rules and aligned PDF tables (3613921)
  • pandoc: resolve prepared browser command subpaths (83e34da)
  • pandoc: respect typed input and output variants (a4d3ffe)
  • pandoc: retain loaded Lua callback identity (b000d32)
  • pandoc: support the markdown format alias (ca2da83)
  • pandoc: use prepared Lua adapters in browser shell builds (2022cbb)
  • pathchk: preserve byte arguments and yield ancestor checks (39c9c93)
  • pdf-ast,safe-fs: enforce strict AES-CBC PKCS#7 padding and portable UTF-8 byte lengths (c323651)
  • pdf-ast: adopt PDF.js lexer recovery cases (cffdca9)
  • pdf-ast: adopt PDF.js operator recovery (bff0919)
  • pdf-ast: apply glyph clipping at text object end (dd957c7)
  • pdf-ast: clean inherited redaction resources (d0e78ba)
  • pdf-ast: composite soft masks and group opacity (5caa7bd)
  • pdf-ast: composite transparency Form effects (ce40551)
  • pdf-ast: copy src/vendor into dist/vendor during build for package-safe (b3fcc30)
  • pdf-ast: decode mixed-width CMap characters (a3398d2)
  • pdf-ast: decrypt recovered xref revisions (074a314)
  • pdf-ast: default resource limits to Infinity and enforce explicit budgets (2d1faa0)
  • pdf-ast: detect indirect reference cycles (40d3662)
  • pdf-ast: embed correct OpenType CFF metadata (4865abe)
  • pdf-ast: embed widths for all font glyphs (a35f5b6)
  • pdf-ast: emit valid XML in SVG glyph labels (5631e44)
  • pdf-ast: encode SVG raster images without Buffer (ce84302)
  • pdf-ast: enforce decoded image byte budgets (3091c3c)
  • pdf-ast: enforce syntax depth budgets (2f18bb9)
  • pdf-ast: flatten curves at render resolution (12ed1f8)
  • pdf-ast: honor rotation in all page renderers (da9fe08)
  • pdf-ast: honor TrueType CID glyph mappings (d52ce70)
  • pdf-ast: include scoped third-party notices (c6f0a0d)
  • pdf-ast: map symbolic TrueType glyphs by character code (c81fed3)
  • pdf-ast: normalize scientific notation, prevent false inline image EI markers, support PNG predictor padding, and add page scaling & rotated text extraction (2e25c59)
  • pdf-ast: paint patterns through stencil masks (b47a41a)
  • pdf-ast: preserve content and appearance bytes (b171e7c)
  • pdf-ast: preserve independent edits to copied pages (111a847)
  • pdf-ast: preserve inherited page resources/boxes on copy, custom checkbox states, CTM redaction, and page stream isolation (2558982)
  • pdf-ast: preserve ordinary clipping paths (c881078)
  • pdf-ast: preserve PDF painting order (9bd4c80)
  • pdf-ast: preserve stroke transforms and dashes (c60b538)
  • pdf-ast: preserve zero-length dash dots (c2913e1)
  • pdf-ast: recover and bound Flate streams (af2c550)
  • pdf-ast: recover malformed font dictionaries (04e5041)
  • pdf-ast: recover malformed xref object entries (866ff6b)
  • pdf-ast: recover truncated Flate output (8242b8b)
  • pdf-ast: recover unused empty indirect objects (0350064)
  • pdf-ast: remove obsolete data after redaction (9ec019f)
  • pdf-ast: render complete stroke outlines (e57c35b)
  • pdf-ast: render embedded CFF font programs (23d0ec2)
  • pdf-ast: render embedded Type 1 fonts (e328d65)
  • pdf-ast: render OpenType CFF outlines (70beb0d)
  • pdf-ast: render real standard font outlines (f1a2871)
  • pdf-ast: render TrueType subsets without cmap (ab529e1)
  • pdf-ast: resolve embedded font Encoding CMaps (47ad55c)
  • pdf-ast: retain default Form blend behavior (d65d94b)
  • pdf-ast: retain mesh shading streams in pattern fills (7a5fa44)
  • pdf-ast: retain simple font byte codes (ec43cd5)
  • pdf-ast: reuse unshared content streams during edits (c5f961c)
  • pdf-ast: share image codecs with extraction (6abd3e5)
  • pdf-ast: smooth image and stencil downsampling (82a3a34)
  • pdf-ast: space text using encoded characters (45104d0)
  • pdf-ast: support indirect stream /Length, scaled Tm glyph widths, AcroForm /DR fonts, and CMap surrogate pairs (6be1c29)
  • pdf-ast: use PDF.js JPEG decoding (d47bae9)
  • pdf-ast: use PDF.js standard security handling (d8aadef)
  • pdf-ast: use real PDF.js image decoders (b3bdee8)
  • pdf-ast: validate xref entries before allocation (e652498)
  • pdf-ast: write interoperable encrypted PDFs (9b0907a)
  • pdf: handle stdin operands and qpdf argument files (741445b)
  • pdfinfo,pdftotext: default pdfinfo -l to -f page and reject negative -l and non-numeric crop args (10e3f65)
  • pdfinfo: support /Names /Dests Name Trees, << /D >> dests, metadata copying, and %% patterns (efcdab4)
  • pdftotext,exiftool: crop bbox recomputation, Flate XMP inflate, UTF-16BE Info, and PDF dates (f543793)
  • playground: preserve native shell state callbacks (63af342)
  • playground: roundtrip conditional filesystem identities (59d9934)
  • playwright-tests: retry transient cleanup inspection timeouts (88cb140)
  • playwright: accept bare statements in run-code (4e5efd0)
  • playwright: bind native snapshot identities in bulk (cd88552), closes #907
  • playwright: bound Cloudflare trace recording before retention (3e8347c)
  • playwright: coordinate run-code transport shutdown (36dea3f)
  • playwright: default private budgets to unlimited and advance frozen clocks (aeb3090)
  • playwright: forward snapshot reference operation controls (84149b2)
  • playwright: identify run-code relay cleanup failures (dffb37d)
  • playwright: index native labels once per snapshot (c6df6ae)
  • playwright: keep browsers usable after JSON snapshot limits (e3f9b52)
  • playwright: make Cloudflare tracing portable and quotas optional (0682fe1)
  • playwright: make discovery and recovery ceilings opt-in (1602a9c)
  • playwright: make pending command count limit opt in (114c56c)
  • playwright: make private transport byte limits opt-in for 33 MiB replies (#731) (347f905)
  • playwright: make run-code CDP traffic limits opt-in (f3b762d)
  • playwright: make run-code limits opt-in and recover output refusals (b4c2252)
  • playwright: make session-count limits opt-in (cb8d250), closes #654
  • playwright: make standalone resource limits opt-in (29f0730)
  • playwright: make standalone snapshot limits opt in (c603e7e)
  • playwright: make storage-control budgets opt-in (5126281)
  • playwright: make tab-count limits opt-in (83fa8b8)
  • playwright: preflight protocol JSON graphs and reuse admitted frames (#617) (63c61c1)
  • playwright: preserve deadline and cleanup ownership (de34e8a), closes #1116 #1117 #1122
  • playwright: preserve guest errors during state validation (f365ee5)
  • playwright: preserve native schema and lazy traversal during snapshot recovery (020a25a)
  • playwright: preserve strict validation for optional trace quotas (eb30f8c)
  • playwright: remove hidden native trace resource caps (55f28f0)
  • playwright: remove hidden run-code state caps (7a2c39c)
  • playwright: remove implicit code generation byte caps (c252e4a)
  • playwright: remove implicit run-code JSON limits (80f75f0)
  • playwright: remove snapshot byte limits (c47b21a)
  • playwright: remove the implicit JSON snapshot node cap (f924bd0)
  • playwright: renew idle sessions when bound page work yields (f072426)
  • playwright: retain CLI sessions after output refusals (9ca032c)
  • playwright: retain JSON snapshots after output refusal (5de6f1a)
  • playwright: retire failed snapshot cleanup (51aa060)
  • playwright: retire failed traces without replaying capture errors (8692ece)
  • playwright: separate saved sessions from snapshot limits (af48178)
  • playwright: serialize native frame snapshot capture (e4e8c73)
  • playwright: use safe-fs capture and honor unlimited budgets (ff252e4)
  • poe-agent-rust: raise sdk vitest timeout for concurrent CI runs (2496fc4)
  • pptx: accept byte sinks without close (f502f34)
  • pptx: make drawing XML creation limits optional (4119bda)
  • pptx: support callable base Length values (49a612f)
  • pptx: support callable length and RGB helpers (470b156)
  • pr: drain admitted output within finite budgets (60a8162)
  • pr: flush admitted output after work exhaustion (c8ece04)
  • python: bound buffered LLM responses and fragment text streams (4016ddc)
  • python: bound shell stream messages before serialization (4d791e9)
  • python: bound sparse arrays before host serialization (75c9b29)
  • python: cancel close publication and recover retired capacity (5b0401a)
  • python: disable default host shell and llm resource limits (c1a3187)
  • python: inherit guest cwd and environment in host calls (637d3d9)
  • python: preserve embedding iterable inputs (f68f21c)
  • python: preserve native requests above 128 KiB (eb0824f)
  • python: preserve owned embedding response metadata (7692c3e)
  • python: preserve shell output-limit failures (793a8ce)
  • python: retain timeout output and replace explicit child environments (ea9f769)
  • python: stream shell output with backpressure and cancellation (83ec879)
  • qpdf: clone overlay resources, flatten AcroForm widgets, preserve hyperlinks, and list Form XObject images (1c5ebe9)
  • qpdf: read stdin only for input operands (fa691d5)
  • qpdf: remove encryption object on decrypt, parse subrange :odd/:even, and catch range errors (72ee94e)
  • query-engine: preserve cooperative checkpoint timing (7bc20c7)
  • query-engine: preserve native elapsed time across budget reset (b0797dc)
  • query-engine: preserve null index results (17f0699)
  • query-engine: read the current yield timestamp field (21ac188)
  • query-engine: refresh the reset clock before checkpoint binding (425a82c)
  • query-engine: restore each run elapsed-time baseline (0e09762)
  • query-engine: retain construction time for yield budgets (b12f1ab)
  • query-engine: retain full monotonic budget timestamps (6e45971)
  • query: restore cooperative checkpoint cancellation (bfe0f10)
  • regex-engine: preserve elapsed checkpoint deadlines (30fdc7b)
  • regex: default instruction limits to Infinity (c40bd4e)
  • regex: enforce opt-in nesting limits for reused Rust patterns (6b7e414)
  • regex: honor caller quotas for large patterns (a65d650)
  • regex: retain Rust instruction budgets after integration (5234433)
  • regex: share synchronous and deferred instruction compilation (57481ed)
  • release,safe-bash: keep optional yaml peer out of core dependencies and fix shell fast-path edge cases (1ff7272)
  • release: align safe-packages-smoke posixPath assertion with portable root exports (a8db416)
  • release: bound GitHub release notes to the API limit (27b9a96)
  • release: copy vendored pdfjs-fonts assets in pdf-ast build and package-safe (e9d826d)
  • release: include the XLSX library in scoped release triggers (c28462d)
  • release: map root-owned SafeJS exports into scoped archives (9badb68)
  • release: preserve private command subpath imports and restore workspace contracts in CI (107fcf2)
  • release: traverse generated module ASTs iteratively (d6802d4)
  • respect declared Node test ownership (bde1fed)
  • retain browser guardian ownership after inspection failures (b5c95a8)
  • safe-bash-command-bc: format zero-coefficient decimals as 0 and implement j(n,x) in bc -l (76336ae)
  • safe-bash-command-df: account usage per mount and enforce entry budget (e6f1839)
  • safe-bash-command-df: resolve configured mount points on fresh VFS (#3777) (a8a5787)
  • safe-bash-command-exiftool: accumulate short output flags (5e1d769)
  • safe-bash-command-exiftool: strip PNG metadata without decoding (37c1403)
  • safe-bash-command-fd: retain concurrent CLI and SDK options (3b740f1)
  • safe-bash-command-gh: add missing LICENSE file for publication contract (388a7fd)
  • safe-bash-command-gh: apply release edit flags and renamed URLs (2335851)
  • safe-bash-command-gh: honor configured jq output limits (9164ab0)
  • safe-bash-command-gh: protect existing release downloads (1bbfa07)
  • safe-bash-command-git: include MIT license (9b7f8df)
  • safe-bash-command-git: preserve single rustup invocation in build-wasm.mjs (5b54d1b)
  • safe-bash-command-git: resolve sibling command imports via file URLs in integration test (b921dda)
  • safe-bash-command-imagemagick: match ChopImage/247 and CropImage/599/653 boundaries and 1-channel linear contrast (6230a7f)
  • safe-bash-command-imagemagick: match GravityAdjustGeometry crop/chop, inline read modifiers, multi-frame GIF indexing, and -auto-level/+negate (50a010a)
  • safe-bash-command-imagemagick: match native ImageMagick 7 gravity offsets, color specs, -fx HSL/Rec709, and -compose blend modes (f3396c6)
  • safe-bash-command-numfmt: allow unlimited input chunk sizes (e0b2767)
  • safe-bash-command-numfmt: make resource limits opt-in (55a2b31)
  • safe-bash-command-pdfinfo: restore Poppler -f without -l page range behavior (b46fe7c)
  • safe-bash-command-sips: support --verify, color profile flags, and identify %B/%C (4328840)
  • safe-bash-command-sqlite3: enforce limits and reject unknown commands (906abfa)
  • safe-bash-command-sqlite3: match native sqlite3 -column header and padding behavior (#3784) (dab0576)
  • safe-bash-command-sqlite3: narrow CloudflareSqlStorageCursor iterable cast (#3783) (642abba)
  • safe-bash-command-sqlite3: reset column separator on .mode list (#3778) (96dd166)
  • safe-bash-command-sqlite3: respect header[20] reserved space in B-tree overflow and format .tables grid (#3781) (ef787ae)
  • safe-bash-command-xxd: accept leading plus sign in -s seek offsets and expand oracle stress tests (ed2cfa9)
  • safe-bash-contracts: allocate shared cancellation waiter sets (9515610)
  • safe-bash-contracts: make pipe observation limits configurable (202b9d4)
  • safe-bash-contracts: preserve managed cancellation subscribers (9470b9a)
  • safe-bash-contracts: preserve output failure receiver (72ef68f), closes #3020 #3021
  • safe-bash-contracts: retain synchronous cancellation and release EOF listeners (92734e5)
  • safe-bash-contracts: retire lazy consumers before signal release (cc6e798)
  • safe-bash-contracts: upgrade single-function managedWaiters to Set in output and io (b544dc5)
  • safe-bash-mcp: default budgets to unlimited and use Web APIs (d69505d)
  • safe-bash-mcp: support unlimited request deadlines end to end (c4e3764)
  • safe-bash-playground: observe complete warm invocations (9422be4)
  • safe-bash-playground: observe constructed root shell state (d0adb18)
  • safe-bash-playground: preserve browser execution with unlimited command buffers (94f5a20)
  • safe-bash-query-engine: use portable UTF-8 and byte codecs (801d0ea)
  • safe-bash-regex-engine: accept synchronous budget checkpoints (660d164)
  • safe-bash-regex-engine: avoid module-scope abort controllers (5a56fcb)
  • safe-bash-regex-engine: consume AWK backspace escapes (a4cc77f)
  • safe-bash-regex-engine: honor elapsed checkpoint deadlines (2830892)
  • safe-bash-regex-engine: observe cancellation on every step (e1e0d85), closes #3081
  • safe-bash-regex-engine: preserve awk backspace escapes (4909dea)
  • safe-bash-regex-engine: preserve Unicode without Buffer (b5639a6)
  • safe-bash,ci: preserve binary file substitutions, provided /dev/null redirects, and optional yaml peer (2c10b5b)
  • safe-bash,mmdc,wkhtmltopdf: make checksum manifest and external renderer quotas opt-in (#660) (f42d594)
  • safe-bash: accept chmod octal subtraction modes (19c3eda)
  • safe-bash: accept empty apply_patch context lines (8732799)
  • safe-bash: accept file views in synchronous base64 input (5fdee42)
  • safe-bash: accept leading minus numeric chmod modes (e58f3ca)
  • safe-bash: accept optional xargs long option values (1b4719c)
  • safe-bash: accept symbolic mkdir permission modes (6e040c3)
  • safe-bash: accept synchronous pattern checkpoints (5bc591e)
  • safe-bash: account for finite printf capture budgets (fba9f52)
  • safe-bash: account UTF-8 bytes before substitution trimming (9a3606c)
  • safe-bash: admit byte arguments outside string dispatch shortcut (bcd780f)
  • safe-bash: admit current public SDK runtime layouts (53f8f2e)
  • safe-bash: admit current source within census budget (36ff565), closes #3810
  • safe-bash: admit each sort record before copying its bytes (fb687b1)
  • safe-bash: admit ignore rules before directory listing (a18bec1)
  • safe-bash: admit isolated public SDK runtime paths (0556133)
  • safe-bash: admit linear regex work before execution (374f547)
  • safe-bash: admit numfmt padding with unlimited output (f6a5474)
  • safe-bash: admit pandoc citeproc build declarations (c7e4cda)
  • safe-bash: admit pandoc command contract dependency (6e7d86e)
  • safe-bash: admit Pandoc document conversion dependencies (22d8d31)
  • safe-bash: admit Pandoc shared image dependency (8537535)
  • safe-bash: admit pr layout before padding allocation (c875d75)
  • safe-bash: admit shell jobs in workspace build (87e77e9)
  • safe-bash: admit text files against host input limits (75cc1bf)
  • safe-bash: alias image-ast safe-fs/core bundle import and sync root export test (19d0a9f)
  • safe-bash: align archive prerequisites with extracted workspaces (4398a13)
  • safe-bash: align cp, mv, ln backup suffix/control handling and install destination loop replacement (17ee698)
  • safe-bash: align evalSyncOp completion parsing and evalSyncSsconvert runtime signature (f79e58d)
  • safe-bash: align fast-path types and declined loop execution (2d474f7)
  • safe-bash: align jq awk and paste sync semantics (4e81ef8)
  • safe-bash: align od and xxd readFile fallback with updated streaming test expectations (58eb6de)
  • safe-bash: align patch fuzz/whitespace/posix, sort -k blanks, tr classes, wc --total, and sed --posix (0a5674b)
  • safe-bash: align runtime expansion and opt-in budget tests with release validation (b462749)
  • safe-bash: align shell fast paths with current types (9e435d6)
  • safe-bash: align source census adapter byte cap, csvkit preflight registration, and env-split FsError (96eea24)
  • safe-bash: align substitution text fast paths with commands (ab51d4b)
  • safe-bash: align synchronous evaluator call contracts (e877a3b)
  • safe-bash: align synchronous sort flags and byte ordering (17e3d18)
  • safe-bash: align synchronous substitution argument admission (6e2daab)
  • safe-bash: align synchronous text filters with command semantics (81b92ee)
  • safe-bash: align tr escapes/repeats, cat -E CRLF, tee open exit, and wc directory rows (e719d1c)
  • safe-bash: allow undefined delimChar in whileReadSpec under exactOptionalPropertyTypes (12e3753)
  • safe-bash: allow undefined on SyncMdSelector optional properties in mdq (bb3ad96)
  • safe-bash: authenticate admitted workspace peers (c33264f)
  • safe-bash: authenticate core jobs in archive packaging contract (5255ece)
  • safe-bash: authenticate declared optional archive peers (62e1c9b)
  • safe-bash: authenticate used private consumer types (d158c03)
  • safe-bash: avoid double-charging native IndexedDB record bytes (e726443)
  • safe-bash: avoid duplicate captured output accounting (eb59bba)
  • safe-bash: avoid duplicate muscle-memory registration (1addb32)
  • safe-bash: avoid empty cache hits for negative one (c6a76b8)
  • safe-bash: avoid host constructors during cleanup (dde3f57)
  • safe-bash: avoid pooling AWK readers with pending reads (f0dd967)
  • safe-bash: avoid repeated impossible sed snapshot scans (a9e3044)
  • safe-bash: avoid replaying multi-array declaration mutations (6fbce51)
  • safe-bash: avoid request resources during rg initialization (4204064), closes #3027
  • safe-bash: avoid rescanning regex suffixes (ca41617)
  • safe-bash: avoid speculative assign-default expansion effects (4d53deb)
  • safe-bash: await decoder input cleanup without prefetch (f40daa5)
  • safe-bash: await public cleanup promises regardless of markers (ae596cb)
  • safe-bash: await sort checkpoints before further comparisons (49df01c)
  • safe-bash: await text checkpoints and preserve cooperative yielding (7d1152d)
  • safe-bash: await yielding single-file jq input (491d55a)
  • safe-bash: batch wide native snapshot traversal safely (6b265af)
  • safe-bash: bind compression cleanup to source identity (225d0fb)
  • safe-bash: bind extracted workspaces to current source (8b396b2)
  • safe-bash: bind host.commands.has in pandocCommands plugin setup (0510fa1)
  • safe-bash: bind private workspace export prerequisites (e87ecb3)
  • safe-bash: bind regex sessions before dispatching requests (52fd58a)
  • safe-bash: bind symlinked move destination parents (6a38d49)
  • safe-bash: bound and flush column output batches (5e41c2a)
  • safe-bash: bound and lazily allocate split windows (145e405)
  • safe-bash: bound awk format parsing without regex backtracking (4533514)
  • safe-bash: bound AWK loop scheduling latency (bd58bbd)
  • safe-bash: bound column retention before output rejection (2a58f34)
  • safe-bash: bound ignored changes in contextual diffs (8c27be0)
  • safe-bash: bound join duplicate group retention (b1c6623)
  • safe-bash: bound literal-alternative grep scans (af96d41)
  • safe-bash: bound nl number fields before padding allocation (aab131b)
  • safe-bash: bound Playwright open configuration before parsing (d247979)
  • safe-bash: bound printf directive parsing (b8ce9f5)
  • safe-bash: bound replacement backing storage by bytes (bda79e9)
  • safe-bash: bound restricted yq alias expansion (f89dd28)
  • safe-bash: bound seq numeric exponent allocation (ca99f2f)
  • safe-bash: bound single-field cut output writes (6eb066b)
  • safe-bash: bound sort output and cooperative work (dcfcbb7)
  • safe-bash: bound sync arithmetic recursion, enforce indirect byte budgets, and fit runtime source limit (032e55b)
  • safe-bash: bound synchronous loop work and progression (52b1dae)
  • safe-bash: bound Worker HTML tree retention (2de1d4e)
  • safe-bash: bound Worker split suffix allocation (e4133d6)
  • safe-bash: brand sqlite3 factory definitions (8b59cc2)
  • safe-bash: buffer public shuf output and preserve checkpoint cancellation (d79defb)
  • safe-bash: build browser exports in typecheck:all, preserve compiler diagnostics, and harden mv/cp/playwright (2565b73)
  • safe-bash: build docx blocks from text inputs in soffice and track mutating sync commands in loop preflight (c5e6ebf)
  • safe-bash: call lazy AbortSignal getters in csvcut, csvgrep, diff3, and pr (a69b0c2)
  • safe-bash: call module-level evalSyncGetopt with rawState.variables in stage-0 pipeline (b037af1)
  • safe-bash: cancel pending search input reads (af4c997)
  • safe-bash: cap native codec workspace (e71009b)
  • safe-bash: capture XML command limits once (af9e3ab)
  • safe-bash: capture XML factory limits once (1426e28)
  • safe-bash: census extracted codec adapters as ordinary source (035f7ee)
  • safe-bash: charge full associative append payload (30c3ef7)
  • safe-bash: charge UTF-8 bytes in fast tr substitution (87641c7)
  • safe-bash: check associative presence by literal key (4e9592c)
  • safe-bash: check cancellation before retaining array text (df56043)
  • safe-bash: check move aliases before update skips (9137815)
  • safe-bash: classify timeout executors from captured settings (7168231)
  • safe-bash: clean up sync local arrays during async restoration (afb9034)
  • safe-bash: clone lazy jq scope maps through backing fields (39999c2)
  • safe-bash: coalesce command output and gate cooperative yields (d71f614)
  • safe-bash: coerce ByteShellValue in sync arithmetic and enable fast ASCII read fields (cde2364)
  • safe-bash: compare fractional leading-zero runs lexicographically in tree version sort (f1cb2ae)
  • safe-bash: compare top-level diff devices as byte streams (3cc7119)
  • safe-bash: complete diff byte and symlink comparisons (7345806)
  • safe-bash: complete dos2unix command factory contract (01f52e5)
  • safe-bash: complete find size and root semantics (72c906f)
  • safe-bash: complete gh workspace build registration (fe03786)
  • safe-bash: complete serialized input queue regression coverage (abade04)
  • safe-bash: compose overlapping command plugins (58b9ba6)
  • safe-bash: conditionally spread optional CsvDialect properties in csvkit (cf8bc4c)
  • safe-bash: conditionally spread optional inDialect properties in csvkit (351acf3)
  • safe-bash: configure independent snapshot deadlines (daf6712)
  • safe-bash: consolidate integrated public command exports (28b96f5)
  • safe-bash: consume loop control in while conditions (d5e329c)
  • safe-bash: correct awk getline and record scalar semantics (1d18b8a)
  • safe-bash: correct du exclusions and separate directory totals (406f984)
  • safe-bash: correct grep filters context and pattern separators (d5a07ab)
  • safe-bash: correct grouped tests and newer-file predicates (13ce499)
  • safe-bash: correct iconv Unicode and file conversion semantics (cbf7559)
  • safe-bash: correct immutable bindings after hot-loop changes (c71b17c)
  • safe-bash: correct od xxd and dd limits and input handling (60e501b)
  • safe-bash: correct pathname glob expansion (803c0aa)
  • safe-bash: correct wave 111 arithmetic and text semantics (dfaf31c)
  • safe-bash: correct xan quoted selectors and header divergence (8a94ab7)
  • safe-bash: correct xargs replacement and batching precedence (fc592e8)
  • safe-bash: correct xxd endian spacing and od strings (98fbee8)
  • safe-bash: count external output captures once (0b075c6)
  • safe-bash: count input and PATH bytes without Buffer (4fa30ac)
  • safe-bash: create cleanup signals within Worker requests (30e4402)
  • safe-bash: declare column executor integration dependency (7d2f1b3)
  • safe-bash: declare Wave 161 sync evaluators on SyncCommandEvaluators and fix rmdir listDirSync (90d5b95)
  • safe-bash: decline async loop status before mutations (017cdd0)
  • safe-bash: decline loop plans that change variable attributes (e946b88)
  • safe-bash: decline resumable inline function expansions (83159f4)
  • safe-bash: decline unsafe synchronous array expansions (8a29f21)
  • safe-bash: decode grep exclusion patterns as UTF-8 (45bc09f)
  • safe-bash: decode tr character set escapes correctly (d731731)
  • safe-bash: decouple optional sync command evaluators from core shell runtime (adf3b0a)
  • safe-bash: decouple saved sessions from snapshot ref limits (e1de155)
  • safe-bash: default od floating types to double precision (1d282f3)
  • safe-bash: default remaining command resource quotas to Infinity (caba048)
  • safe-bash: defer default mdq plain spacing to canonical renderer (316917e)
  • safe-bash: defer input cancellation until iteration (1fee32b)
  • safe-bash: defer loop attribute changes to the full evaluator (ee7079d)
  • safe-bash: defer loop fallback outside finally (ae92d89)
  • safe-bash: defer portable trap metadata registration (f2e1c79)
  • safe-bash: defer pr state until Worker request scope (d61a6c4)
  • safe-bash: defer zero duration in evalSyncTimeout to preserve child validation (cee6150)
  • safe-bash: delegate POSIX grep bracket expressions (d7d3296)
  • safe-bash: deliver node fs.readFile callbacks on macrotask turn (4cfafc6)
  • safe-bash: detach cached AWK strings from parent records (1109040)
  • safe-bash: detach source monitor before cloning collections (1f65d20), closes #3012
  • safe-bash: disable implicit git resource limits (bb9df18)
  • safe-bash: disable omitted command resource limits (6ed81d5)
  • safe-bash: disambiguate legacy join field options from file operands (07afe06)
  • safe-bash: disclose unavailable browser dashboards (7303f58), closes #655
  • safe-bash: disclose unsupported Playwright dashboard (27b5a71)
  • safe-bash: discover shell keywords before commands (8386598)
  • safe-bash: discriminate sed text command variants (aa91a5d)
  • safe-bash: distinguish drained JSPI native descriptor cleanup errors from incomplete termination (#1110) (af4f715)
  • safe-bash: drain borrowed file readers before cancellation (8df4e3f)

Release notes shortened to fit GitHub's limit. Full commit history.