Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: prepare release #318

Merged
merged 1 commit into from
Jan 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,81 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

All notable changes to this project will be documented in this file.

## [0.2.14] - 2025-01-10

### 🚀 Features

- *(prompts)* Enable PS0, custom right-side prompts, more ([#278](https://github.com/reubeno/brush/pull/278))
- *(completion)* Programmable completion support for filters + commands
- *(non-posix)* Implement `time` keyword ([#310](https://github.com/reubeno/brush/pull/310))
- *(builtins)* Implement suspend ([#311](https://github.com/reubeno/brush/pull/311))
- *(set)* Implement nullglob option ([#279](https://github.com/reubeno/brush/pull/279))
- *(set)* Implement nocaseglob + nocasematch options ([#282](https://github.com/reubeno/brush/pull/282))
- *(builtins)* Add minimal mapfile + bind impls
- *(debug)* Improved function tracing capabilities
- *(options)* Implement lastpipe option
- Implement brace expansion ([#290](https://github.com/reubeno/brush/pull/290))
- *(options)* Implement noclobber option (a.k.a. -C) ([#291](https://github.com/reubeno/brush/pull/291))
- *(builtins)* Implement more of kill builtin ([#305](https://github.com/reubeno/brush/pull/305))
- *(builtins)* Implement times builtin ([#309](https://github.com/reubeno/brush/pull/309))

### 🐛 Bug Fixes

- Correct sh mode vs posix mode confusion for syntax extensions
- Assorted non-fatal clippy warnings ([#274](https://github.com/reubeno/brush/pull/274))
- *(builtins)* Correct behavior of set builtin with no args
- More consistently honor shell options when invoking the tokenizer
- Update COMP_WORDBREAKS default value
- Honor extglob for expansion transformations
- Sync PWD with actual workdir on launch
- *(jobs)* Only report job status when job control option is enabled ([#306](https://github.com/reubeno/brush/pull/306))
- Stop incorrectly parsing assignment as function def ([#273](https://github.com/reubeno/brush/pull/273))
- Multiple issues blocking docker cmd completion ([#275](https://github.com/reubeno/brush/pull/275))
- Improve substring ops with multi-byte chars ([#280](https://github.com/reubeno/brush/pull/280))
- Better handle escape chars in pattern bracket exprs ([#281](https://github.com/reubeno/brush/pull/281))
- *(completion)* Multiple fixes for compgen builtin usage
- *(regex)* Work around incompatibilities between shell + rust regexes
- *(extendedtests)* Add missing arithmetic eval in extended tests
- *(command)* Handle sending basic command errors to redirected stderr
- Improve accuracy of negative extglobs
- Implement date and time in prompts ([#298](https://github.com/reubeno/brush/pull/298))
- *(completion)* Handle -o {default,dirnames,plusdirs} ([#300](https://github.com/reubeno/brush/pull/300))
- *(expansion)* Correct length for 1-element arrays ([#316](https://github.com/reubeno/brush/pull/316))
- Correct issues with `!` extglobs and compgen -X ([#317](https://github.com/reubeno/brush/pull/317))

### 📚 Documentation

- Update README to reflect test expansion

### ⚡ Performance

- Cache parsing for arithmetic expressions ([#301](https://github.com/reubeno/brush/pull/301))
- Remove unneeded async from arithmetic eval ([#312](https://github.com/reubeno/brush/pull/312))
- Remove setup operations from microbenchmarks ([#307](https://github.com/reubeno/brush/pull/307))
- Reimplement colon command as a "simple builtin" ([#315](https://github.com/reubeno/brush/pull/315))

### 🧪 Testing

- *(completion)* Add another completion test
- *(completion)* Enable use of pexpect et al. with basic input backend

### ⚙️ Miscellaneous Tasks

- Update comments
- Improve tracing for completion function invocation
- Remove unneeded helper code
- Address warnings ([#313](https://github.com/reubeno/brush/pull/313))

### Build

- *(deps)* Bump the cargo group with 3 updates ([#285](https://github.com/reubeno/brush/pull/285))
- *(deps)* Bump the cargo group with 4 updates ([#289](https://github.com/reubeno/brush/pull/289))
- *(deps)* Bump the cargo group with 3 updates ([#294](https://github.com/reubeno/brush/pull/294))
- *(deps)* Bump anyhow from 1.0.94 to 1.0.95 in the cargo group ([#297](https://github.com/reubeno/brush/pull/297))
- *(deps)* Bump the cargo group with 2 updates ([#299](https://github.com/reubeno/brush/pull/299))
- *(deps)* Bump the cargo group with 2 updates ([#304](https://github.com/reubeno/brush/pull/304))

<!-- generated by git-cliff -->
## [0.2.13] - 2024-11-26

### 🚀 Features
Expand Down
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions brush-core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "brush-core"
description = "Reusable core of a POSIX/bash shell (used by brush-shell)"
version = "0.2.13"
version = "0.2.14"
categories.workspace = true
edition.workspace = true
keywords.workspace = true
Expand All @@ -19,7 +19,7 @@ workspace = true
[dependencies]
async-recursion = "1.1.1"
async-trait = "0.1.84"
brush-parser = { version = "^0.2.11", path = "../brush-parser" }
brush-parser = { version = "^0.2.12", path = "../brush-parser" }
cached = "0.54.0"
cfg-if = "1.0.0"
chrono = "0.4.39"
Expand Down
6 changes: 3 additions & 3 deletions brush-interactive/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "brush-interactive"
description = "Interactive layer of brush-shell"
version = "0.2.13"
version = "0.2.14"
authors.workspace = true
categories.workspace = true
edition.workspace = true
Expand All @@ -25,8 +25,8 @@ workspace = true

[dependencies]
async-trait = "0.1.84"
brush-parser = { version = "^0.2.11", path = "../brush-parser" }
brush-core = { version = "^0.2.13", path = "../brush-core" }
brush-parser = { version = "^0.2.12", path = "../brush-parser" }
brush-core = { version = "^0.2.14", path = "../brush-core" }
crossterm = { version = "0.28.1", features = ["serde"], optional = true }
indexmap = "2.7.0"
nu-ansi-term = { version = "0.50.1", optional = true }
Expand Down
2 changes: 1 addition & 1 deletion brush-parser/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "brush-parser"
description = "POSIX/bash shell tokenizer and parsers (used by brush-shell)"
version = "0.2.11"
version = "0.2.12"
authors.workspace = true
categories.workspace = true
edition.workspace = true
Expand Down
10 changes: 5 additions & 5 deletions brush-shell/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "brush-shell"
description = "Rust-implemented shell focused on POSIX and bash compatibility"
version = "0.2.13"
version = "0.2.14"
authors.workspace = true
categories.workspace = true
edition.workspace = true
Expand Down Expand Up @@ -40,8 +40,8 @@ workspace = true

[dependencies]
async-trait = "0.1.84"
brush-parser = { version = "^0.2.11", path = "../brush-parser" }
brush-core = { version = "^0.2.13", path = "../brush-core" }
brush-parser = { version = "^0.2.12", path = "../brush-parser" }
brush-core = { version = "^0.2.14", path = "../brush-core" }
cfg-if = "1.0.0"
clap = { version = "4.5.21", features = ["derive", "env", "wrap_help"] }
const_format = "0.2.34"
Expand All @@ -52,13 +52,13 @@ tracing-subscriber = "0.3.19"
human-panic = "2.0.2"

[target.'cfg(not(any(windows, unix)))'.dependencies]
brush-interactive = { version = "^0.2.13", path = "../brush-interactive", features = [
brush-interactive = { version = "^0.2.14", path = "../brush-interactive", features = [
"minimal",
] }
tokio = { version = "1.42.0", features = ["rt", "sync"] }

[target.'cfg(any(windows, unix))'.dependencies]
brush-interactive = { version = "^0.2.13", path = "../brush-interactive", features = [
brush-interactive = { version = "^0.2.14", path = "../brush-interactive", features = [
"basic",
"reedline",
] }
Expand Down
2 changes: 1 addition & 1 deletion xtask/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ rust-version.workspace = true

[dependencies]
anyhow = "1.0.95"
brush-shell = { version = "^0.2.13", path = "../brush-shell" }
brush-shell = { version = "^0.2.14", path = "../brush-shell" }
clap = { version = "4.5.21", features = ["derive"] }
clap_mangen = "0.2.24"
clap-markdown = "0.1.4"
Loading