Skip to content

Releases: reubeno/brush

brush v0.2.15

03 Feb 17:41
a6d1250
Compare
Choose a tag to compare

Release Notes

Another release with a sizable number of targeted fixes for posted issues, performance tweaks, and a couple of smaller features. The most noticeable feature may be the introduction of "dynamic variables" into the shell implementation, which allowed us to add quick support for standard special variables like $SHELLOPTS, $BASHOPTS, et al.
 

What's Changed

  • build(deps): bump the cargo group across 1 directory with 4 updates by @dependabot in #320
  • fix(builtins): skip unenumerable vars in set builtin by @reubeno in #322
  • test(perf): update tokenizer/parser benchmarks by @reubeno in #321
  • fix(patterns): fix incorrect parse of char ranges by @reubeno in #323
  • chore: remove unneeded string cloning for arithmetic eval by @reubeno in #324
  • feat(continue): implement continue n for n >= 2 by @reubeno in #326
  • fix(completion): improve basic backend completion output by @reubeno in #327
  • chore: update readme by @reubeno in #331
  • chore: test updates by @reubeno in #330
  • feat(options): implement dotglob semantics by @reubeno in #332
  • feat(options): implement "set -t" by @reubeno in #333
  • build(deps): bump indexmap from 2.7.0 to 2.7.1 in the cargo group by @dependabot in #334
  • feat(options): implement "set -a" by @reubeno in #336
  • chore: adopt native arm64 github runners by @reubeno in #335
  • chore: remove some unneeded pub(crate) visibility annotations by @reubeno in #346
  • fix(exit): correct exit semantics in various compund statements by @reubeno in #347
  • fix(for): correct semantics for "for" without "in" by @reubeno in #348
  • fix: correct semantics of = in non-extended test commands by @reubeno in #349
  • fix(return): error if return used outside sourced script or function by @reubeno in #350
  • build: partially revert recent arm64 changes by @reubeno in #352
  • fix(arithmetic): recursively evaluate var references by @reubeno in #351
  • fix(arithmetic): fixes for nested parenthesis parsing in arithmetic by @reubeno in #353
  • fix(builtins): fix set builtin handling of - and -- by @reubeno in #354
  • fix(builtins): do not interpret --help in command builtin command args by @reubeno in #355
  • fix(builtins): correct more 'set' argument parsing by @reubeno in #356
  • fix(variables): more correct handling of integer variables by @reubeno in #357
  • fix(redirection): make sure redirection fd + operator are contiguous by @reubeno in #359
  • feat(env): introduce dynamic vars backed by rust code by @reubeno in #360
  • perf: minor optimizations for shell create + command run by @reubeno in #362
  • perf: simplify export enumeration by @reubeno in #363
  • chore: minor cleanups and test additions by @reubeno in #364
  • perf: skip word parsing if no expansion required by @reubeno in #365
  • chore: remove unneeded result wrappings by @reubeno in #367
  • chore: remove a few object clones by @reubeno in #368
  • fix: better error when cwd is gone by @reubeno in #370
  • fix(builtins): fix read builtin ignoring tab chars by @reubeno in #371
  • fix(expansion): handle negative substring offset by @reubeno in #372
  • fix(completion): better handle native errors in completion funcs by @reubeno in #373
  • fix: propagate execution parameters more thoroughly by @reubeno in #374
  • fix(redirection): allow continuing past redir errors by @reubeno in #375
  • build(deps): bump the cargo group with 3 updates by @dependabot in #376
  • chore: switch to testing on debian:testing by @reubeno in #377
  • chore: fix rng warnings by @reubeno in #378
  • test: run bash-completion tests by @reubeno in #292
  • test: resolve false errors about side effects in bash-completion tests by @reubeno in #379
  • fix(builtins): correct parsing of bind positional arg by @reubeno in #381
  • chore: prepare release by @reubeno in #382

Full Changelog: brush-shell-v0.2.14...brush-shell-v0.2.15

brush v0.2.14

10 Jan 23:24
c094f1f
Compare
Choose a tag to compare

Release Notes

This is a sizable release, incorporating a large number of bug-fixes and performance improvements, as well as some targeted features to close compatibility gaps. Notably this includes brace expansion, support for additional shopt/set options, support for the time special keyword, and support for multiple additional builtin commands.

