Release Notes
Bug Fixes
- (common) Sleep before each backoff attempt (#4129)
- (common) Include the cause in the sqlite pool creation error (#4185)
- (docs) Resolve atuin.sh self-hosting link 404 + tidy 404 page (#4194)
- (hook) Accept a string tool_response from codex (#4171)
- (pty-proxy) Resolve zsh --shell to an absolute path with :c (#4097)
- (wrapped) Command Evolution ignoring common_prefix (#4148)
- Clarify migration errors caused by conflicting Atuin versions (#4173)
- Restart the daemon when enabling output capture (#4215)
Documentation
- Remove msrv chip (#4112)
- Slightly more pleasant help UX (#4111)
- Clarify atuin-client vs atuin-common crate placement (#4192)
Features
- (atuin-common) Cross-platform free-space probing for disk limits (#4122)
- (atuin-common) Add HighlightedText type with proto conversion (#4123)
- (atuin-common) Add generic SQLite FTS5 helper (#4124)
- (atuin-daemon) Full-text search index over captured output (#4145)
- (common) Add fs::tree_watcher directory watcher utility (#4188)
- (common) Generic file-tail and jsonl-tail utilities (#4186)
- (common) SqliteObserver for cross-process SQLite change observation (#4195)
- (config) Accept unit-aware durations in config (#4128)
- (harnesstools) Generic AI session-capture interface (#4191)
- (mcp) Add atuin_output_search tool (#4157)
- (search) Allow repeated exit-code filters (#4132)
- Improve
atuin_common::ansi::to_plain_text(#4101) - Full-text search over captured command output (#4126)
- Json and ndjson output styles for
output search(#4158) - AI Session Capture Daemon Interface (#4184)
- Add easy config shortcuts (#4213)
Miscellaneous Tasks
- (atuin-common) Remove eyre in favor of thiserror (#4103)
- (output-capture) Reconcile can no longer crash (#4153)
- Replace daemonize with daemonix (#4099)
- Bump sysinfo to 0.39.6 (#4102)
- Lower MSRV to 1.95 (#4100)
- Remove eyre from atuin-domain (#4107)
- Ban eyre from atuin-history (#4108)
- Remove eyre from atuin-pty-proxy (#4110)
- Less strict versions (#4143)
- Cut build-job time (#4182)
- Give integration-test root-disk headroom + disk telemetry (#4208)
- Sccache + Depot cache for integration-test (#4211)
Performance
- (atuin) Avoid clone on keystroke (#4160)
- (atuin) Avoid per-char String allocation when drawing command cells (#4164)
- (atuin-daemon) Key the output FTS index by rowid (#4151)
- (atuin-daemon) Make the output FTS index contentless (#4154)
- (atuin-daemon) Skip History clone in start_cmd when no tail subscriber (#4165)
- (pty-proxy) Forward stdout via raw fd write instead of buffered LineWriter (#4159)
- (pty-proxy,common) Use memchr for hot byte scans (#4144)
- Make the daemon's large deletes and CI's integration tests fast (#4189)
Refactor
- (atuin-common) Modularize futures::stream with chunked/merge combinators (#4120)
- (atuin-daemon) Move HistoryId proto message into common.proto (#4121)
- (atuin-daemon) Restructure output_capture into persistence + engine (#4125)
- (client) Rename SyncEngine to SyncSession (#4130)
- (daemon) Replace sync event-bus with a standalone engine (#4131)
- (deps) Bump DeterminateSystems/update-flake-lock from 28 to 29 (#4138)
- (deps) Bump DeterminateSystems/nix-installer-action from 22 to 23 (#4137)
- (deps) Bump eyre from 0.6.12 to 0.6.14 (#4133)
- (deps) Bump serde_regex from 1.1.0 to 1.2.0 (#4134)
- (deps) Bump uuid from 1.25.0 to 1.26.1 (#4135)
- (deps) Bump soupsieve from 2.8.4 to 2.9 in /docs in the uv group across 1 directory (#4172)
- (deps) Bump atuin-vt100 from 0.19.0 to 0.19.1 (#4205)
- (hooks) Move agent hook install into atuin-common harnesstools (#4183)
Testing
- (atuin-common) Use #[rstest] in place of #[test] (#4146)
- Fix flaky empty_history_search_can_be_cancelled e2e test (#4197)
Bug
atuin-server 18.23.0
Install atuin-server 18.23.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/atuinsh/atuin/releases/download/v18.23.0/atuin-server-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/atuinsh/atuin/releases/download/v18.23.0/atuin-server-installer.ps1 | iex"Download atuin-server 18.23.0
| File | Platform | Checksum |
|---|---|---|
| atuin-server-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| atuin-server-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| atuin-server-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| atuin-server-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| atuin-server-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| atuin-server-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| atuin-server-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo atuinsh/atuinYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>atuin 18.23.0
Install atuin 18.23.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/atuinsh/atuin/releases/download/v18.23.0/atuin-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/atuinsh/atuin/releases/download/v18.23.0/atuin-installer.ps1 | iex"Download atuin 18.23.0
| File | Platform | Checksum |
|---|---|---|
| atuin-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| atuin-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| atuin-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| atuin-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| atuin-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| atuin-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| atuin-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo atuinsh/atuinYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>