brush v0.2.17
Release Notes
This release brings:
- Targeted ergonomics improvements for users of
brush_core::Shell
- Minor completion improvements for syntactically complex command-lines
- Build and test support for
-musl
variants of brush
- Early experimental build-only support for building for
wasm32-unknown-unknown
And a big shout-out to our new contributors! Please keep reading for more details.
What's Changed
- build(deps): bump the cargo group with 3 updates by @dependabot in #426
- chore: get building for wasm32-unknown-unknown by @reubeno in #425
- fix: honor COMP_WORDBREAKS in completion tokenization by @reubeno in #407
- build(deps): bump the cargo group with 2 updates by @dependabot in #427
- ci: build musl variant + reenable aarch64 tests by @reubeno in #428
- build(deps): bump rand from 0.9.0 to 0.9.1 in the cargo group by @dependabot in #431
- test: implement --skip in brush-compat-tests harness by @reubeno in #432
- docs: Add instructions for installing from the AUR by @orhun in #433
- fix: handle complete builtin run without options by @reubeno in #435
- chore(Shell): use relaxed typing for string input by @Elsie19 in #437
- feat(Shell): add
get_env_var
method for more generic variable returns by @Elsie19 in #438
- build: add workflow for publishing release binaries to GH by @reubeno in #440
- chore: prepare release by @reubeno in #441
New Contributors
Full Changelog: brush-shell-v0.2.16...brush-shell-v0.2.17
brush-parser-v0.2.15
chore: Release package brush-parser version 0.2.15
brush-interactive-v0.2.17
chore: Release package brush-interactive version 0.2.17
brush-core-v0.3.0
chore: Release package brush-core version 0.3.0
brush v0.2.16
Release Notes
This release brings an assortment of fixes for reported compatibility issues and an upgrade of reedline
to 0.39.0. Most notably:
exec
now supports being used commandlessly, to update open file descriptors in the running shell
- arithmetic expressions support
base#literal
syntax for integer literals
$PS4
is prompt-expanded when used in set -x
et al.
command -p
is now implemented
- targeted fixes to support running our compatibility test suite in more environments (e.g., NixOS)
Keep reading for more details.
What's Changed
- fix(builtins): implement command-less exec semantics with open fds by @reubeno in #384
- fix(builtins): correct read handling of IFS/space by @reubeno in #385
- fix(extglob): correct handling of extglobs with empty branches by @reubeno in #386
- feat(arithmetic): support explicit base#literal in arithmetic by @reubeno in #388
- docs: add how to use via nixpkgs by @kachick in #387
- build(deps): bump the cargo group with 2 updates by @dependabot in #389
- fix: default PS1 and PS2 in interactive mode by @reubeno in #390
- fix: correct path tests on empty strings by @reubeno in #391
- fix: reset default prompt color by @reubeno in #392
- build(deps): bump the cargo group with 2 updates by @dependabot in #393
- Expand contents of PS4 when tracing by @dan4thewin in #396
- docs: fill out TBD sections in CONTRIBUTING.md + add extension suggestions by @reubeno in #397
- chore: upgrade cached crate by @reubeno in #398
- docs: add lines-of-code badge to readme by @reubeno in #399
- docs: symlink licenses under crate dirs by @reubeno in #400
- build(deps): bump serde from 1.0.218 to 1.0.219 in the cargo group by @dependabot in #401
- chore: rewrite dir diffing test code to minimize deps by @reubeno in #403
- feat: implement
command -p
by @reubeno and @39555 in #402
- fix: allow newline in empty array assignment by @idealseal in #405
- fix: improve panic handling output by @reubeno in #409
- build(deps): bump the cargo group with 2 updates by @dependabot in #410
- test: add more linux distros to test matrix by @reubeno in #412
- ci: bump bash-completion tests to 2.16.0 by @reubeno in #414
- test: enable testing on nixos/nix container image by @reubeno in #413
- chore: upgrade reedline + other deps by @reubeno in #415
- fix(regex): enable multiline mode for extended test regexes by @reubeno in #416
- fix: parse '#' as char only if inside a variable expansion by @idealseal in #418
- build(deps): bump whoami from 1.5.2 to 1.6.0 in the cargo group by @dependabot in #423
- chore: prepare release by @reubeno in #424
New Contributors
Full Changelog: brush-shell-v0.2.15...brush-shell-v0.2.16
brush-parser-v0.2.14
chore: Release package brush-parser version 0.2.14
brush-interactive-v0.2.16
chore: Release package brush-interactive version 0.2.16
brush-core-v0.2.16
chore: Release package brush-core version 0.2.16
brush v0.2.15
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-parser-v0.2.13
chore: Release package brush-parser version 0.2.13