chore(release): prepare for release 18.23.0 (#4216)

Release 18.23.0


### Bug Fixes

- *(common)* Sleep before each backoff attempt
([#4129](https://github.com/atuinsh/atuin/issues/4129))
- *(common)* Include the cause in the sqlite pool creation error
([#4185](https://github.com/atuinsh/atuin/issues/4185))
- *(docs)* Resolve atuin.sh self-hosting link 404 + tidy 404 page
([#4194](https://github.com/atuinsh/atuin/issues/4194))
- *(hook)* Accept a string tool_response from codex
([#4171](https://github.com/atuinsh/atuin/issues/4171))
- *(pty-proxy)* Resolve zsh --shell to an absolute path with :c
([#4097](https://github.com/atuinsh/atuin/issues/4097))
- *(wrapped)* Command Evolution ignoring common_prefix
([#4148](https://github.com/atuinsh/atuin/issues/4148))
- Clarify migration errors caused by conflicting Atuin versions
([#4173](https://github.com/atuinsh/atuin/issues/4173))
- Restart the daemon when enabling output capture
([#4215](https://github.com/atuinsh/atuin/issues/4215))


### Documentation

- Remove msrv chip
([#4112](https://github.com/atuinsh/atuin/issues/4112))
- Slightly more pleasant help UX
([#4111](https://github.com/atuinsh/atuin/issues/4111))
- Clarify atuin-client vs atuin-common crate placement
([#4192](https://github.com/atuinsh/atuin/issues/4192))


### Features

- *(atuin-common)* Cross-platform free-space probing for disk limits
([#4122](https://github.com/atuinsh/atuin/issues/4122))
- *(atuin-common)* Add HighlightedText type with proto conversion
([#4123](https://github.com/atuinsh/atuin/issues/4123))
- *(atuin-common)* Add generic SQLite FTS5 helper
([#4124](https://github.com/atuinsh/atuin/issues/4124))
- *(atuin-daemon)* Full-text search index over captured output
([#4145](https://github.com/atuinsh/atuin/issues/4145))
- *(common)* Add fs::tree_watcher directory watcher utility
([#4188](https://github.com/atuinsh/atuin/issues/4188))
- *(common)* Generic file-tail and jsonl-tail utilities
([#4186](https://github.com/atuinsh/atuin/issues/4186))
- *(common)* SqliteObserver for cross-process SQLite change observation
([#4195](https://github.com/atuinsh/atuin/issues/4195))
- *(config)* Accept unit-aware durations in config
([#4128](https://github.com/atuinsh/atuin/issues/4128))
- *(harnesstools)* Generic AI session-capture interface
([#4191](https://github.com/atuinsh/atuin/issues/4191))
- *(mcp)* Add atuin_output_search tool
([#4157](https://github.com/atuinsh/atuin/issues/4157))
- *(search)* Allow repeated exit-code filters
([#4132](https://github.com/atuinsh/atuin/issues/4132))
- Improve `atuin_common::ansi::to_plain_text`
([#4101](https://github.com/atuinsh/atuin/issues/4101))
- Full-text search over captured command output
([#4126](https://github.com/atuinsh/atuin/issues/4126))
- Json and ndjson output styles for `output search`
([#4158](https://github.com/atuinsh/atuin/issues/4158))
- AI Session Capture Daemon Interface
([#4184](https://github.com/atuinsh/atuin/issues/4184))
- Add easy config shortcuts
([#4213](https://github.com/atuinsh/atuin/issues/4213))


### Miscellaneous Tasks

- *(atuin-common)* Remove eyre in favor of thiserror
([#4103](https://github.com/atuinsh/atuin/issues/4103))
- *(output-capture)* Reconcile can no longer crash
([#4153](https://github.com/atuinsh/atuin/issues/4153))
- Replace daemonize with daemonix
([#4099](https://github.com/atuinsh/atuin/issues/4099))
- Bump sysinfo to 0.39.6
([#4102](https://github.com/atuinsh/atuin/issues/4102))
- Lower MSRV to 1.95
([#4100](https://github.com/atuinsh/atuin/issues/4100))
- Remove eyre from atuin-domain
([#4107](https://github.com/atuinsh/atuin/issues/4107))
- Ban eyre from atuin-history
([#4108](https://github.com/atuinsh/atuin/issues/4108))
- Remove eyre from atuin-pty-proxy
([#4110](https://github.com/atuinsh/atuin/issues/4110))
- Less strict versions
([#4143](https://github.com/atuinsh/atuin/issues/4143))
- Cut build-job time
([#4182](https://github.com/atuinsh/atuin/issues/4182))
- Give integration-test root-disk headroom + disk telemetry
([#4208](https://github.com/atuinsh/atuin/issues/4208))
- Sccache + Depot cache for integration-test
([#4211](https://github.com/atuinsh/atuin/issues/4211))


### Performance

- *(atuin)* Avoid clone on keystroke
([#4160](https://github.com/atuinsh/atuin/issues/4160))
- *(atuin)* Avoid per-char String allocation when drawing command cells
([#4164](https://github.com/atuinsh/atuin/issues/4164))
- *(atuin-daemon)* Key the output FTS index by rowid
([#4151](https://github.com/atuinsh/atuin/issues/4151))
- *(atuin-daemon)* Make the output FTS index contentless
([#4154](https://github.com/atuinsh/atuin/issues/4154))
- *(atuin-daemon)* Skip History clone in start_cmd when no tail
subscriber ([#4165](https://github.com/atuinsh/atuin/issues/4165))
- *(pty-proxy)* Forward stdout via raw fd write instead of buffered
LineWriter ([#4159](https://github.com/atuinsh/atuin/issues/4159))
- *(pty-proxy,common)* Use memchr for hot byte scans
([#4144](https://github.com/atuinsh/atuin/issues/4144))
- Make the daemon's large deletes and CI's integration tests fast
([#4189](https://github.com/atuinsh/atuin/issues/4189))


### Refactor

- *(atuin-common)* Modularize futures::stream with chunked/merge
combinators ([#4120](https://github.com/atuinsh/atuin/issues/4120))
- *(atuin-daemon)* Move HistoryId proto message into common.proto
([#4121](https://github.com/atuinsh/atuin/issues/4121))
- *(atuin-daemon)* Restructure output_capture into persistence + engine
([#4125](https://github.com/atuinsh/atuin/issues/4125))
- *(client)* Rename SyncEngine to SyncSession
([#4130](https://github.com/atuinsh/atuin/issues/4130))
- *(daemon)* Replace sync event-bus with a standalone engine
([#4131](https://github.com/atuinsh/atuin/issues/4131))
- *(deps)* Bump DeterminateSystems/update-flake-lock from 28 to 29
([#4138](https://github.com/atuinsh/atuin/issues/4138))
- *(deps)* Bump DeterminateSystems/nix-installer-action from 22 to 23
([#4137](https://github.com/atuinsh/atuin/issues/4137))
- *(deps)* Bump eyre from 0.6.12 to 0.6.14
([#4133](https://github.com/atuinsh/atuin/issues/4133))
- *(deps)* Bump serde_regex from 1.1.0 to 1.2.0
([#4134](https://github.com/atuinsh/atuin/issues/4134))
- *(deps)* Bump uuid from 1.25.0 to 1.26.1
([#4135](https://github.com/atuinsh/atuin/issues/4135))
- *(deps)* Bump soupsieve from 2.8.4 to 2.9 in /docs in the uv group
across 1 directory
([#4172](https://github.com/atuinsh/atuin/issues/4172))
- *(deps)* Bump atuin-vt100 from 0.19.0 to 0.19.1
([#4205](https://github.com/atuinsh/atuin/issues/4205))
- *(hooks)* Move agent hook install into atuin-common harnesstools
([#4183](https://github.com/atuinsh/atuin/issues/4183))


### Testing

- *(atuin-common)* Use #[rstest] in place of #[test]
([#4146](https://github.com/atuinsh/atuin/issues/4146))
- Fix flaky empty_history_search_can_be_cancelled e2e test
([#4197](https://github.com/atuinsh/atuin/issues/4197))


### Bug

- Fix transaction lock
([#4152](https://github.com/atuinsh/atuin/issues/4152))
- Deletion state race
([#4180](https://github.com/atuinsh/atuin/issues/4180))
This commit is contained in:
Ellie Huxtable
2026-09-21 16:48:32 -07:00
committed by GitHub
parent 5066e3fceb
commit 78366dca8c
5 changed files with 123 additions and 26 deletions
+97
View File
@@ -2,6 +2,103 @@
All notable changes to this project will be documented in this file.
## 18.23.0
### Bug Fixes
- *(common)* Sleep before each backoff attempt ([#4129](https://github.com/atuinsh/atuin/issues/4129))
- *(common)* Include the cause in the sqlite pool creation error ([#4185](https://github.com/atuinsh/atuin/issues/4185))
- *(docs)* Resolve atuin.sh self-hosting link 404 + tidy 404 page ([#4194](https://github.com/atuinsh/atuin/issues/4194))
- *(hook)* Accept a string tool_response from codex ([#4171](https://github.com/atuinsh/atuin/issues/4171))
- *(pty-proxy)* Resolve zsh --shell to an absolute path with :c ([#4097](https://github.com/atuinsh/atuin/issues/4097))
- *(wrapped)* Command Evolution ignoring common_prefix ([#4148](https://github.com/atuinsh/atuin/issues/4148))
- Clarify migration errors caused by conflicting Atuin versions ([#4173](https://github.com/atuinsh/atuin/issues/4173))
- Restart the daemon when enabling output capture ([#4215](https://github.com/atuinsh/atuin/issues/4215))
### Documentation
- Remove msrv chip ([#4112](https://github.com/atuinsh/atuin/issues/4112))
- Slightly more pleasant help UX ([#4111](https://github.com/atuinsh/atuin/issues/4111))
- Clarify atuin-client vs atuin-common crate placement ([#4192](https://github.com/atuinsh/atuin/issues/4192))
### Features
- *(atuin-common)* Cross-platform free-space probing for disk limits ([#4122](https://github.com/atuinsh/atuin/issues/4122))
- *(atuin-common)* Add HighlightedText type with proto conversion ([#4123](https://github.com/atuinsh/atuin/issues/4123))
- *(atuin-common)* Add generic SQLite FTS5 helper ([#4124](https://github.com/atuinsh/atuin/issues/4124))
- *(atuin-daemon)* Full-text search index over captured output ([#4145](https://github.com/atuinsh/atuin/issues/4145))
- *(common)* Add fs::tree_watcher directory watcher utility ([#4188](https://github.com/atuinsh/atuin/issues/4188))
- *(common)* Generic file-tail and jsonl-tail utilities ([#4186](https://github.com/atuinsh/atuin/issues/4186))
- *(common)* SqliteObserver for cross-process SQLite change observation ([#4195](https://github.com/atuinsh/atuin/issues/4195))
- *(config)* Accept unit-aware durations in config ([#4128](https://github.com/atuinsh/atuin/issues/4128))
- *(harnesstools)* Generic AI session-capture interface ([#4191](https://github.com/atuinsh/atuin/issues/4191))
- *(mcp)* Add atuin_output_search tool ([#4157](https://github.com/atuinsh/atuin/issues/4157))
- *(search)* Allow repeated exit-code filters ([#4132](https://github.com/atuinsh/atuin/issues/4132))
- Improve `atuin_common::ansi::to_plain_text` ([#4101](https://github.com/atuinsh/atuin/issues/4101))
- Full-text search over captured command output ([#4126](https://github.com/atuinsh/atuin/issues/4126))
- Json and ndjson output styles for `output search` ([#4158](https://github.com/atuinsh/atuin/issues/4158))
- AI Session Capture Daemon Interface ([#4184](https://github.com/atuinsh/atuin/issues/4184))
- Add easy config shortcuts ([#4213](https://github.com/atuinsh/atuin/issues/4213))
### Miscellaneous Tasks
- *(atuin-common)* Remove eyre in favor of thiserror ([#4103](https://github.com/atuinsh/atuin/issues/4103))
- *(output-capture)* Reconcile can no longer crash ([#4153](https://github.com/atuinsh/atuin/issues/4153))
- Replace daemonize with daemonix ([#4099](https://github.com/atuinsh/atuin/issues/4099))
- Bump sysinfo to 0.39.6 ([#4102](https://github.com/atuinsh/atuin/issues/4102))
- Lower MSRV to 1.95 ([#4100](https://github.com/atuinsh/atuin/issues/4100))
- Remove eyre from atuin-domain ([#4107](https://github.com/atuinsh/atuin/issues/4107))
- Ban eyre from atuin-history ([#4108](https://github.com/atuinsh/atuin/issues/4108))
- Remove eyre from atuin-pty-proxy ([#4110](https://github.com/atuinsh/atuin/issues/4110))
- Less strict versions ([#4143](https://github.com/atuinsh/atuin/issues/4143))
- Cut build-job time ([#4182](https://github.com/atuinsh/atuin/issues/4182))
- Give integration-test root-disk headroom + disk telemetry ([#4208](https://github.com/atuinsh/atuin/issues/4208))
- Sccache + Depot cache for integration-test ([#4211](https://github.com/atuinsh/atuin/issues/4211))
### Performance
- *(atuin)* Avoid clone on keystroke ([#4160](https://github.com/atuinsh/atuin/issues/4160))
- *(atuin)* Avoid per-char String allocation when drawing command cells ([#4164](https://github.com/atuinsh/atuin/issues/4164))
- *(atuin-daemon)* Key the output FTS index by rowid ([#4151](https://github.com/atuinsh/atuin/issues/4151))
- *(atuin-daemon)* Make the output FTS index contentless ([#4154](https://github.com/atuinsh/atuin/issues/4154))
- *(atuin-daemon)* Skip History clone in start_cmd when no tail subscriber ([#4165](https://github.com/atuinsh/atuin/issues/4165))
- *(pty-proxy)* Forward stdout via raw fd write instead of buffered LineWriter ([#4159](https://github.com/atuinsh/atuin/issues/4159))
- *(pty-proxy,common)* Use memchr for hot byte scans ([#4144](https://github.com/atuinsh/atuin/issues/4144))
- Make the daemon's large deletes and CI's integration tests fast ([#4189](https://github.com/atuinsh/atuin/issues/4189))
### Refactor
- *(atuin-common)* Modularize futures::stream with chunked/merge combinators ([#4120](https://github.com/atuinsh/atuin/issues/4120))
- *(atuin-daemon)* Move HistoryId proto message into common.proto ([#4121](https://github.com/atuinsh/atuin/issues/4121))
- *(atuin-daemon)* Restructure output_capture into persistence + engine ([#4125](https://github.com/atuinsh/atuin/issues/4125))
- *(client)* Rename SyncEngine to SyncSession ([#4130](https://github.com/atuinsh/atuin/issues/4130))
- *(daemon)* Replace sync event-bus with a standalone engine ([#4131](https://github.com/atuinsh/atuin/issues/4131))
- *(deps)* Bump DeterminateSystems/update-flake-lock from 28 to 29 ([#4138](https://github.com/atuinsh/atuin/issues/4138))
- *(deps)* Bump DeterminateSystems/nix-installer-action from 22 to 23 ([#4137](https://github.com/atuinsh/atuin/issues/4137))
- *(deps)* Bump eyre from 0.6.12 to 0.6.14 ([#4133](https://github.com/atuinsh/atuin/issues/4133))
- *(deps)* Bump serde_regex from 1.1.0 to 1.2.0 ([#4134](https://github.com/atuinsh/atuin/issues/4134))
- *(deps)* Bump uuid from 1.25.0 to 1.26.1 ([#4135](https://github.com/atuinsh/atuin/issues/4135))
- *(deps)* Bump soupsieve from 2.8.4 to 2.9 in /docs in the uv group across 1 directory ([#4172](https://github.com/atuinsh/atuin/issues/4172))
- *(deps)* Bump atuin-vt100 from 0.19.0 to 0.19.1 ([#4205](https://github.com/atuinsh/atuin/issues/4205))
- *(hooks)* Move agent hook install into atuin-common harnesstools ([#4183](https://github.com/atuinsh/atuin/issues/4183))
### Testing
- *(atuin-common)* Use #[rstest] in place of #[test] ([#4146](https://github.com/atuinsh/atuin/issues/4146))
- Fix flaky empty_history_search_can_be_cancelled e2e test ([#4197](https://github.com/atuinsh/atuin/issues/4197))
### Bug
- Fix transaction lock ([#4152](https://github.com/atuinsh/atuin/issues/4152))
- Deletion state race ([#4180](https://github.com/atuinsh/atuin/issues/4180))
## 18.22.0
### Bug Fixes
Generated
+12 -12
View File
@@ -254,7 +254,7 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]]
name = "atuin"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"ansi-to-tui",
"arboard",
@@ -330,7 +330,7 @@ dependencies = [
[[package]]
name = "atuin-ai"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"async-stream",
"async-trait",
@@ -391,7 +391,7 @@ dependencies = [
[[package]]
name = "atuin-client"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"async-stream",
"async-trait",
@@ -453,7 +453,7 @@ dependencies = [
[[package]]
name = "atuin-common"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"async-stream",
"atuin-vt100",
@@ -508,7 +508,7 @@ dependencies = [
[[package]]
name = "atuin-daemon"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"atuin-client",
"atuin-common",
@@ -554,7 +554,7 @@ dependencies = [
[[package]]
name = "atuin-domain"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"async-trait",
"atuin-common",
@@ -588,7 +588,7 @@ dependencies = [
[[package]]
name = "atuin-dotfiles"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"atuin-client",
"atuin-common",
@@ -606,7 +606,7 @@ dependencies = [
[[package]]
name = "atuin-history"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"atuin-client",
"crossterm",
@@ -621,7 +621,7 @@ dependencies = [
[[package]]
name = "atuin-kv"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"atuin-client",
"atuin-common",
@@ -640,7 +640,7 @@ dependencies = [
[[package]]
name = "atuin-pty-proxy"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"atuin-client",
"atuin-common",
@@ -662,7 +662,7 @@ dependencies = [
[[package]]
name = "atuin-scripts"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"atuin-client",
"atuin-common",
@@ -702,7 +702,7 @@ dependencies = [
[[package]]
name = "atuin-server"
version = "18.22.0"
version = "18.23.0"
dependencies = [
"argon2",
"async-trait",
+12 -12
View File
@@ -4,7 +4,7 @@ members = ["crates/*"]
exclude = ["ui/backend"]
[workspace.package]
version = "18.22.0"
version = "18.23.0"
authors = ["Ellie Huxtable <[email protected]>"]
rust-version = "1.95.0"
license = "MIT"
@@ -13,17 +13,17 @@ repository = "https://github.com/atuinsh/atuin"
readme = "README.md"
[workspace.dependencies]
atuin-ai = { path = "crates/atuin-ai", version = "18.22.0", default-features = false }
atuin-client = { path = "crates/atuin-client", version = "18.22.0" }
atuin-common = { path = "crates/atuin-common", version = "18.22.0" }
atuin-daemon = { path = "crates/atuin-daemon", version = "18.22.0", default-features = false }
atuin-domain = { path = "crates/atuin-domain", version = "18.22.0" }
atuin-dotfiles = { path = "crates/atuin-dotfiles", version = "18.22.0" }
atuin-history = { path = "crates/atuin-history", version = "18.22.0" }
atuin-kv = { path = "crates/atuin-kv", version = "18.22.0" }
atuin-pty-proxy = { path = "crates/atuin-pty-proxy", version = "18.22.0", default-features = false }
atuin-scripts = { path = "crates/atuin-scripts", version = "18.22.0" }
atuin-server = { path = "crates/atuin-server", version = "18.22.0" }
atuin-ai = { path = "crates/atuin-ai", version = "18.23.0", default-features = false }
atuin-client = { path = "crates/atuin-client", version = "18.23.0" }
atuin-common = { path = "crates/atuin-common", version = "18.23.0" }
atuin-daemon = { path = "crates/atuin-daemon", version = "18.23.0", default-features = false }
atuin-domain = { path = "crates/atuin-domain", version = "18.23.0" }
atuin-dotfiles = { path = "crates/atuin-dotfiles", version = "18.23.0" }
atuin-history = { path = "crates/atuin-history", version = "18.23.0" }
atuin-kv = { path = "crates/atuin-kv", version = "18.23.0" }
atuin-pty-proxy = { path = "crates/atuin-pty-proxy", version = "18.23.0", default-features = false }
atuin-scripts = { path = "crates/atuin-scripts", version = "18.23.0" }
atuin-server = { path = "crates/atuin-server", version = "18.23.0" }
atuin-vt100 = "0.19"
ansi-to-tui = { version = "8", default-features = false }
+1 -1
View File
@@ -59,7 +59,7 @@ uuid = { workspace = true }
# TODO(taylordotfish): in Rust 1.99 we can change this to `workspace = true`
atuin-client = {
path = "../atuin-client",
version = "18.22.0",
version = "18.23.0",
default-features = false,
features = ["sync"],
}
+1 -1
View File
@@ -77,7 +77,7 @@ atuin-ai = { workspace = true, optional = true }
# TODO(taylordotfish): in Rust 1.99 we can change this to `workspace = true`
atuin-client = {
path = "../atuin-client",
version = "18.22.0",
version = "18.23.0",
optional = true,
default-features = false,
}