Skip to content

Commit a6d1250

Browse files
authored
chore: prepare release (#382)
1 parent eff99bd commit a6d1250

File tree

7 files changed

+78
-16
lines changed

7 files changed

+78
-16
lines changed

CHANGELOG.md

+62
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
55

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

8+
## [0.2.15] - 2025-02-03
9+
10+
### 🚀 Features
11+
12+
- *(continue)* Implement continue n for n >= 2 ([#326](https://github.com/reubeno/brush/pull/326))
13+
- *(options)* Implement dotglob semantics ([#332](https://github.com/reubeno/brush/pull/332))
14+
- *(options)* Implement "set -t" ([#333](https://github.com/reubeno/brush/pull/333))
15+
- *(options)* Implement "set -a" ([#336](https://github.com/reubeno/brush/pull/336))
16+
- *(env)* Introduce dynamic variables ([#360](https://github.com/reubeno/brush/pull/360))
17+
18+
### 🐛 Bug Fixes
19+
20+
- *(builtins)* Skip unenumerable vars in set builtin ([#322](https://github.com/reubeno/brush/pull/322))
21+
- *(expansion)* Handle negative substring offset ([#372](https://github.com/reubeno/brush/pull/372))
22+
- *(completion)* Better handle native errors in completion funcs ([#373](https://github.com/reubeno/brush/pull/373))
23+
- *(builtins)* Correct parsing of bind positional arg ([#381](https://github.com/reubeno/brush/pull/381))
24+
- *(patterns)* Fix incorrect parse of char ranges ([#323](https://github.com/reubeno/brush/pull/323))
25+
- *(exit)* Correct exit semantics in various compund statements ([#347](https://github.com/reubeno/brush/pull/347))
26+
- *(for)* Correct semantics for "for" without "in" ([#348](https://github.com/reubeno/brush/pull/348))
27+
- Correct semantics of = in non-extended test commands ([#349](https://github.com/reubeno/brush/pull/349))
28+
- *(return)* Error if return used outside sourced script or function ([#350](https://github.com/reubeno/brush/pull/350))
29+
- *(arithmetic)* Recursively evaluate var references ([#351](https://github.com/reubeno/brush/pull/351))
30+
- *(arithmetic)* Fixes for nested parenthesis parsing in arithmetic ([#353](https://github.com/reubeno/brush/pull/353))
31+
- *(builtins)* Fix set builtin handling of - and -- ([#354](https://github.com/reubeno/brush/pull/354))
32+
- *(builtins)* Do not interpret --help in command builtin command args ([#355](https://github.com/reubeno/brush/pull/355))
33+
- *(builtins)* Correct more 'set' argument parsing ([#356](https://github.com/reubeno/brush/pull/356))
34+
- *(variables)* More correct handling of integer variables ([#357](https://github.com/reubeno/brush/pull/357))
35+
- *(redirection)* Make sure redirection fd + operator are contiguous ([#359](https://github.com/reubeno/brush/pull/359))
36+
- Better error when cwd is gone ([#370](https://github.com/reubeno/brush/pull/370))
37+
- *(builtins)* Fix read builtin ignoring tab chars ([#371](https://github.com/reubeno/brush/pull/371))
38+
- Propagate execution parameters more thoroughly ([#374](https://github.com/reubeno/brush/pull/374))
39+
- *(redirection)* Allow continuing past redir errors ([#375](https://github.com/reubeno/brush/pull/375))
40+
41+
### ⚡ Performance
42+
43+
- Remove unneeded string cloning for arithmetic eval ([#324](https://github.com/reubeno/brush/pull/324))
44+
- Simplify export enumeration ([#363](https://github.com/reubeno/brush/pull/363))
45+
- Skip word parsing if no expansion required ([#365](https://github.com/reubeno/brush/pull/365))
46+
- Minor optimizations for shell create + command run ([#362](https://github.com/reubeno/brush/pull/362))
47+
48+
### 🧪 Testing
49+
50+
- *(perf)* Update tokenizer/parser benchmarks ([#321](https://github.com/reubeno/brush/pull/321))
51+
- Resolve false errors about side effects in bash-completion tests ([#379](https://github.com/reubeno/brush/pull/379))
52+
53+
### ⚙️ Miscellaneous Tasks
54+
55+
- Remove some unneeded `pub(crate)` visibility annotations ([#346](https://github.com/reubeno/brush/pull/346))
56+
- Remove unneeded result wrappings ([#367](https://github.com/reubeno/brush/pull/367))
57+
- Remove a few object clones ([#368](https://github.com/reubeno/brush/pull/368))
58+
- Update readme ([#331](https://github.com/reubeno/brush/pull/331))
59+
- Add pattern and expansion tests to track newly filed issues ([#330](https://github.com/reubeno/brush/pull/330))
60+
- Minor cleanups and test additions ([#364](https://github.com/reubeno/brush/pull/364))
61+
- Fix rng warnings ([#378](https://github.com/reubeno/brush/pull/378))
62+
63+
### Build
64+
65+
- *(deps)* Bump indexmap from 2.7.0 to 2.7.1 in the cargo group ([#334](https://github.com/reubeno/brush/pull/334))
66+
- *(deps)* Bump the cargo group across 1 directory with 4 updates ([#320](https://github.com/reubeno/brush/pull/320))
67+
- *(deps)* Bump the cargo group with 3 updates ([#376](https://github.com/reubeno/brush/pull/376))
68+
69+
<!-- generated by git-cliff -->
870
## [0.2.14] - 2025-01-10
971

1072
### 🚀 Features

Cargo.lock

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

brush-core/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "brush-core"
33
description = "Reusable core of a POSIX/bash shell (used by brush-shell)"
4-
version = "0.2.14"
4+
version = "0.2.15"
55
categories.workspace = true
66
edition.workspace = true
77
keywords.workspace = true
@@ -19,7 +19,7 @@ workspace = true
1919
[dependencies]
2020
async-recursion = "1.1.1"
2121
async-trait = "0.1.86"
22-
brush-parser = { version = "^0.2.12", path = "../brush-parser" }
22+
brush-parser = { version = "^0.2.13", path = "../brush-parser" }
2323
cached = "0.54.0"
2424
cfg-if = "1.0.0"
2525
chrono = "0.4.39"

brush-interactive/Cargo.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "brush-interactive"
33
description = "Interactive layer of brush-shell"
4-
version = "0.2.14"
4+
version = "0.2.15"
55
authors.workspace = true
66
categories.workspace = true
77
edition.workspace = true
@@ -25,8 +25,8 @@ workspace = true
2525

2626
[dependencies]
2727
async-trait = "0.1.86"
28-
brush-parser = { version = "^0.2.12", path = "../brush-parser" }
29-
brush-core = { version = "^0.2.14", path = "../brush-core" }
28+
brush-parser = { version = "^0.2.13", path = "../brush-parser" }
29+
brush-core = { version = "^0.2.15", path = "../brush-core" }
3030
crossterm = { version = "0.28.1", features = ["serde"], optional = true }
3131
indexmap = "2.7.1"
3232
nu-ansi-term = { version = "0.50.1", optional = true }

brush-parser/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "brush-parser"
33
description = "POSIX/bash shell tokenizer and parsers (used by brush-shell)"
4-
version = "0.2.12"
4+
version = "0.2.13"
55
authors.workspace = true
66
categories.workspace = true
77
edition.workspace = true

brush-shell/Cargo.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "brush-shell"
33
description = "Rust-implemented shell focused on POSIX and bash compatibility"
4-
version = "0.2.14"
4+
version = "0.2.15"
55
authors.workspace = true
66
categories.workspace = true
77
edition.workspace = true
@@ -40,8 +40,8 @@ workspace = true
4040

4141
[dependencies]
4242
async-trait = "0.1.86"
43-
brush-parser = { version = "^0.2.12", path = "../brush-parser" }
44-
brush-core = { version = "^0.2.14", path = "../brush-core" }
43+
brush-parser = { version = "^0.2.13", path = "../brush-parser" }
44+
brush-core = { version = "^0.2.15", path = "../brush-core" }
4545
cfg-if = "1.0.0"
4646
clap = { version = "4.5.21", features = ["derive", "env", "wrap_help"] }
4747
const_format = "0.2.34"
@@ -52,13 +52,13 @@ tracing-subscriber = "0.3.19"
5252
human-panic = "2.0.2"
5353

5454
[target.'cfg(not(any(windows, unix)))'.dependencies]
55-
brush-interactive = { version = "^0.2.14", path = "../brush-interactive", features = [
55+
brush-interactive = { version = "^0.2.15", path = "../brush-interactive", features = [
5656
"minimal",
5757
] }
5858
tokio = { version = "1.43.0", features = ["rt", "sync"] }
5959

6060
[target.'cfg(any(windows, unix))'.dependencies]
61-
brush-interactive = { version = "^0.2.14", path = "../brush-interactive", features = [
61+
brush-interactive = { version = "^0.2.15", path = "../brush-interactive", features = [
6262
"basic",
6363
"reedline",
6464
] }

xtask/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ rust-version.workspace = true
1313

1414
[dependencies]
1515
anyhow = "1.0.95"
16-
brush-shell = { version = "^0.2.14", path = "../brush-shell" }
16+
brush-shell = { version = "^0.2.15", path = "../brush-shell" }
1717
clap = { version = "4.5.21", features = ["derive"] }
1818
clap_mangen = "0.2.26"
1919
clap-markdown = "0.1.4"

0 commit comments

Comments
 (0)