The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
All notable changes to this project will be documented in this file.
- (ast) Derive
PartialEq
andEq
for testing (#259)
- Correct parsing of parens in arithmetic command (#270)
- Upgrade dependencies (#271)
- Implement support for ;;& and ;& in case items (#223)
- Implement
|&
extension (#240) - Implement
kill -l
(#221) - Implement
|&
for function declarations (#244)
- Omit dirs from executable searches (#236)
- Handle PS2 prompts that require prompt-expansion (#239)
- Allow usually-operator chars in regex parens (#224)
- Assorted correctness issues in getopts builtin (#225)
- Assorted completion-related issues (#226)
- String replacement with slashes (#231)
- Correct pattern removal expansions on arrays (#232)
- (completion) Fix -- handling in getopts (#235)
- (completion) Correct behavior of slice past end of array (#237)
- Support here documents in command substitutions (#255)
- Upgrade crate dependencies (#247)
- (deps) Bump the cargo group with 2 updates (#220)
- Experimentally enable reedline as an input backend (#186)
- Default to reedline and add syntax highlighting support (#187)
- Add a panic handler via human-panic (#191)
- Several fixes for bash-completion + tests (#192)
- Implement
cd -
(#201) - Implement command hashing (#206)
- Deduplicate completion candidates (#189)
- Cleanup transient completion variables (#213)
- Allow newlines in extended test exprs (#188)
- Fixes for short-circuit precedence + parameter expr replacement (#193)
- Workarounds for edge word parsing cases (#194)
- Assorted completion issues with ~ and vars (#199)
- Slight compat improvements to set -x (#205)
- Matching newline chars in glob patterns (#207)
- Honor IFS in read builtin (#208)
- Correct behavior of break in arithmetic for loop (#210)
- Address issues with array unset (#211)
- Handle expansion in here documents (#212)
- Enable setting min oracle version on tests (#184)
- Where possible replace
async-trait
with native async trait support in 1.75+ (#197)
- (deps) Bump futures from 0.3.30 to 0.3.31 in the cargo group (#190)
- Leave rustyline disabled by default (#196)
- (deps) Bump the cargo group with 4 updates (#203)
- Remove rustyline support (#216)
- Allow source to be used with process substitution (#175)
- Address multiple issues with foreground controls for pipeline commands (#180)
- Move to cargo nextest (#176)
- Correctly report skipped tests for nextest (#178)
- Convert more test skips to known failures (#179)
- (deps) Bump the cargo group with 2 updates (#177)
- Launch processes in their own process groups (#166)
- Posix compliant argument parsing for
-c
mode (#147)
- (deps) Bump thiserror from 1.0.63 to 1.0.64 in the cargo group (#167)
- Temporarily disable failing test (#170)
- Refactor PR workflow to better support multi-platform build + test (#169)
- Implement ~USER syntax (#160)
- Compgen needs to expand target arg (#162)
- Do not invoke debug traps during completion funcs (#163)
- Disable flaky test until it can be root-caused
- Generate man page via xtask (#157)
- Short-term optimization for common-case printf
- Extract InteractiveShell as trait + refactor (#159)
- (deps) Bump tokio from 1.39.3 to 1.40.0 in the cargo group (#156)
- (deps) Bump the cargo group with 6 updates (#158)
- (deps) Bump the cargo group with 2 updates (#161)
- Move MSRV up to 1.75.0 (#139)
- Correct echo -e escape expansion for \x sequences (#143)
- Disable displaying tracing target (#140)
- Correct multiple issues with process substitution + redirection (#145)
- (deps) Bump tokio from 1.39.1 to 1.39.2 in the cargo group (#141)
- (deps) Bump the cargo group with 3 updates (#148)
- (deps) Bump serde from 1.0.204 to 1.0.206 in the cargo group (#150)
- (deps) Bump the cargo group with 2 updates (#152)
- (deps) Bump serde from 1.0.208 to 1.0.209 in the cargo group (#154)
- Correct relative path resolution cases
- Relative path completion fixes (#137)
- Build error outside git (#134)
- (deps) Bump the cargo group with 2 updates (#133)
- Initial support for non-linux
- Enable simpler builtins implemented outside brush (#130)
- Get building on windows and wasm-wasip1 targets (#116)
- Add brushctl builtin, seed with event toggling support
- Absorb breaking change in homedir crate
- Clippy and check warnings (#123)
- Correct completion fallback logic when spec matches but 0 results (#125)
- Various build warnings on windows build (#126)
- Exclude tags from git version info (#115)
- Update readme (#127)
- Merge builtin and builtins modules
- Update comments (#129)
- (deps) Bump the cargo group across 1 directory with 5 updates
- Enable -O and +O on command line (#105)
- Start using cargo-fuzz for testing (#106)
- Enable fuzz-testing arithmetic eval (#108)
- Include more details in version info (#112)
- Correct expansion when PWD is / (#96)
- Ensure parser error actually impls Error (#98)
- Realign newline parsing with spec (#99)
- Correct handling of unterminated expansions (#101)
- Add &>> implementation (#103)
- Correct metadata for fuzz crate (#107)
- Resolve assorted arithmetic eval issues (#110)
- Correct ** overflow behavior (#111)
- Update Cargo.lock (#113)
- Release
- Take targeted dependency updates (#93)
- Update config (#97)
- Implement 'command' builtin (#77)
- Add stubs for help man page generation
- Fill out read builtin impl
- Rework here doc files (#85)
- Set + validate intentional MSRV (1.72.0) (#86)
- Add basic changelog
- Add basic changelog (#87)
- Compgen -W expansion (#78)
- Don't split completions that aren't file paths (#79)
- Allow interrupting read builtin, run pipeline cmds in subshell (#81)
- Add missing flush calls
- Tweak manifests to work with release flow (#89)
- Ensure brush-core builds outside workspace (#90)
- Add crate shields to readme (#74)
- Add missing code documentation
- (release) Bump version to 0.2.0 (#88)
- Update dependencies
- Adjust clippy warnings
- Prepare for initial release (#68)
- Enable publishing (#71)