cargo atuin 18.23.0

2 hours ago

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

  • Fix transaction lock (#4152)
  • Deletion state race (#4180)

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 | sh

Install 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/atuin

You 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 | sh

Install 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/atuin

You 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>

Don't miss a new atuin release

NewReleases is sending notifications on new releases.