What's Changed

  • fix: stop incorrectly parsing assignment as function def by @reubeno in #273
  • fix: assorted non-fatal clippy warnings by @reubeno in #274
  • fix: multiple issues blocking docker cmd completion by @reubeno in #275
  • fix: correct handling of multi-byte chars in highlighter by @reubeno in #277
  • feat(prompts): enable PS0, custom right-side prompts, more by @reubeno in #278
  • feat(set): implement nullglob option by @reubeno in #279
  • fix: improve substring ops with multi-byte chars by @reubeno in #280
  • fix: better handle escape chars in pattern bracket exprs by @reubeno in #281
  • feat(set): implement nocaseglob + nocasematch options by @reubeno in #282
  • build(deps): bump the cargo group with 3 updates by @dependabot in #285
  • build(deps): bump the cargo group with 4 updates by @dependabot in #289
  • feat(completion): progress toward passing bash-completion test suite by @reubeno in #288
  • feat: implement brace expansion by @reubeno in #290
  • feat(options): implement noclobber option (a.k.a. -C) by @reubeno in #291
  • build(deps): bump the cargo group with 3 updates by @dependabot in #294
  • chore: pin workflows to specific ubuntu versions by @reubeno in #293
  • chore: update reedline + Cargo.lock by @reubeno in #296
  • build(deps): bump anyhow from 1.0.94 to 1.0.95 in the cargo group by @dependabot in #297
  • fix: implement date and time in prompts by @reubeno in #298
  • build(deps): bump the cargo group with 2 updates by @dependabot in #299
  • fix(completion): handle -o {default,dirnames,plusdirs} by @reubeno in #300
  • perf: cache parsing for arithmetic expressions by @reubeno in #301
  • build(deps): bump the cargo group with 2 updates by @dependabot in #304
  • fix(jobs): only report job status when job control option is enabled by @reubeno in #306
  • feat(builtins): implement more of kill builtin by @reubeno in #305
  • perf: remove setup operations from microbenchmarks by @reubeno in #307
  • feat(builtins): implement times builtin by @reubeno in #309
  • feat(non-posix): implement time keyword by @reubeno in #310
  • feat(builtins): implement suspend by @reubeno in #311
  • chore: address warnings by @reubeno in #313
  • perf: remove unneeded async from arithmetic eval by @reubeno in #312
  • perf: adjust compile flags for runtime performance by @reubeno in #314
  • perf: reimplement colon command as a "simple builtin" by @reubeno in #315
  • fix(expansion): correct length for 1-element arrays by @reubeno in #316
  • fix: correct issues with ! extglobs and compgen -X by @reubeno in #317
  • chore: prepare release by @reubeno in #318

Full Changelog: brush-shell-v0.2.13...brush-shell-v0.2.14

brush v0.2.13

26 Nov 04:25
191889a
Compare
Choose a tag to compare

What's Changed

Full Changelog: brush-shell-v0.2.12...brush-shell-v0.2.13

brush v0.2.12

03 Nov 23:45
3ed06fe
Compare
Choose a tag to compare

What's Changed

  • build(deps): bump the cargo group with 2 updates by @dependabot in #220
  • feat: implement support for ;;& and ;& in case items by @reubeno in #223
  • fix: allow usually-operator chars in regex parens by @reubeno in #224
  • fix: assorted correctness issues in getopts builtin by @reubeno in #225
  • fix: assorted completion-related issues by @reubeno in #226
  • fix: string replacement with slashes by @reubeno in #231
  • fix: correct pattern removal expansions on arrays by @reubeno in #232
  • fix(completion): fix -- handling in getopts by @reubeno in #235
  • fix: omit dirs from executable searches by @reubeno in #236
  • fix(completion): correct behavior of slice past end of array by @reubeno in #237
  • test: run completion tests using bash-completion 2.14.0 by @reubeno in #238
  • fix: handle PS2 prompts that require prompt-expansion by @reubeno in #239
  • test: add os-targeted integration tests by @reubeno in #241
  • feat: implement |& extension by @39555 in #240
  • feat: implement kill -l by @39555 in #221
  • chore: upgrade crate dependencies by @reubeno in #247
  • build: run lychee to check intra-repo links in action by @reubeno in #248
  • build: run cargo udeps in checks by @reubeno in #246
  • docs: generate usage docs in actions via xtask by @reubeno in #249
  • feat: implement |& for function declarations by @39555 in #244
  • fix: support here documents in command substitutions by @reubeno in #255
  • chore: prepare release by @reubeno in #256

Full Changelog: brush-shell-v0.2.11...brush-shell-v0.2.12

brush v0.2.11

18 Oct 18:49
1227650
Compare
Choose a tag to compare

What's Changed

  • docs: update readme by @reubeno in #182
  • test: enable setting min oracle version on tests by @reubeno in #184
  • feat: experimentally enable reedline as an input backend by @reubeno in #186
  • feat: default to reedline and add syntax highlighting support by @reubeno in #187
  • fix: allow newlines in extended test exprs by @reubeno in #188
  • fix: deduplicate completion candidates by @reubeno in #189
  • build(deps): bump futures from 0.3.30 to 0.3.31 in the cargo group by @dependabot in #190
  • feat: add a panic handler via human-panic by @reubeno in #191
  • feat: several fixes for bash-completion + tests by @reubeno in #192
  • fix: fixes for short-circuit precedence + parameter expr replacement by @reubeno in #193
  • fix: workarounds for edge word parsing cases by @reubeno in #194
  • fix: only show filenames in completions by @reubeno in #195
  • build: leave rustyline disabled by default by @reubeno in #196
  • fix: assorted completion issues with ~ and vars by @reubeno in #199
  • feat: implement cd - by @39555 in #201
  • build(deps): bump the cargo group with 4 updates by @dependabot in #203
  • chore: where possible replace async-trait with native async trait support in 1.75+ by @39555 in #197
  • docs: update readme with new links by @reubeno in #204
  • fix: slight compat improvements to set -x by @reubeno in #205
  • feat: implement command hashing by @reubeno in #206
  • fix: matching newline chars in glob patterns by @reubeno in #207
  • fix: honor IFS in read builtin by @reubeno in #208
  • chore: upgrade reedline to 0.36.0 by @reubeno in #209
  • fix: correct behavior of break in arithmetic for loop by @reubeno in #210
  • fix: address issues with array unset by @reubeno in #211
  • fix: handle expansion in here documents by @reubeno in #212
  • fix: cleanup transient completion variables by @reubeno in #213
  • fix: leave trailing whitespace out of reedline completion suggestions by @reubeno in #214
  • chore: increase max column count for completion menu by @reubeno in #215
  • build: remove rustyline support by @reubeno in #216
  • chore: prepare release by @reubeno in #217
  • docs: update readme by @reubeno in #218

