Release v0.1.7
Highlights
- 20+ new builtins:
declare/typeset,let,getopts,trap,caller,shopt,pushd/popd/dirs,seq,tac,rev,yes,expr,mktemp,realpath, and more - Glob options:
dotglob,nocaseglob,failglob,noglob,globstar - Shell flags:
bash -e/-x/-u/-f/-o,set -xxtrace debugging selectconstruct,case ;;&fallthrough,FUNCNAMEvariable- Nameref variables (
declare -n), case conversion (declare -l/-u) - 10+ bug fixes for quoting, arrays, globs, and redirections
What's Changed
- feat(interpreter): implement bash/sh -e/-x/-u/-f/-o flags (#270)
- chore(eval): run 2026-02-25 evals across 4 models (#271)
- feat(interpreter): implement glob options (dotglob, nocaseglob, failglob, noglob, globstar) (#269)
- feat(builtins): implement pushd, popd, dirs (#268)
- feat(builtins): implement file comparison test operators (#267)
- feat(builtins): implement expr builtin (#266)
- feat(builtins): implement yes and realpath builtins (#265)
- feat(interpreter): implement caller builtin (#264)
- feat(builtins): implement printf %q shell quoting (#263)
- feat(builtins): implement tac and rev builtins (#262)
- feat(builtins): implement seq builtin (#261)
- chore(deps): bump pyo3 to 0.28.2 and pyo3-async-runtimes to 0.28 (#260)
- feat(builtins): implement mktemp builtin (#259)
- feat(interpreter): implement trap -p flag and sorted trap listing (#258)
- feat(builtins): implement set -o / set +o option display (#257)
- feat(interpreter): implement declare -l/-u case conversion attributes (#256)
- feat(interpreter): implement declare -n nameref variables (#255)
- feat(builtins): implement shopt builtin with nullglob enforcement (#254)
- feat(interpreter): implement set -x xtrace debugging (#253)
- feat(bash): auto-populate shell variables (PWD, HOME, USER, etc.) (#252)
- feat(bash): implement select construct (#251)
- feat(bash): implement let builtin and fix declare -i arithmetic (#250)
- feat(bash): case ;& and ;;& fallthrough/continue-matching (#249)
- feat(bash): implement FUNCNAME special variable (#248)
- fix(bash): backslash-newline line continuation in double quotes (#247)
- fix(bash): nested double quotes inside $() in double-quoted strings (#246)
- fix(bash): input redirections on compound commands (#245)
- fix(bash): glob pattern matching in [[ == ]] and [[ != ]] (#244)
- fix(bash): negative array indexing ${arr[-1]} (#243)
- fix(bash): BASH_REMATCH not populated when regex starts with parens (#242)
- feat(bash): arithmetic exponentiation, base literals, mapfile (#241)
- feat: grep binary detection, awk %.6g and sorted for-in (#240)
- feat: bash compatibility — compound arrays, grep -f, awk getline, jq env/input (#238)
- feat: string ops, read -r, heredoc tests (#237)
- feat: associative arrays, chown/kill builtins, array slicing tests (#236)
- feat: cat -v, sort -m, brace/date/lexer fixes (#234)
- feat: type/which/declare/ln builtins, errexit, nounset fix, sort -z, cut -z (#233)
- feat: paste, command, getopts, nounset, [[ =~ ]], glob **, backtick subst (#232)
- feat(date): add -R, -I flags and %N format (#231)
- fix(lexer): handle backslash-escaped metacharacters (#230)
- feat(grep): add --include/--exclude glob patterns (#229)
- feat(sort,uniq,cut,tr): add sort/uniq/cut/tr missing options (#228)
- feat(sed): grouped commands, branching, Q quit, step/zero addresses (#227)
- chore(deps): upgrade monty to latest main (87f8f31) (#226)
- fix(ci): repair nightly CI and add fuzz compile guard (#225)
Full Changelog: v0.1.6...v0.1.7