Skip to content

Commit 5926eb4

Browse files
committed
chore(release): prepare v0.1.8
Bump workspace version to 0.1.8 and update CHANGELOG with all changes since v0.1.7 including stderr redirects, ANSI-C quoting, new builtins, 244 Oils spec tests, and 20+ interpreter fixes.
1 parent fe5dab9 commit 5926eb4

File tree

3 files changed

+71
-2
lines changed

3 files changed

+71
-2
lines changed

CHANGELOG.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,74 @@
11
# Changelog
22

3+
## [0.1.8] - 2026-03-01
4+
5+
### Highlights
6+
7+
- Stderr and combined redirects (`2>`, `2>&1`, `&>`) for real-world script compatibility
8+
- ANSI-C quoting (`$'...'`) and `$"..."` syntax support
9+
- New builtins: `base64`, `md5sum`/`sha1sum`/`sha256sum`, `find -exec`, `grep -L/--exclude-dir`
10+
- `jq` enhancements: `setpath`, `leaf_paths`, improved `match`/`scan`
11+
- Recursive variable deref and array access in arithmetic expressions
12+
- `awk` user-defined functions, `curl -F` multipart form data
13+
- `tar -C/-O` flags, `xargs` command execution
14+
- Per-tool-call `timeout_ms` in ToolRequest
15+
- 244 new Oils-inspired spec tests
16+
- 20+ interpreter/parser bug fixes: heredoc pipes, IFS splitting, subshell isolation, exit code truncation, unicode `${#x}`, shift builtin, and more
17+
18+
### What's Changed
19+
20+
* fix(ci): trigger Python publish workflow on release ([#403](https://github.com/everruns/bashkit/pull/403))
21+
* chore(eval): 2026-02-28 eval run across 5 models with v0.1.7 analysis ([#402](https://github.com/everruns/bashkit/pull/402))
22+
* feat: process remaining issues (#308, #310, #311, #312, #321, #327, #329, #331, #332, #333, #334) ([#393](https://github.com/everruns/bashkit/pull/393))
23+
* chore: add rebase hint to process-issues step 9 ([#392](https://github.com/everruns/bashkit/pull/392))
24+
* fix: reduce skipped spec tests, implement cut/tr features (#309, #314) ([#391](https://github.com/everruns/bashkit/pull/391))
25+
* fix(ci): switch tarpaulin to LLVM engine to fix coverage failures ([#390](https://github.com/everruns/bashkit/pull/390))
26+
* fix: implement var operators, IFS splitting, parser errors, nameref, alias ([#389](https://github.com/everruns/bashkit/pull/389))
27+
* fix(builtins): add jq -R raw input and awk printf parens ([#388](https://github.com/everruns/bashkit/pull/388))
28+
* chore: update pin-project-lite cargo-vet exemption to 0.2.17 ([#387](https://github.com/everruns/bashkit/pull/387))
29+
* feat(builtins): implement find -exec command execution ([#386](https://github.com/everruns/bashkit/pull/386))
30+
* feat(builtins): add grep -L, --exclude-dir, -s, -Z flags ([#385](https://github.com/everruns/bashkit/pull/385))
31+
* feat(builtins): implement jq setpath, leaf_paths, fix match/scan ([#384](https://github.com/everruns/bashkit/pull/384))
32+
* fix(parser): handle heredoc pipe ordering and edge cases ([#379](https://github.com/everruns/bashkit/pull/379))
33+
* fix(interpreter): count unicode chars in ${#x} and add printf \u/\U escapes ([#378](https://github.com/everruns/bashkit/pull/378))
34+
* feat(interpreter): implement stderr and combined redirects (2>, 2>&1, &>) ([#377](https://github.com/everruns/bashkit/pull/377))
35+
* fix(interpreter): isolate subshell state for functions, cwd, traps, positional params ([#376](https://github.com/everruns/bashkit/pull/376))
36+
* chore(specs): document sort/uniq flags, update spec test counts ([#375](https://github.com/everruns/bashkit/pull/375))
37+
* fix(interpreter): split command substitution output on IFS in list context ([#374](https://github.com/everruns/bashkit/pull/374))
38+
* feat(interpreter): implement recursive variable deref and array access in arithmetic ([#373](https://github.com/everruns/bashkit/pull/373))
39+
* feat(parser): implement $'...' ANSI-C quoting and $"..." syntax ([#371](https://github.com/everruns/bashkit/pull/371))
40+
* fix(interpreter): write heredoc content when redirected to file ([#370](https://github.com/everruns/bashkit/pull/370))
41+
* feat(eval): add OpenAI Responses API provider ([#366](https://github.com/everruns/bashkit/pull/366))
42+
* fix(interpreter): truncate exit codes to 8-bit range ([#365](https://github.com/everruns/bashkit/pull/365))
43+
* fix(builtins): make xargs execute commands instead of echoing ([#364](https://github.com/everruns/bashkit/pull/364))
44+
* chore: add ignored-test review step to process-issues ([#363](https://github.com/everruns/bashkit/pull/363))
45+
* test: add 14 Oils-inspired spec test files (244 tests) ([#351](https://github.com/everruns/bashkit/pull/351))
46+
* feat(tool): add per-tool-call timeout_ms to ToolRequest ([#350](https://github.com/everruns/bashkit/pull/350))
47+
* chore(eval): expand eval suite to 52 tasks, add multi-model results ([#349](https://github.com/everruns/bashkit/pull/349))
48+
* feat(eval): add database, config, and build simulation eval categories ([#344](https://github.com/everruns/bashkit/pull/344))
49+
* feat(tool): list all 80+ builtins in help text ([#343](https://github.com/everruns/bashkit/pull/343))
50+
* fix(wc): match real bash output padding behavior ([#342](https://github.com/everruns/bashkit/pull/342))
51+
* chore(tests): update spec_tests.rs skip count from 66 to 18 ([#341](https://github.com/everruns/bashkit/pull/341))
52+
* refactor(error): add From<regex::Error> impl for Error ([#340](https://github.com/everruns/bashkit/pull/340))
53+
* chore: add /process-issues claude command ([#339](https://github.com/everruns/bashkit/pull/339))
54+
* chore: close verified-not-reproducible issues #279, #282 ([#307](https://github.com/everruns/bashkit/pull/307))
55+
* test: verify issues #275, #279, #282 are not reproducible ([#306](https://github.com/everruns/bashkit/pull/306))
56+
* feat(curl): add -F multipart form data support ([#305](https://github.com/everruns/bashkit/pull/305))
57+
* feat(find): parse -exec flag without erroring ([#304](https://github.com/everruns/bashkit/pull/304))
58+
* feat(awk): add user-defined function support ([#303](https://github.com/everruns/bashkit/pull/303))
59+
* feat(tar): add -C (change directory) and -O (stdout) flags ([#302](https://github.com/everruns/bashkit/pull/302))
60+
* feat(base64): add base64 encode/decode builtin command ([#301](https://github.com/everruns/bashkit/pull/301))
61+
* fix(eval): add /var/log to script_health_check task files ([#300](https://github.com/everruns/bashkit/pull/300))
62+
* fix(eval): accept both quoted and unquoted CSV in json_to_csv_export ([#299](https://github.com/everruns/bashkit/pull/299))
63+
* fix(jq): return ExecResult::err instead of Error::Execution for stderr suppression ([#298](https://github.com/everruns/bashkit/pull/298))
64+
* fix(test): resolve relative paths against cwd in file test operators ([#297](https://github.com/everruns/bashkit/pull/297))
65+
* fix(interpreter): shift builtin now updates positional parameters ([#296](https://github.com/everruns/bashkit/pull/296))
66+
* fix(lexer): handle backslash-newline line continuation between tokens ([#295](https://github.com/everruns/bashkit/pull/295))
67+
* fix(interpreter): forward pipeline stdin to user-defined functions ([#294](https://github.com/everruns/bashkit/pull/294))
68+
* fix(test): trim whitespace in parse_int for integer comparisons ([#293](https://github.com/everruns/bashkit/pull/293))
69+
70+
**Full Changelog**: https://github.com/everruns/bashkit/compare/v0.1.7...v0.1.8
71+
372
## [0.1.7] - 2026-02-26
473

574
### Highlights

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ resolver = "2"
77
members = ["crates/*"]
88

99
[workspace.package]
10-
version = "0.1.7"
10+
version = "0.1.8"
1111
edition = "2021"
1212
license = "MIT"
1313
authors = ["Everruns"]

crates/bashkit-cli/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ path = "src/main.rs"
1919
doc = false # Disable to avoid collision with bashkit library docs
2020

2121
[dependencies]
22-
bashkit = { path = "../bashkit", version = "0.1.6" }
22+
bashkit = { path = "../bashkit", version = "0.1.8" }
2323
tokio.workspace = true
2424
clap.workspace = true
2525
anyhow.workspace = true

0 commit comments

Comments
 (0)