pypi / bashkit
bashkit
What changed in bashkit 0.18 to 0.19, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.
7 breaking2 security13 new APIs and options7 behavior and defaults15 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initbashkit 0.1932 changes
Breaking changes 5
ScriptedTool moved to its own Rust package; callers replace the bashkit scripted_tool feature and imports with this crate.
Python ScriptedTool imports move from bashkit to bashkit.scripted.
JavaScript ScriptedTool imports move from @everruns/bashkit to this subpath.
Rust callers install the registry with registry.install(builder) instead of builder.tool_registry(registry).
Allocation, recursion, input, and output accounting makes resource refusals explicit instead of silently truncating or allowing unbounded growth.
Security 2
Reduces browser transfer size and verifies package identity.
NAT64 and 6to4 addresses are classified by their embedded IPv4 address, and reserved ranges are blocked.
New APIs and options 10
Interactive shell support adds history, fc, completion, bind, and prompts.
Enables Python and TypeScript in BashTool.
The opt-in feature runs CPython 3.14 as python3 through WebAssembly, with VFS access and HTTP routed through Bashkit's egress boundary.
An opt-in cpython-native feature is available.
A default root filesystem including /etc, /proc, and /usr/bin is available.
Python requests and httpx modules can make HTTP requests through Bashkit's egress boundary.
The jq builtin adds halt and debug, several output and input modes, $__loc__, and ?//, with date and base64 fixes.
A GNU make subset is available in the sandbox shell.
An in-process interactive terminal provides screen text, scrollback, input, interrupts, and editor and pager commands.
A terminal tool for LLM agents is available, with support for multiple terminal sessions.
Behavior and default changes 5
The awk builtin was rewritten to match gawk 5.2 and can run gawk, mawk, and nawk scripts.
Background jobs run concurrently.
Pipeline stages run concurrently and stream data through pipelines with SIGPIPE behavior.
Additional everyday commands and GNU-oriented coreutils behavior improve compatibility for shell scripts.
The VFS can follow symlinks.
Fixes and other changes 10
Expands aliases per line and closes remaining Oils specification gaps.
Unifies indirect subscript consumption and preserves nested subscripts with a complete-reference boundary.
Reads a backquoted substitution after a quoted segment.
Interpreter and parser behavior was brought closer to bash across expansion, arrays, redirects, traps, shell options, and diagnostics.
Coprocesses run concurrently over in-process pipes.
Accepts HH:MM date-times and zone suffixes, and reads weekday names instead of returning the current time.
Truncates array targets at the first ] to stop operand recursion and preserves nested subscripts.
Ignores invalid stdin when stdin is unread under -n.
Releases mapfile budgets and surfaces refusals.
Falls back to a direct write when creation of a hidden temporary file is refused.
bashkit 0.1812 changes
Breaking changes 2
Untrusted workflow code no longer receives the checkout token.
With additionalProperties set to false, unrecognised flags now produce an error naming the valid flags instead of silently dropping the property.
New APIs and options 3
Adds GNU-style case conversion escapes for uppercasing and lowercasing text.
Adds GNU-style getopt support, including -s, -z, -f, -l, and attached -i.bak.
Registers a raw-argv builtin alongside ToolDef tools, enabling positionals, short flags, --, and parse-time required-argument checking inside a ScriptedTool.
Behavior and default changes 2
The -i option now writes files atomically.
Clap output is stripped of ANSI codes.
Fixes and other changes 5
Verification now outlasts the registry cache, improving release pipeline reliability.
Adds the missing GNU sed commands: y, =, l, n, N, P, D, T, z, F, r, R, w, and W.
Implements GNU range-address semantics, bringing sed address behavior closer to GNU sed 4.9.
Preserves a missing final newline instead of adding one.
VFS paths now use forward slashes on every host, fixing Windows path handling.