Releases: everruns/bashkit
Releases · everruns/bashkit
Release v0.1.4
Highlights
- jq builtin now supports file arguments
What's Changed
- fix(builtins): support file arguments in jq builtin (#183) by @chaliy
- chore(ci): split monolithic check job and move heavy analysis to nightly (#182) by @chaliy
- refactor(test): drop 'new_' prefix from curl/wget flag test modules (#181) by @chaliy
- fix(publish): remove unpublished monty git dep for v0.1.3 (#180) by @chaliy
- fix(publish): remove cargo dep on unpublished bashkit-monty-worker by @chaliy
Full Changelog: v0.1.3...v0.1.4
Release v0.1.2
Highlights
- Python bindings with LangChain and Deep Agents integrations
- Sandboxed git support (branch, checkout, diff, reset)
- Bash/sh script execution commands
- Virtual filesystem improvements: /dev/null support, duplicate name prevention, FsBackend trait
What's Changed
- feat(interpreter): add bash and sh commands for script execution (#154) by @chaliy
- fix(vfs): prevent duplicate file/directory names + add FsBackend trait (#153) by @chaliy
- feat(python): add Deep Agents integration with shared VFS (#152) by @chaliy
- test(fs): add file size reporting tests (#150) by @chaliy
- chore(ci): bump github-actions group dependencies (#149) by @chaliy
- fix(sandbox): normalize paths and support root directory access (#148) by @chaliy
- feat(python): add Python bindings and LangChain integration (#147) by @chaliy
- docs: add security policy reference to README (#146) by @chaliy
- chore: add .claude/settings.json (#145) by @chaliy
- feat(examples): add git_workflow example (#144) by @chaliy
- feat(git): add sandboxed git support with branch/checkout/diff/reset (#143) by @chaliy
- test(find,ls): add comprehensive subdirectory recursion tests (#142) by @chaliy
- fix(ls): add -t option for sorting by modification time (#141) by @chaliy
- feat(jq): add --version flag support (#140) by @chaliy
- feat(vfs): add /dev/null support at interpreter level (#139) by @chaliy
- chore: clarify commit type for specs and AGENTS.md updates (#138) by @chaliy
- feat(grep): add missing flags and unskip tests (#137) by @chaliy
Full Changelog: v0.1.1...v0.1.2
Release v0.1.1
Highlights
- Network commands: curl/wget now support timeout flags (--max-time, --timeout)
- Parser improvements: $LINENO variable and line numbers in error messages
- jq enhanced: new flags (-S, -s, -e, --tab, -j, -c, -n)
- sed: in-place editing with -i flag
- Structured logging with automatic security redaction
What's Changed
- fix(test): fix printf format repeat and update test coverage (#135) by @chaliy
- feat(network): implement curl/wget timeout support with safety limits (#134) by @chaliy
- docs: consolidate intentionally unimplemented features documentation (#133) by @chaliy
- feat(parser): add line number support for $LINENO and error messages (#132) by @chaliy
- feat(sed): enable -i in-place editing flag (#131) by @chaliy
- feat(tool): refactor Tool trait with improved outputs (#130) by @chaliy
- docs(vfs): clarify symlink handling is intentional security decision (#129) by @chaliy
- fix(test): fix failing tests and remove dead code (#128) by @chaliy
- feat(curl): implement --max-time per-request timeout (#127) by @chaliy
- feat(jq): add -S, -s, -e, --tab, -j flags (#126) by @chaliy
- feat(for): implement positional params iteration in for loops (#125) by @chaliy
- test(jq): enable group_by test that already passes (#124) by @chaliy
- docs(agents): add testing requirements to pre-PR checklist (#123) by @chaliy
- test(jq): enable jq_del test that already passes (#122) by @chaliy
- chore(deps): update reqwest, schemars, criterion, colored, tabled (#121) by @chaliy
- docs: add Everruns ecosystem reference (#120) by @chaliy
- feat(jq): add compact output (-c) and null input (-n) flags (#119) by @chaliy
- docs(network): remove outdated 'stub' references for curl/wget (#118) by @chaliy
- docs: remove benchmark interpretation from README (#117) by @chaliy
- feat(logging): add structured logging with security redaction (#116) by @chaliy
- fix(security): prevent panics and add internal error handling (#115) by @chaliy
- fix(parser): support quoted heredoc delimiters (#114) by @chaliy
- fix(date): handle timezone format errors gracefully (#113) by @chaliy
- fix: implement missing parameter expansion and fix output mismatches (#112) by @chaliy
- docs(security): add threat model with stable IDs and public doc (#111) by @chaliy
- chore(bench): add performance benchmark results (#110) by @chaliy
- docs: update KNOWN_LIMITATIONS.md with current test counts (#109) by @chaliy
- refactor(builtins): extract shared resolve_path helper (#108) by @chaliy
- refactor(vfs): rename to mount_text/mount_readonly_text with custom fs support (#107) by @chaliy
- fix(echo): support combined flags and fix test expectations (#106) by @chaliy
Full Changelog: v0.1.0...v0.1.1
Release v0.1.0
Highlights
- Initial release of BashKit sandboxed bash interpreter
- Core interpreter with bash-compatible syntax support
- Virtual filesystem (VFS) abstraction for sandboxed file operations
- Resource limits: memory, execution time, operation count
- Built-in commands: echo, printf, cat, head, tail, wc, grep, sed, awk, jq, sort, uniq, cut, tr, date, base64, md5sum, sha256sum, gzip, gunzip, etc
- CLI tool for running scripts and interactive REPL
- Security testing with fail-point injection
What's Changed
- feat(test): add grammar-based differential fuzzing (#83) by @chaliy
- feat: implement missing grep and sed flags (#82) by @chaliy
- feat(test): add compatibility report generator (#81) by @chaliy
- feat(grep): implement missing grep flags (-A/-B/-C, -m, -q, -x, -e) (#80) by @chaliy
- feat(test): add script to check expected outputs against bash (#79) by @chaliy
- feat: implement release process for 0.1.0 (#78) by @chaliy
- test(spec): enable bash comparison tests in CI (#77) by @chaliy
- feat: implement POSIX Shell Command Language compliance (#76) by @chaliy
- docs: embed custom guides in rustdoc via include_str (#75) by @chaliy
- docs: update built-in commands documentation to reflect actual implementation (#74) by @chaliy
- test(builtins): add example and integration tests for custom builtins (#73) by @chaliy
- docs: update KNOWN_LIMITATIONS and compatibility docs (#72) by @chaliy
- fix: resolve cargo doc collision and rustdoc warnings (#71) by @chaliy
- docs(specs): document 18 new CLI builtins (#70) by @chaliy
- docs: add comprehensive rustdoc documentation for public API (#69) by @chaliy
- docs(tests): complete skipped tests TODO list (#68) by @chaliy
- feat: implement bash compatibility features (#67) by @chaliy
- feat(parser): add fuel-based operation limit to prevent DoS (#66) by @chaliy
- feat(parser): add AST depth limit to prevent stack overflow (#65) by @chaliy
- feat(parser): add input size validation to prevent DoS (#64) by @chaliy
- feat(parser): add parser timeout to prevent DoS (#63) by @chaliy
- fix(interpreter): handle command not found like bash (#61) by @chaliy
- feat(builtins): add custom builtins support (#60) by @chaliy
- docs: document skipped tests and curl coverage gap (#59) by @chaliy
- fix(timeout): make timeout tests reliable with virtual time (#58) by @chaliy
- test(bash): enable bash core tests in CI (#57) by @chaliy
- chore(clippy): enable clippy::unwrap_used lint (#56) by @chaliy
- feat(security): add cargo-vet for supply chain tracking (#54) by @chaliy
- ci: add AddressSanitizer job for stack overflow detection (#52) by @chaliy
- fix(ci): add checks:write permission for cargo-audit (#51) by @chaliy
- chore(ci): add Dependabot configuration (#50) by @chaliy
- test: port comprehensive test cases from just-bash (#49) by @chaliy
- fix(awk): fix multi-statement parsing and add gsub/split support (#48) by @chaliy
- feat(time,timeout): implement time keyword and timeout command (#47) by @chaliy
- refactor(test): optimize proptest for CI speed (#46) by @chaliy
- feat(builtins): implement 18 new CLI commands (#45) by @chaliy
- feat(system): add configurable username and hostname to BashBuilder (#44) by @chaliy
- feat(security): add security tooling for vulnerability detection (#43) by @chaliy
- feat(sed): implement case insensitive flag and multiple commands (#42) by @chaliy
- docs: update testing docs to reflect current status (#41) by @chaliy
- feat(grep): implement -w and -l stdin support (#40) by @chaliy
- fix(jq): use pretty-printed output for arrays and objects (#39) by @chaliy
- feat(jq): implement -r/--raw-output flag (#38) by @chaliy
- feat(fs): enable custom filesystem implementations from external crates (#37) by @chaliy
- fix(parser,interpreter): add support for arithmetic commands and C-style for loops (#36) by @chaliy
- feat(grep): implement -o flag for only-matching output (#35) by @chaliy
- docs(agents): add test-first principle for bug fixes (#34) by @chaliy
- docs: update testing spec and known limitations with accurate counts (#33) by @chaliy
- docs: add PR convention to never include Claude session links (#32) by @chaliy
- feat(examples): add LLM agent example with real Claude integration (#31) by @chaliy
- fix: resolve BashKit parsing and filesystem bugs (#30) by @chaliy
- feat(bench): add parallel execution benchmark (#29) by @chaliy
- feat(fs): add direct filesystem access via Bash.fs() (#28) by @chaliy
- feat(bench): add benchmark tool to compare bashkit, bash, and just-bash (#27) by @chaliy
- fix(test): isolate fail-point tests for CI execution (#26) by @chaliy
- ci: add examples execution to CI workflow (#25) by @chaliy
- feat: add comprehensive builtins, job control, and test coverage (#24) by @chaliy
- feat(security): add fail-rs security testing and threat model (#23) by @chaliy
- docs: update CONTRIBUTING and prepare repo for publishing (#22) by @chaliy
- docs: remove MCP server mode references from README (#21) by @chaliy
- docs: update compatibility scorecard with array fixes (#20) by @chaliy
- docs: add acknowledgment for Vercel's just-bash inspiration (#19) by @chaliy
- feat(bashkit): fix array edge cases (102 tests passing) (#18) by @chaliy
- docs: add licensing and attribution files (#17) by @chaliy
- feat(bashkit): improve spec test coverage from 78% to 100% (#16) by @chaliy
- docs: add compatibility scorecard (#15) by @chaliy
- feat(bashkit): Phase 12 - Spec test framework for compatibility testing (#14) by @chaliy
- docs: update README with project overview (#13) by @chaliy
- feat(bashkit): Phase 11 - Text processing commands (jq, grep, sed, awk) (#12) by @chaliy
- feat(bashkit-cli): Phase 10 - MCP server mode (#11) by @chaliy
- feat(bashkit): Phase 9 - Network allowlist and HTTP client (#10) by @chaliy
- feat(bashkit): Phase 8 - OverlayFs and MountableFs (#9) by @chaliy
- feat(bashkit): Phase 7 - Resource limits for sandboxing (#8) by @chaliy
- feat(bashkit-cli): Add CLI binary for command line usage (#7) by @chaliy
- feat(bashkit): Phase 5 - Array support (#6) by @chaliy
- feat(bashkit): Phase 4 - Here documents, builtins, and parameter expansion (#5) by @chaliy
- feat(bashkit): Phase 3 - Command substitution and arithmetic expansion (#4) by @chaliy
- feat(bashkit): Phase 2 complete - control flow, functions, builtins (#3) by @chaliy
- fe...