Changelog
View SourceAll notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.1.0 - 2026-01-11
Added
- Initial release
- In-memory virtual filesystem (
JustBash.Fs.InMemoryFs) - Bash lexer and recursive descent parser
- Variable expansion:
$VAR,${VAR},${VAR:-default},${VAR:=default},${VAR:+alt},${#VAR},${VAR:start:len},${VAR#pattern},${VAR%pattern},${VAR/old/new},${VAR^^},${VAR,,} - Command substitution:
$(cmd)and backticks - Arithmetic expansion:
$((expr))with full operator support including**,?:, hex, binary - Control flow:
if/elif/else/fi,for x in ...; do; done,while/until,case/esac - Logical operators:
&&,||,!with short-circuit evaluation - Pipes with stdin/stdout flow
- Redirections:
>,>>,2>,&>,<,<<<, heredocs - Brace expansion:
{a,b,c},{1..5},{a..z} - Arrays:
arr=(...),${arr[0]},${arr[@]},${#arr[@]} - Functions with local variables
- Extended test command:
[[ ]]with regex support
Commands
File operations:
cat,ls,cp,mv,rm,mkdir,touch,lnfind,stat,du,tree,file,readlink
Text processing:
grep,sed,awk(full implementations)sort,uniq,head,tail,wc,cut,trrev,tac,nl,fold,paste,comm,diff,expand
Data tools:
jq(comprehensive JSON processor)curl(HTTP client with network allowlists)markdown/md(Markdown to HTML)base64,md5sum
Shell builtins:
echo,printf,pwd,cd,export,unsettest,[,[[,true,false,:set(shell options:-e,-u,-o pipefail)source,.,read,exit,returnlocal,declare,typesetbreak,continue,shift,getopts,trap
Utilities:
seq,date,sleep,basename,dirnamewhich,env,printenv,hostnamexargs,tee