Full Changelog: brush-shell-v0.2.10...brush-shell-v0.2.11

brush v0.2.10

30 Sep 15:05
c62788c
Compare
Choose a tag to compare

What's Changed

  • fix: allow source to be used with process substitution by @reubeno in #175
  • build(deps): bump the cargo group with 2 updates by @dependabot in #177
  • test: move to cargo nextest by @reubeno in #176
  • test: correctly report skipped tests for nextest by @reubeno in #178
  • test: convert more test skips to known failures by @reubeno in #179
  • fix: address multiple issues with foreground controls for pipeline commands by @reubeno in #180
  • chore: prepare release by @reubeno in #181

Full Changelog: brush-shell-v0.2.9...brush-shell-v0.2.10

brush v0.2.9

26 Sep 23:30
663964a
Compare
Choose a tag to compare

What's Changed

  • build(deps): bump thiserror from 1.0.63 to 1.0.64 in the cargo group by @dependabot in #167
  • test: add more basic interactive tests by @reubeno in #168
  • build: temporarily disable failing test by @reubeno in #170
  • build: prepare for test reports from multiple platforms by @reubeno in #171
  • build: refactor PR workflow to better support multi-platform build + test by @reubeno in #169
  • fix: Posix compliant argument parsing for -c mode by @39555 in #147
  • test: bring up macos testing by @reubeno in #172
  • feat: launch processes in their own process groups by @reubeno in #166
  • fix: avoid duplicate artifact names by @reubeno in #173
  • chore: prepare release by @reubeno in #174

New Contributors

Full Changelog: brush-shell-v0.2.8...brush-shell-v0.2.9

brush v0.2.8

18 Sep 00:00
c6c58db
Compare
Choose a tag to compare

What's Changed

  • build(deps): bump tokio from 1.39.3 to 1.40.0 in the cargo group by @dependabot in #156
  • docs: generate man page via xtask by @reubeno in #157
  • build(deps): bump the cargo group with 6 updates by @dependabot in #158
  • chore: extract InteractiveShell as trait + refactor by @reubeno in #159
  • fix: implement ~USER syntax by @reubeno in #160
  • build(deps): bump the cargo group with 2 updates by @dependabot in #161
  • fix: compgen needs to expand target arg by @reubeno in #162
  • fix: do not invoke debug traps during completion funcs by @reubeno in #163
  • perf: short-term optimization for common-case printf by @reubeno in #164
  • chore: prepare release by @reubeno in #165

Full Changelog: brush-shell-v0.2.7...brush-shell-v0.2.8

brush v0.2.7

02 Sep 00:38
b360f6b
Compare
Choose a tag to compare

What's Changed

  • feat: move MSRV up to 1.75.0 by @reubeno in #139
  • fix: disable displaying tracing target by @reubeno in #140
  • build(deps): bump tokio from 1.39.1 to 1.39.2 in the cargo group by @dependabot in #141
  • build(deps): bump cargo-bins/cargo-binstall from 1.7.4 to 1.8.0 in the github-actions group by @dependabot in #142
  • fix: correct echo -e escape expansion for \x sequences by @reubeno in #143
  • fix: correct multiple issues with process substitution + redirection by @reubeno in #145
  • fix: mitigate build errors setting up cargo-binstall by @reubeno in #146
  • build(deps): bump the cargo group with 3 updates by @dependabot in #148
  • build(deps): bump serde from 1.0.204 to 1.0.206 in the cargo group by @dependabot in #150
  • build(deps): bump the cargo group with 2 updates by @dependabot in #152
  • fix: make history file creation error non fatal by @reubeno in #153
  • build(deps): bump serde from 1.0.208 to 1.0.209 in the cargo group by @dependabot in #154
  • chore: prepare release by @reubeno in #155

Full Changelog: brush-shell-v0.2.6...brush-shell-v0.2.7

brush v0.2.6

23 Jul 21:04
6add82f
Compare
Choose a tag to compare

What's Changed

Full Changelog: brush-shell-v0.2.5...brush-shell-v0.2.6