Update dependency atuinsh/atuin to v18.23.0 #19

Open
renovate-bot wants to merge 1 commit from renovate/atuinsh-atuin-18.x into main
Collaborator

This PR contains the following updates:

Package Update Change
atuinsh/atuin minor 18.16.1 → 18.23.0

Release Notes

atuinsh/atuin (atuinsh/atuin)

v18.23.0

Compare Source

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

v18.22.0

Compare Source

Bug Fixes
  • (daemon) Periodically flush captured command output to disk (#​4070)
  • (daemon) Stream large DeleteHistory requests (#​4076)
  • (daemon) Delete captured output when history entries are deleted (#​4074)
  • (nix) Export OpenSSL lib for LD_LIBRARY_PATH in nix devshell (#​4018)
  • (pty-proxy) Make PTY proxy aware of other PTYs (#​4079)
  • (server) Wrap multi-write DB operations in transactions (#​4088)
  • (server) Emit HTTP access logs at INFO and compile in debug tracing (#​4087)
  • (sync) Expand a packfile whose range is a hole below the store head (#​4085)
  • Normalize output of atuin --version (#​4038)
  • Make atuin ai init a no-op instead of erroring (#​4040)
  • Do not try to decrypt plaintext records (#​4057)
  • Behavior of PTY proxy on terminal resizes (#​4061)
  • Build error (#​4094)
Features
  • (daemon) Daemon owns History Deletion (#​4045)
  • (mcp) Make agents actually use the atuin MCP server (#​4050)
  • (pty-proxy) Keep the start and end of command captures that exceed the max size (#​4092)
  • (pty-proxy) Mirror the CWD of the PTY proxy child (#​4091)
  • Implement command capture and remove semantic.rs (#​4048)
  • Simplify semantic captures (#​4065)
  • Store terminal size in command captures (#​4072)
  • Version Stored Output Capture and Avoid PB on disk (#​4068)
  • Redact secrets from captured command output (#​4071)
  • Rework inspector and add output view (#​4090)
  • Add [output_capture] settings (#​4069)
Miscellaneous Tasks
  • (ci) Limit concurrency of workflows on same branch (#​4073)
  • Lift dependencies into top-level Cargo.toml (#​4042)
  • Sort dependencies in Cargo.tomls (#​4046)
  • Enable Clippy cast warnings (#​4049)
  • Temporary workaround for flaky test (#​4083)
  • Emit proptest regression artifacts so CI failures are reproducible (#​4084)
  • Lockfile bumps (#​4089)
  • Don't fail if we can't capture output (#​4086)
  • Link to upstream rustix issue in atuin-pty-proxy (#​4093)
Refactor
  • (daemon) Manage sync inside of the daemon (#​4055)
  • (daemon) Split output capture into fjall and nop backends (#​4082)
  • (deps) Bump mkdocs-material from 9.7.0 to 9.7.7 in /docs in the uv group across 1 directory (#​4059)
  • (deps) Bump vale-cli/vale-action from 2.1.2 to 3.0.0 (#​3887)
  • (deps) Bump rpassword from 7.4.0 to 7.5.0 in the cargo group across 1 directory (#​3877)
  • (history) Make HistoryId a Copy Uuid (#​4013)
  • Clean up the history service and fix minor bugs
Testing
  • (daemon) Adversarial test suites with new daemon (#​4058)
  • E2e pty test harness (#​4075)
  • Filtered commands leave no captured output (#​4081)

v18.21.0

Compare Source

Bug Fixes
  • (daemon) Check for socket in /tmp even when $TMPDIR is set (#​4036)
  • (daemon) Reject invalid pidfile pids before signalling (#​4031)
  • (deps) Update unsound/yanked dependencies (#​4005)
  • (docs) Disambiguate sqlx intra-doc links to functions (#​4007)
  • (server) Connect eagerly to MySQL so a bad db_uri fails fast (#​4032)
  • (sqlite) Prevent stale prepared-statement panic across migrations (#​4006)
Features
  • MySQL for Atuin server (#​3541)
  • Refactor/improve output capturing mechanism (#​4017)
Miscellaneous Tasks
Refactor
  • (deps) Bump shlex from v1 to v2 (#​4024)
  • (server) Merge server database crates into atuin-server (#​4009)
  • (server) Polymorphic database (#​4014)
  • (server) Share SQLite + Postgres Database impls via a blanket impl (#​4015)

v18.20.1

Compare Source

Bug Fixes
  • (client) Bound WAL growth with journal_size_limit + a periodic compactor (#​3994)
  • (docs) Correct sync_frequency default (#​3984)
  • (nu) Use unique keybinding names (#​3975)
  • Correct documented local_timeout default (#​3983)
  • Drop nonexistent session_path and correct path defaults (#​3985)
  • Auto-generate encryption key if it doesn't exist (#​3998)
Features
  • Switch terminal emulation to atuin-vt100 (#​3995)
Miscellaneous Tasks
  • (release) Include all crates in publish order
Refactor
  • (deps) Bump uuid from 1.23.2 to 1.25.0 (#​3886)
  • Remove atuin-lab-share crate (#​3993)

v18.20.0

Compare Source

Bug Fixes
  • (ai) Execute commands from enter in the bash integration (#​3892)
  • (ai) Answer unrecognized tool calls with an error result (#​3893)
  • (bash) Localize "READLINE_{LINE,POINT}" in Bash <= 3.2 (#​3926)
  • (common) Survive wide characters on a one-column screen (#​3876)
  • (docs) Don't say enter_accept defaults to true in example config.toml (#​3865)
  • (history) Don't misclassify users named after an agent as agents (#​3951)
  • (install) Atuin init for bash (#​3919)
  • (nix) Add an RPATH for OpenSSL so the built binary runs (#​3852)
  • (search) Prepare daemon search index in shell init scripts (#​3864)
  • (search) Fall back when daemon-fuzzy fails (#​3895)
  • (search) Don't overflow on a session id with an out-of-range uuid timestamp (#​3965)
  • (sync) Fix off-by-one bugs in sync (#​3913)
  • (wrapped) Panic when every command is in stats.ignored_commands (#​3925)
  • (zsh) Don't clobber RPS1 when wrapping the prompt for OSC 133 (#​3861)
  • 'atuin login' prints 401 failures until authorized (#​3916)
  • Silence hub 401 log spam during installer login (#​3918)
  • Fix panics from vt100::Parser::new (#​3933)
  • Make pty-proxy socket path shorter (#​3991)
Documentation
  • Document rstest/proptest testing conventions in AGENTS.md (#​3942)
Features
  • (common) Add rmp::serde iterator-to-MessagePack helper (#​3897)
  • (daemon) Change default daemon socket path (#​3910)
  • (domain) Add RecordTag string enum (#​3899)
  • (sync) Send the auth token on the capabilities fetch when logged in (#​3974)
  • Add agent hooks for opencode (#​3844)
  • Add devcontainers (#​3871)
  • Setup claude in devcontainers (#​3878)
  • Add windows/powershell highlighting (#​3883)
  • Add turn time and tips to Atuin AI (#​3870)
  • Enable syntax highlighting on illumos (#​3879)
  • Offer account login during install setup (#​3849)
  • Client-side history packfiles (#​3737)
  • Parallel packfile upload/download (#​3944)
  • Eager Key Query (#​3968)
  • Capabilities-driven sync page size (#​3979)
  • Improve powershell highlighting (#​3917)
  • Enable gzip and zstd for reqwest (#​3980)
Miscellaneous Tasks
  • (ai) Remove obsolete atuin ai init command (#​3936)
  • (docker) Install the toolchain pinned by rust-toolchain.toml (#​3963)
  • (lints) Use workspace lints instead of overriding lints in GHA workflow (#​3949)
  • (rustfmt) Update Rustfmt config (#​3945)
  • (tests) Fix flaky pty-proxy test (#​3874)
  • Add profiling to the app (#​3853)
  • Temporarily drop tailscale and atuin (#​3873)
  • Instruct agents to use rstest in AGENTS.md (#​3912)
  • More xdg compliance (#​3932)
  • Remove atuin-nucleo (#​3950)
  • Enable more Clippy lints (#​3953)
  • Update to rust 1.98 (#​3964)
  • Revert changes to atuin-pty-proxy from lab share PR / feat: store pty-proxy sockets in /tmp/atuin-$UID (#​3988)
Performance
  • (sql) Chunked bulk inserts + shared sqlite wrapper (#​3981)
  • (sync) Batch post-sync history indexing into bulk transactions (#​3947)
  • (sync) Parallel record downloads (#​3955)
  • (tracing) OTel export + instrumentation coverage (#​3952)
Refactor
  • (ai/bash) Use existing facility for accept-line (#​3928)
  • (bash) Remove redundant check of existing preexec-backend (#​3927)
  • (caps) CapClient owns its client and warms on construction (#​3898)
  • (client) Own sync_addr via Arc, drop Client lifetime (#​3896)
  • (client) Remove the Database trait in favor of Sqlite (#​3946)
  • (deps) Bump pymdown-extensions from 11.0 to 11.0.1 in /docs in the uv group across 1 directory (#​3875)
  • (domain) Make Record::with_data consume self, add with_data_clone (#​3900)
  • (domain) Make Record.version a RecordVersion enum (#​3903)
  • (domain) Drop the vestigial Host.name field (#​3941)
  • (encryption) Introduce PasetoV4Key newtype for the encryption key (#​3860)
  • (encryption) Move encryption into atuin-common. (#​3863)
  • (record) Name the (host, tag) pair as RecordSeriesKey (#​3961)
  • (sqlx) Use FromRow instead of manual row mapping (#​3958)
  • (sync) Introduce SyncEngine to hold shared sync state (#​3962)
  • Add a CmdOrigin Type (#​3943)
Bug
  • Avoid rare race condition in sync (#​3972)

v18.19.0

Compare Source

Bug Fixes
  • (client) Avoid panic decoding an empty encryption key (#​3803)
  • (client) Keep sqlx-postgres out of the client crate (#​2884) (#​3823)
  • (config) Preserve comments in atuin config set (#​3766)
  • (search) Correct fuzzy result ranking (#​3603) (#​3624)
  • Fix atuin-search-bench/benches/search.rs (#​3788)
  • Close OSC133 C when launching Atuin AI to prevent content erasure (#​3794)
  • Authenticate beta release push as atuin-bot (#​3809)
  • Copy vendored axoasset into docker builder stage (#​3816)
Documentation
  • Clarify update check network, provide build command (#​3767)
  • Remove old i18n docs (#​3787)
  • Use shell-agnostic install command in quickstart pages (#​3820)
  • Document named stats periods (today/week/month/year) (#​3821)
  • State minimum supported Rust version in install guide (#​3822)
  • Document iTerm2 tmux popup incompatibility (#​3826)
  • Clarify key binding snippets belong in shell startup file (#​3837)
  • Mention RustRover in IDE integration guidance (#​3834)
Features
  • (client) Show intent in inspector (#​3804)
  • (client) Enable pty-proxy via config (#​3828)
  • (config) Validate new settings in atuin config set before writing them to disk (#​3769)
  • (lab) Experimental atuin lab share
  • (search) Remove the "skim" engine (#​3825)
  • Remove word with ALT-Backspace ALT-D (#​2457)
  • Add scheduled beta release workflow (#​3805)
  • Migrate TLS backend from rustls to native-tls (#​3807)
  • Make update a real subcommand (#​3813)
  • Capability negotiation protocol (client + server) (#​3797)
Miscellaneous Tasks
  • (ci) Fix package step (#​3770)
  • Remove Store trait (#​3779)
  • Daemon search benchmark (divan + CodSpeed) (#​3763)
  • Run CodSpeed benchmarks on macro runners in walltime mode (#​3786)
  • Add OrFilter as a replacement for Vecs as filter lists (#​3768)
  • Add atuin-domain crate for shared domain types (#​3790)
  • Run CodSpeed walltime benchmarks on depot-macos-26 (#​3791)
  • Fix deny.toml and get it to run in CI (#​3808)
  • Remove codspeed workflow (#​3812)
  • Richer logging for atuin-server (#​2564)
  • Hide --active sharing (#​3846)
Refactor
  • (deps) Bump thiserror from 2.0.18 to 2.0.19 (#​3839)
  • (deps) Bump strum_macros from 0.27.2 to 0.28.0 (#​3841)
  • (deps) Bump tonic-types from 0.14.5 to 0.14.6 (#​3842)
  • (deps) Bump pulldown-cmark from 0.13.3 to 0.13.4 (#​3840)
  • (deps) Bump itertools from 0.14.0 to 0.15.0 (#​3838)
  • Adopt enum_dispatch for enum trait delegation (#​3806)
Testing
  • Adopt rstest across the workspace test suite (#​3785)
Daemon
  • Replace nucleo with frizbee, rank by match quality with frecency tiebreak (#​3782)

v18.18.1

Compare Source

Bug Fixes
  • (crates.io) Fix installation from crates.io (#​3764)
Refactor
  • (daemon) Drop fs4, use std::fs file locking (#​3753)

v18.18.0

Compare Source

Bug Fixes
  • (daemon) Index synced history directly instead of malformed SQL (#​3627) (#​3641)
  • (deps) Update unsound/vulnerable dependencies in Cargo.lock (#​3632)
  • (docs) Repair every stale link in the repo (#​3727)
  • (docs) Make the incorrect-decrypt-key error actionable (#​3609)
  • (hook) Drop agent commands containing NUL bytes via NonNulStr (#​3589) (#​3660)
  • (import) Survive corrupt entries instead of aborting the import (#​3721)
  • (init) Fix include guard in Bash init script; chore(init): improve inclusion of shell init scripts in Rust (#​3645)
  • (install) Make /dev/tty authoritative for interactivity detection (#​3691)
  • (search) Add DbSearchMode; correctly fall back to "fuzzy" in non-interactive searches (#​3744)
  • (ui) Calculate preview height based on command display width instead of byte count (#​3678)
  • (win32) Cargo-binstall package metadata (#​3673)
  • Search functionality to respect character offsets and non-ASCII (#​3659)
  • Quote argument-hint YAML values so Copilot CLI ≥1.0.65 loads all skills (#​3613) (#​3614)
  • Correct grammar in 'history last' help text (#​3430)
  • Work around rust nightly warning on eyre bail (#​3680)
  • Improve non-interactive TTY detection in install.sh (#​3315)
  • Add /model hint to status bar (#​3687)
  • Set correct umask for pty-proxy (#​3700)
  • Atuin AI not erasing the input box before closing (#​3715)
  • Show server status next to AI progress indicator (#​3723)
  • Show full command when using AtuinOutput tool (#​3725)
Documentation
  • (ai) Add self hosting + slash command docs (#​3623)
  • (config) Standardize TOML examples for config options (#​3441)
  • Advise users to pass --locked when installing from Cargo (#​3630)
  • Add docs for store_failed and default for enter_accept (#​2696)
  • Serve docs.atuin.sh from this repo; remove Desktop docs (#​3684)
  • Version docs.atuin.sh with mike (per-release + main) (#​3688)
  • Hotfix bad path (#​3690)
  • Document built-in bash-preexec (#​3651)
  • Retheme docs.atuin.sh to the Atuin brand (#​3701)
  • Bundle of improvements (#​3716)
  • Remove ugly cards on landing page (#​3724)
  • Fix broken README links (#​3696)
  • Lint prose with Vale and gate it in CI (#​3726)
  • Slightly nicer default config.toml order (#​2485)
  • Kubernetes self-hosting documentation (#​3238)
  • Add canonical Supported platforms page (#​3736)
  • Add friendly hover tips for new terms (#​3740)
  • Clarify how to uninstall shell integration (#​3741)
Features
  • (ai) Up/down to scroll through previously sent messages (#​3720)
  • (bash) Bundle bash-preexec with Atuin; automatically load if no other preexec backend is loaded (#​3650)
  • (search) Add --shell option to atuin search to filter results by shell (#​3658)
  • (search) Syntax highlight commands in interactive search (#​3704)
  • (search) Filter by shell in interactive search (#​3692)
  • (string) EllipsizeExt -- General-purpose utility for adding ellipses to strings (#​3639)
  • Add 'yolo' setting to Atuin AI options (#​3637)
  • Add shell field to history entries (#​3636)
  • Add hickory-dns resolver for musl target to improve DNS resolution (#​3647)
  • Add atuin stats --filter-mode (#​1737)
  • More aggressive optimizations for dist release (#​3683)
  • Capture zsh comments as history (#​3699)
  • Allow injecting extra HTTP headers on sync server requests (#​3718)
Miscellaneous Tasks
  • (atuin-common) Add ellipsize_or_pad for unicode pad (#​3663)
  • (ci) Bump GitHub Actions to latest versions (#​3689)
  • (ci) Lint tests & docs in CI (#​3746)
  • (clap) Simplify clap field types and fix help message formatting (#​3640)
  • (logging) Refactor logging (#​3622)
  • (release-skill) Time label-gated PR merges around the release (#​3654)
  • Remove fossier (#​3629)
  • Trigger docs repo deploy (#​3631)
  • Remove redundant test (#​3635)
  • Add .editorconfig and .nvim.lua (#​3648)
  • Clean up WordJumper in atuin/src/command/client/search/cursor.rs (#​3662)
  • Don't panic if clipboard cannot be accessed (#​2648)
  • Update some dependency versions (#​3666)
  • Update sqlx to v9 (#​3668)
  • Follow-up on #​1737 (#​3649)
  • Update Atuin AI to eye-declare v0.6.1 (#​3686)
  • Remove docs-dispatch (#​3694)
  • Docker healtcheck (#​2451)
  • Run windows jobs on depot-windows-2025-16 (#​3711)
  • Hotfix script (#​3714)
  • Update flake.nix (#​3509)
  • Add Timezone and restart policy for postgres backup docker (#​3083)
  • Add riscv64 to release targets (#​3339)
  • Build x86_64-apple-darwin on Depot M4 macs; move all macOS CI to Depot (#​3742)
Performance
  • Do not block counting history (#​3729)
  • Actually delete history rows, and index active history (#​3730)
  • Index filtered history search, record store tags, and cache inspector stats (#​3731)
Refactor
  • (hook) Typed protocol for agent hook events (#​3638)
  • (render) Slightly nicer and more correct non-printable escaping (#​3633)
  • (sync) Remove deprecated V1 sync protocol (#​3634)
  • Use typed Url instead of hand-built string URLs (#​3644)
  • Extract shared vt100 logic into atuin-common (#​3664)
Styling
  • Improve Atuin AI TUI styles (#​3710)
Testing
  • Parametrize tests with rstest across 8 crates (#​3653)
Bug

v18.17.1

Compare Source

Bug Fixes
  • (ai) Default to non-Hub mode for custom AI endpoints (#​3620)
  • (import) Fix order of entries imported from zsh history (#​3597)
  • (import) Fix import order of nushell history entries (#​3598)
  • Various prefix mode bugs (#​3616)
Documentation
  • Document output capture and mcp (#​3595)
Features
  • (tui) Truncate long commands from middle to show start...end (#​3602)
Miscellaneous Tasks
  • (logging) Remove the log crate in favor of tracing (#​3608)
  • Update to rust 1.97 (#​3617)

v18.17.0

Compare Source

Bug Fixes
  • (ai) Dispatch skills registered in the slash command registry (#​3593)
  • (ci) Fossier install in scan workflow (#​3485)
  • (i18n) Fix typos in Russian localization (#​3575)
  • (nu) Use char -u 1b for ESC in OSC 133 sequences (#​3530)
  • (nu) Suppress error when ATUIN_HISTORY_ID is missing in pre_prompt hook (#​3587)
  • (pi) Observe tool events instead of registering a bash tool (#​3557)
  • (pty-proxy) Set $SHELL to the spawned shell (#​3548)
  • (search) Fix terminal clearing with latest Ratatui (#​3578)
  • (sync) Skip records that fail to decrypt or decode instead of failing the whole store (#​3569)
  • Atuin hangs when attempting to spawn daemon from Ctrl+R invocation (#​3502)
  • Capture session ID from stream headers rather than final event (#​3531)
  • Doctor resiliency fo runknown platforms + openbsd warning (#​3551)
  • Double input on arrow keys in AI setup prompt on Windows (#​3552)
  • Exclude AI agent commands from zsh-autosuggestions (#​3567)
  • Silence shellcheck SC2016 on literal $all-user author filter
  • Respect store_failed when using daemon (#​3571)
Documentation
  • Highlight Ctrl-r keybinding on docs page (#​3489)
  • Document store purge workflow (#​3544)
  • Fix command example typo in documentation (#​3536)
  • Make commented-out lines in config.toml match real defaults (#​3583)
  • Add fish shell cleanup step to uninstall instructions (#​3582)
Features
  • (doctor) Add whether daemon is enabled to doctor output (#​3572)
  • (pty-proxy) Add --shell flag to override the spawned shell (#​3327)
  • Setup fossier to stop bot slop prs (#​3482)
  • Capture command output + expose to new atuin_output tool (#​3510)
  • Cache user contexts on load until /reload (#​3525)
  • Create database integration tests for atuin-server (#​3514)
  • Add /model slash command for changing models (#​3576)
  • Add mcp server for history tools and expand search filters (#​3581)
  • Add status bar with model and usage information (#​3591)
Miscellaneous Tasks
  • (rustdoc) Fix Rustdoc warnings (#​3585)
  • (warnings) Fix compile warnings with latest dependencies (#​3586)
  • Vouch for all existing contributors (#​3486)
  • Update GitHub app token format
  • Update to Rust 1.96.1 (#​3568)
  • Adopt derive_more to reduce boilerplate across the codebase (#​3573)
Performance
  • (search) Scan history by recency until N unique (#​3553)
  • Add synchronous(Normal) + optimize_on_close to record store SQLite (#​3577)
  • Remove unnecessary clones in a hot path (#​3580)
Refactor
  • Implement From<sqlx::Error> and clean up fix_error (#​3484)
  • Pull fn into_utc into atuin-server-database crate (#​3487)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [atuinsh/atuin](https://github.com/atuinsh/atuin) | minor | `18.16.1` → `18.23.0` | --- ### Release Notes <details> <summary>atuinsh/atuin (atuinsh/atuin)</summary> ### [`v18.23.0`](https://github.com/atuinsh/atuin/blob/HEAD/CHANGELOG.md#18230) [Compare Source](https://github.com/atuinsh/atuin/compare/v18.22.0...v18.23.0) ##### Bug Fixes - *(common)* Sleep before each backoff attempt ([#&#8203;4129](https://github.com/atuinsh/atuin/issues/4129)) - *(common)* Include the cause in the sqlite pool creation error ([#&#8203;4185](https://github.com/atuinsh/atuin/issues/4185)) - *(docs)* Resolve atuin.sh self-hosting link 404 + tidy 404 page ([#&#8203;4194](https://github.com/atuinsh/atuin/issues/4194)) - *(hook)* Accept a string tool\_response from codex ([#&#8203;4171](https://github.com/atuinsh/atuin/issues/4171)) - *(pty-proxy)* Resolve zsh --shell to an absolute path with :c ([#&#8203;4097](https://github.com/atuinsh/atuin/issues/4097)) - *(wrapped)* Command Evolution ignoring common\_prefix ([#&#8203;4148](https://github.com/atuinsh/atuin/issues/4148)) - Clarify migration errors caused by conflicting Atuin versions ([#&#8203;4173](https://github.com/atuinsh/atuin/issues/4173)) - Restart the daemon when enabling output capture ([#&#8203;4215](https://github.com/atuinsh/atuin/issues/4215)) ##### Documentation - Remove msrv chip ([#&#8203;4112](https://github.com/atuinsh/atuin/issues/4112)) - Slightly more pleasant help UX ([#&#8203;4111](https://github.com/atuinsh/atuin/issues/4111)) - Clarify atuin-client vs atuin-common crate placement ([#&#8203;4192](https://github.com/atuinsh/atuin/issues/4192)) ##### Features - *(atuin-common)* Cross-platform free-space probing for disk limits ([#&#8203;4122](https://github.com/atuinsh/atuin/issues/4122)) - *(atuin-common)* Add HighlightedText type with proto conversion ([#&#8203;4123](https://github.com/atuinsh/atuin/issues/4123)) - *(atuin-common)* Add generic SQLite FTS5 helper ([#&#8203;4124](https://github.com/atuinsh/atuin/issues/4124)) - *(atuin-daemon)* Full-text search index over captured output ([#&#8203;4145](https://github.com/atuinsh/atuin/issues/4145)) - *(common)* Add fs::tree\_watcher directory watcher utility ([#&#8203;4188](https://github.com/atuinsh/atuin/issues/4188)) - *(common)* Generic file-tail and jsonl-tail utilities ([#&#8203;4186](https://github.com/atuinsh/atuin/issues/4186)) - *(common)* SqliteObserver for cross-process SQLite change observation ([#&#8203;4195](https://github.com/atuinsh/atuin/issues/4195)) - *(config)* Accept unit-aware durations in config ([#&#8203;4128](https://github.com/atuinsh/atuin/issues/4128)) - *(harnesstools)* Generic AI session-capture interface ([#&#8203;4191](https://github.com/atuinsh/atuin/issues/4191)) - *(mcp)* Add atuin\_output\_search tool ([#&#8203;4157](https://github.com/atuinsh/atuin/issues/4157)) - *(search)* Allow repeated exit-code filters ([#&#8203;4132](https://github.com/atuinsh/atuin/issues/4132)) - Improve `atuin_common::ansi::to_plain_text` ([#&#8203;4101](https://github.com/atuinsh/atuin/issues/4101)) - Full-text search over captured command output ([#&#8203;4126](https://github.com/atuinsh/atuin/issues/4126)) - Json and ndjson output styles for `output search` ([#&#8203;4158](https://github.com/atuinsh/atuin/issues/4158)) - AI Session Capture Daemon Interface ([#&#8203;4184](https://github.com/atuinsh/atuin/issues/4184)) - Add easy config shortcuts ([#&#8203;4213](https://github.com/atuinsh/atuin/issues/4213)) ##### Miscellaneous Tasks - *(atuin-common)* Remove eyre in favor of thiserror ([#&#8203;4103](https://github.com/atuinsh/atuin/issues/4103)) - *(output-capture)* Reconcile can no longer crash ([#&#8203;4153](https://github.com/atuinsh/atuin/issues/4153)) - Replace daemonize with daemonix ([#&#8203;4099](https://github.com/atuinsh/atuin/issues/4099)) - Bump sysinfo to 0.39.6 ([#&#8203;4102](https://github.com/atuinsh/atuin/issues/4102)) - Lower MSRV to 1.95 ([#&#8203;4100](https://github.com/atuinsh/atuin/issues/4100)) - Remove eyre from atuin-domain ([#&#8203;4107](https://github.com/atuinsh/atuin/issues/4107)) - Ban eyre from atuin-history ([#&#8203;4108](https://github.com/atuinsh/atuin/issues/4108)) - Remove eyre from atuin-pty-proxy ([#&#8203;4110](https://github.com/atuinsh/atuin/issues/4110)) - Less strict versions ([#&#8203;4143](https://github.com/atuinsh/atuin/issues/4143)) - Cut build-job time ([#&#8203;4182](https://github.com/atuinsh/atuin/issues/4182)) - Give integration-test root-disk headroom + disk telemetry ([#&#8203;4208](https://github.com/atuinsh/atuin/issues/4208)) - Sccache + Depot cache for integration-test ([#&#8203;4211](https://github.com/atuinsh/atuin/issues/4211)) ##### Performance - *(atuin)* Avoid clone on keystroke ([#&#8203;4160](https://github.com/atuinsh/atuin/issues/4160)) - *(atuin)* Avoid per-char String allocation when drawing command cells ([#&#8203;4164](https://github.com/atuinsh/atuin/issues/4164)) - *(atuin-daemon)* Key the output FTS index by rowid ([#&#8203;4151](https://github.com/atuinsh/atuin/issues/4151)) - *(atuin-daemon)* Make the output FTS index contentless ([#&#8203;4154](https://github.com/atuinsh/atuin/issues/4154)) - *(atuin-daemon)* Skip History clone in start\_cmd when no tail subscriber ([#&#8203;4165](https://github.com/atuinsh/atuin/issues/4165)) - *(pty-proxy)* Forward stdout via raw fd write instead of buffered LineWriter ([#&#8203;4159](https://github.com/atuinsh/atuin/issues/4159)) - *(pty-proxy,common)* Use memchr for hot byte scans ([#&#8203;4144](https://github.com/atuinsh/atuin/issues/4144)) - Make the daemon's large deletes and CI's integration tests fast ([#&#8203;4189](https://github.com/atuinsh/atuin/issues/4189)) ##### Refactor - *(atuin-common)* Modularize futures::stream with chunked/merge combinators ([#&#8203;4120](https://github.com/atuinsh/atuin/issues/4120)) - *(atuin-daemon)* Move HistoryId proto message into common.proto ([#&#8203;4121](https://github.com/atuinsh/atuin/issues/4121)) - *(atuin-daemon)* Restructure output\_capture into persistence + engine ([#&#8203;4125](https://github.com/atuinsh/atuin/issues/4125)) - *(client)* Rename SyncEngine to SyncSession ([#&#8203;4130](https://github.com/atuinsh/atuin/issues/4130)) - *(daemon)* Replace sync event-bus with a standalone engine ([#&#8203;4131](https://github.com/atuinsh/atuin/issues/4131)) - *(deps)* Bump DeterminateSystems/update-flake-lock from 28 to 29 ([#&#8203;4138](https://github.com/atuinsh/atuin/issues/4138)) - *(deps)* Bump DeterminateSystems/nix-installer-action from 22 to 23 ([#&#8203;4137](https://github.com/atuinsh/atuin/issues/4137)) - *(deps)* Bump eyre from 0.6.12 to 0.6.14 ([#&#8203;4133](https://github.com/atuinsh/atuin/issues/4133)) - *(deps)* Bump serde\_regex from 1.1.0 to 1.2.0 ([#&#8203;4134](https://github.com/atuinsh/atuin/issues/4134)) - *(deps)* Bump uuid from 1.25.0 to 1.26.1 ([#&#8203;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 ([#&#8203;4172](https://github.com/atuinsh/atuin/issues/4172)) - *(deps)* Bump atuin-vt100 from 0.19.0 to 0.19.1 ([#&#8203;4205](https://github.com/atuinsh/atuin/issues/4205)) - *(hooks)* Move agent hook install into atuin-common harnesstools ([#&#8203;4183](https://github.com/atuinsh/atuin/issues/4183)) ##### Testing - *(atuin-common)* Use #\[rstest] in place of #\[test] ([#&#8203;4146](https://github.com/atuinsh/atuin/issues/4146)) - Fix flaky empty\_history\_search\_can\_be\_cancelled e2e test ([#&#8203;4197](https://github.com/atuinsh/atuin/issues/4197)) ##### Bug - Fix transaction lock ([#&#8203;4152](https://github.com/atuinsh/atuin/issues/4152)) - Deletion state race ([#&#8203;4180](https://github.com/atuinsh/atuin/issues/4180)) ### [`v18.22.0`](https://github.com/atuinsh/atuin/blob/HEAD/CHANGELOG.md#18220) [Compare Source](https://github.com/atuinsh/atuin/compare/v18.21.0...v18.22.0) ##### Bug Fixes - *(daemon)* Periodically flush captured command output to disk ([#&#8203;4070](https://github.com/atuinsh/atuin/issues/4070)) - *(daemon)* Stream large DeleteHistory requests ([#&#8203;4076](https://github.com/atuinsh/atuin/issues/4076)) - *(daemon)* Delete captured output when history entries are deleted ([#&#8203;4074](https://github.com/atuinsh/atuin/issues/4074)) - *(nix)* Export OpenSSL lib for LD\_LIBRARY\_PATH in nix devshell ([#&#8203;4018](https://github.com/atuinsh/atuin/issues/4018)) - *(pty-proxy)* Make PTY proxy aware of other PTYs ([#&#8203;4079](https://github.com/atuinsh/atuin/issues/4079)) - *(server)* Wrap multi-write DB operations in transactions ([#&#8203;4088](https://github.com/atuinsh/atuin/issues/4088)) - *(server)* Emit HTTP access logs at INFO and compile in debug tracing ([#&#8203;4087](https://github.com/atuinsh/atuin/issues/4087)) - *(sync)* Expand a packfile whose range is a hole below the store head ([#&#8203;4085](https://github.com/atuinsh/atuin/issues/4085)) - Normalize output of `atuin --version` ([#&#8203;4038](https://github.com/atuinsh/atuin/issues/4038)) - Make `atuin ai init` a no-op instead of erroring ([#&#8203;4040](https://github.com/atuinsh/atuin/issues/4040)) - Do not try to decrypt plaintext records ([#&#8203;4057](https://github.com/atuinsh/atuin/issues/4057)) - Behavior of PTY proxy on terminal resizes ([#&#8203;4061](https://github.com/atuinsh/atuin/issues/4061)) - Build error ([#&#8203;4094](https://github.com/atuinsh/atuin/issues/4094)) ##### Features - *(daemon)* Daemon owns History Deletion ([#&#8203;4045](https://github.com/atuinsh/atuin/issues/4045)) - *(mcp)* Make agents actually use the atuin MCP server ([#&#8203;4050](https://github.com/atuinsh/atuin/issues/4050)) - *(pty-proxy)* Keep the start and end of command captures that exceed the max size ([#&#8203;4092](https://github.com/atuinsh/atuin/issues/4092)) - *(pty-proxy)* Mirror the CWD of the PTY proxy child ([#&#8203;4091](https://github.com/atuinsh/atuin/issues/4091)) - Implement command capture and remove semantic.rs ([#&#8203;4048](https://github.com/atuinsh/atuin/issues/4048)) - Simplify semantic captures ([#&#8203;4065](https://github.com/atuinsh/atuin/issues/4065)) - Store terminal size in command captures ([#&#8203;4072](https://github.com/atuinsh/atuin/issues/4072)) - Version Stored Output Capture and Avoid PB on disk ([#&#8203;4068](https://github.com/atuinsh/atuin/issues/4068)) - Redact secrets from captured command output ([#&#8203;4071](https://github.com/atuinsh/atuin/issues/4071)) - Rework inspector and add output view ([#&#8203;4090](https://github.com/atuinsh/atuin/issues/4090)) - Add \[output\_capture] settings ([#&#8203;4069](https://github.com/atuinsh/atuin/issues/4069)) ##### Miscellaneous Tasks - *(ci)* Limit concurrency of workflows on same branch ([#&#8203;4073](https://github.com/atuinsh/atuin/issues/4073)) - Lift dependencies into top-level Cargo.toml ([#&#8203;4042](https://github.com/atuinsh/atuin/issues/4042)) - Sort dependencies in `Cargo.toml`s ([#&#8203;4046](https://github.com/atuinsh/atuin/issues/4046)) - Enable Clippy cast warnings ([#&#8203;4049](https://github.com/atuinsh/atuin/issues/4049)) - Temporary workaround for flaky test ([#&#8203;4083](https://github.com/atuinsh/atuin/issues/4083)) - Emit proptest regression artifacts so CI failures are reproducible ([#&#8203;4084](https://github.com/atuinsh/atuin/issues/4084)) - Lockfile bumps ([#&#8203;4089](https://github.com/atuinsh/atuin/issues/4089)) - Don't fail if we can't capture output ([#&#8203;4086](https://github.com/atuinsh/atuin/issues/4086)) - Link to upstream rustix issue in atuin-pty-proxy ([#&#8203;4093](https://github.com/atuinsh/atuin/issues/4093)) ##### Refactor - *(daemon)* Manage sync inside of the daemon ([#&#8203;4055](https://github.com/atuinsh/atuin/issues/4055)) - *(daemon)* Split output capture into fjall and nop backends ([#&#8203;4082](https://github.com/atuinsh/atuin/issues/4082)) - *(deps)* Bump mkdocs-material from 9.7.0 to 9.7.7 in /docs in the uv group across 1 directory ([#&#8203;4059](https://github.com/atuinsh/atuin/issues/4059)) - *(deps)* Bump vale-cli/vale-action from 2.1.2 to 3.0.0 ([#&#8203;3887](https://github.com/atuinsh/atuin/issues/3887)) - *(deps)* Bump rpassword from 7.4.0 to 7.5.0 in the cargo group across 1 directory ([#&#8203;3877](https://github.com/atuinsh/atuin/issues/3877)) - *(history)* Make HistoryId a Copy Uuid ([#&#8203;4013](https://github.com/atuinsh/atuin/issues/4013)) - Clean up the history service and fix minor bugs ##### Testing - *(daemon)* Adversarial test suites with new daemon ([#&#8203;4058](https://github.com/atuinsh/atuin/issues/4058)) - E2e pty test harness ([#&#8203;4075](https://github.com/atuinsh/atuin/issues/4075)) - Filtered commands leave no captured output ([#&#8203;4081](https://github.com/atuinsh/atuin/issues/4081)) ### [`v18.21.0`](https://github.com/atuinsh/atuin/blob/HEAD/CHANGELOG.md#18210) [Compare Source](https://github.com/atuinsh/atuin/compare/v18.20.1...v18.21.0) ##### Bug Fixes - *(daemon)* Check for socket in `/tmp` even when `$TMPDIR` is set ([#&#8203;4036](https://github.com/atuinsh/atuin/issues/4036)) - *(daemon)* Reject invalid pidfile pids before signalling ([#&#8203;4031](https://github.com/atuinsh/atuin/issues/4031)) - *(deps)* Update unsound/yanked dependencies ([#&#8203;4005](https://github.com/atuinsh/atuin/issues/4005)) - *(docs)* Disambiguate sqlx intra-doc links to functions ([#&#8203;4007](https://github.com/atuinsh/atuin/issues/4007)) - *(server)* Connect eagerly to MySQL so a bad db\_uri fails fast ([#&#8203;4032](https://github.com/atuinsh/atuin/issues/4032)) - *(sqlite)* Prevent stale prepared-statement panic across migrations ([#&#8203;4006](https://github.com/atuinsh/atuin/issues/4006)) ##### Features - MySQL for Atuin server ([#&#8203;3541](https://github.com/atuinsh/atuin/pull/3541)) - Refactor/improve output capturing mechanism ([#&#8203;4017](https://github.com/atuinsh/atuin/issues/4017)) ##### Miscellaneous Tasks - Enable more clippy checks ([#&#8203;3997](https://github.com/atuinsh/atuin/issues/3997), [#&#8203;4008](https://github.com/atuinsh/atuin/issues/4008), [#&#8203;4011](https://github.com/atuinsh/atuin/issues/4011)) ##### Refactor - *(deps)* Bump shlex from v1 to v2 ([#&#8203;4024](https://github.com/atuinsh/atuin/issues/4024)) - *(server)* Merge server database crates into atuin-server ([#&#8203;4009](https://github.com/atuinsh/atuin/issues/4009)) - *(server)* Polymorphic database ([#&#8203;4014](https://github.com/atuinsh/atuin/issues/4014)) - *(server)* Share SQLite + Postgres Database impls via a blanket impl ([#&#8203;4015](https://github.com/atuinsh/atuin/issues/4015)) ### [`v18.20.1`](https://github.com/atuinsh/atuin/blob/HEAD/CHANGELOG.md#18201) [Compare Source](https://github.com/atuinsh/atuin/compare/v18.20.0-beta.3...v18.20.1) ##### Bug Fixes - *(client)* Bound WAL growth with journal\_size\_limit + a periodic compactor ([#&#8203;3994](https://github.com/atuinsh/atuin/issues/3994)) - *(docs)* Correct sync\_frequency default ([#&#8203;3984](https://github.com/atuinsh/atuin/issues/3984)) - *(nu)* Use unique keybinding names ([#&#8203;3975](https://github.com/atuinsh/atuin/issues/3975)) - Correct documented local\_timeout default ([#&#8203;3983](https://github.com/atuinsh/atuin/issues/3983)) - Drop nonexistent session\_path and correct path defaults ([#&#8203;3985](https://github.com/atuinsh/atuin/issues/3985)) - Auto-generate encryption key if it doesn't exist ([#&#8203;3998](https://github.com/atuinsh/atuin/issues/3998)) ##### Features - Switch terminal emulation to `atuin-vt100` ([#&#8203;3995](https://github.com/atuinsh/atuin/issues/3995)) ##### Miscellaneous Tasks - *(release)* Include all crates in publish order ##### Refactor - *(deps)* Bump uuid from 1.23.2 to 1.25.0 ([#&#8203;3886](https://github.com/atuinsh/atuin/issues/3886)) - Remove atuin-lab-share crate ([#&#8203;3993](https://github.com/atuinsh/atuin/issues/3993)) ### [`v18.20.0`](https://github.com/atuinsh/atuin/blob/HEAD/CHANGELOG.md#18200) [Compare Source](https://github.com/atuinsh/atuin/compare/v18.19.0-beta.3...v18.20.0-beta.3) ##### Bug Fixes - *(ai)* Execute commands from enter in the bash integration ([#&#8203;3892](https://github.com/atuinsh/atuin/issues/3892)) - *(ai)* Answer unrecognized tool calls with an error result ([#&#8203;3893](https://github.com/atuinsh/atuin/issues/3893)) - *(bash)* Localize "READLINE\_{LINE,POINT}" in Bash <= 3.2 ([#&#8203;3926](https://github.com/atuinsh/atuin/issues/3926)) - *(common)* Survive wide characters on a one-column screen ([#&#8203;3876](https://github.com/atuinsh/atuin/issues/3876)) - *(docs)* Don't say `enter_accept` defaults to true in example config.toml ([#&#8203;3865](https://github.com/atuinsh/atuin/issues/3865)) - *(history)* Don't misclassify users named after an agent as agents ([#&#8203;3951](https://github.com/atuinsh/atuin/issues/3951)) - *(install)* Atuin init for bash ([#&#8203;3919](https://github.com/atuinsh/atuin/issues/3919)) - *(nix)* Add an RPATH for OpenSSL so the built binary runs ([#&#8203;3852](https://github.com/atuinsh/atuin/issues/3852)) - *(search)* Prepare daemon search index in shell init scripts ([#&#8203;3864](https://github.com/atuinsh/atuin/issues/3864)) - *(search)* Fall back when daemon-fuzzy fails ([#&#8203;3895](https://github.com/atuinsh/atuin/issues/3895)) - *(search)* Don't overflow on a session id with an out-of-range uuid timestamp ([#&#8203;3965](https://github.com/atuinsh/atuin/issues/3965)) - *(sync)* Fix off-by-one bugs in sync ([#&#8203;3913](https://github.com/atuinsh/atuin/issues/3913)) - *(wrapped)* Panic when every command is in stats.ignored\_commands ([#&#8203;3925](https://github.com/atuinsh/atuin/issues/3925)) - *(zsh)* Don't clobber RPS1 when wrapping the prompt for OSC 133 ([#&#8203;3861](https://github.com/atuinsh/atuin/issues/3861)) - 'atuin login' prints 401 failures until authorized ([#&#8203;3916](https://github.com/atuinsh/atuin/issues/3916)) - Silence hub 401 log spam during installer login ([#&#8203;3918](https://github.com/atuinsh/atuin/issues/3918)) - Fix panics from `vt100::Parser::new` ([#&#8203;3933](https://github.com/atuinsh/atuin/issues/3933)) - Make pty-proxy socket path shorter ([#&#8203;3991](https://github.com/atuinsh/atuin/issues/3991)) ##### Documentation - Document rstest/proptest testing conventions in AGENTS.md ([#&#8203;3942](https://github.com/atuinsh/atuin/issues/3942)) ##### Features - *(common)* Add rmp::serde iterator-to-MessagePack helper ([#&#8203;3897](https://github.com/atuinsh/atuin/issues/3897)) - *(daemon)* Change default daemon socket path ([#&#8203;3910](https://github.com/atuinsh/atuin/issues/3910)) - *(domain)* Add RecordTag string enum ([#&#8203;3899](https://github.com/atuinsh/atuin/issues/3899)) - *(sync)* Send the auth token on the capabilities fetch when logged in ([#&#8203;3974](https://github.com/atuinsh/atuin/issues/3974)) - Add agent hooks for opencode ([#&#8203;3844](https://github.com/atuinsh/atuin/issues/3844)) - Add devcontainers ([#&#8203;3871](https://github.com/atuinsh/atuin/issues/3871)) - Setup claude in devcontainers ([#&#8203;3878](https://github.com/atuinsh/atuin/issues/3878)) - Add windows/powershell highlighting ([#&#8203;3883](https://github.com/atuinsh/atuin/issues/3883)) - Add turn time and tips to Atuin AI ([#&#8203;3870](https://github.com/atuinsh/atuin/issues/3870)) - Enable syntax highlighting on illumos ([#&#8203;3879](https://github.com/atuinsh/atuin/issues/3879)) - Offer account login during install setup ([#&#8203;3849](https://github.com/atuinsh/atuin/issues/3849)) - Client-side history packfiles ([#&#8203;3737](https://github.com/atuinsh/atuin/issues/3737)) - Parallel packfile upload/download ([#&#8203;3944](https://github.com/atuinsh/atuin/issues/3944)) - Eager Key Query ([#&#8203;3968](https://github.com/atuinsh/atuin/issues/3968)) - Capabilities-driven sync page size ([#&#8203;3979](https://github.com/atuinsh/atuin/issues/3979)) - Improve powershell highlighting ([#&#8203;3917](https://github.com/atuinsh/atuin/issues/3917)) - Enable gzip and zstd for reqwest ([#&#8203;3980](https://github.com/atuinsh/atuin/issues/3980)) ##### Miscellaneous Tasks - *(ai)* Remove obsolete `atuin ai init` command ([#&#8203;3936](https://github.com/atuinsh/atuin/issues/3936)) - *(docker)* Install the toolchain pinned by rust-toolchain.toml ([#&#8203;3963](https://github.com/atuinsh/atuin/issues/3963)) - *(lints)* Use workspace lints instead of overriding lints in GHA workflow ([#&#8203;3949](https://github.com/atuinsh/atuin/issues/3949)) - *(rustfmt)* Update Rustfmt config ([#&#8203;3945](https://github.com/atuinsh/atuin/issues/3945)) - *(tests)* Fix flaky pty-proxy test ([#&#8203;3874](https://github.com/atuinsh/atuin/issues/3874)) - Add profiling to the app ([#&#8203;3853](https://github.com/atuinsh/atuin/issues/3853)) - Temporarily drop tailscale and atuin ([#&#8203;3873](https://github.com/atuinsh/atuin/issues/3873)) - Instruct agents to use `rstest` in AGENTS.md ([#&#8203;3912](https://github.com/atuinsh/atuin/issues/3912)) - More xdg compliance ([#&#8203;3932](https://github.com/atuinsh/atuin/issues/3932)) - Remove atuin-nucleo ([#&#8203;3950](https://github.com/atuinsh/atuin/issues/3950)) - Enable more Clippy lints ([#&#8203;3953](https://github.com/atuinsh/atuin/issues/3953)) - Update to rust 1.98 ([#&#8203;3964](https://github.com/atuinsh/atuin/issues/3964)) - Revert changes to `atuin-pty-proxy` from `lab share` PR / feat: store pty-proxy sockets in `/tmp/atuin-$UID` ([#&#8203;3988](https://github.com/atuinsh/atuin/issues/3988)) ##### Performance - *(sql)* Chunked bulk inserts + shared sqlite wrapper ([#&#8203;3981](https://github.com/atuinsh/atuin/issues/3981)) - *(sync)* Batch post-sync history indexing into bulk transactions ([#&#8203;3947](https://github.com/atuinsh/atuin/issues/3947)) - *(sync)* Parallel record downloads ([#&#8203;3955](https://github.com/atuinsh/atuin/issues/3955)) - *(tracing)* OTel export + instrumentation coverage ([#&#8203;3952](https://github.com/atuinsh/atuin/issues/3952)) ##### Refactor - *(ai/bash)* Use existing facility for accept-line ([#&#8203;3928](https://github.com/atuinsh/atuin/issues/3928)) - *(bash)* Remove redundant check of existing preexec-backend ([#&#8203;3927](https://github.com/atuinsh/atuin/issues/3927)) - *(caps)* CapClient owns its client and warms on construction ([#&#8203;3898](https://github.com/atuinsh/atuin/issues/3898)) - *(client)* Own sync\_addr via Arc<Url>, drop Client lifetime ([#&#8203;3896](https://github.com/atuinsh/atuin/issues/3896)) - *(client)* Remove the Database trait in favor of Sqlite ([#&#8203;3946](https://github.com/atuinsh/atuin/issues/3946)) - *(deps)* Bump pymdown-extensions from 11.0 to 11.0.1 in /docs in the uv group across 1 directory ([#&#8203;3875](https://github.com/atuinsh/atuin/issues/3875)) - *(domain)* Make Record::with\_data consume self, add with\_data\_clone ([#&#8203;3900](https://github.com/atuinsh/atuin/issues/3900)) - *(domain)* Make Record.version a RecordVersion enum ([#&#8203;3903](https://github.com/atuinsh/atuin/issues/3903)) - *(domain)* Drop the vestigial Host.name field ([#&#8203;3941](https://github.com/atuinsh/atuin/issues/3941)) - *(encryption)* Introduce PasetoV4Key newtype for the encryption key ([#&#8203;3860](https://github.com/atuinsh/atuin/issues/3860)) - *(encryption)* Move encryption into atuin-common. ([#&#8203;3863](https://github.com/atuinsh/atuin/issues/3863)) - *(record)* Name the (host, tag) pair as RecordSeriesKey ([#&#8203;3961](https://github.com/atuinsh/atuin/issues/3961)) - *(sqlx)* Use FromRow instead of manual row mapping ([#&#8203;3958](https://github.com/atuinsh/atuin/issues/3958)) - *(sync)* Introduce SyncEngine to hold shared sync state ([#&#8203;3962](https://github.com/atuinsh/atuin/issues/3962)) - Add a `CmdOrigin` Type ([#&#8203;3943](https://github.com/atuinsh/atuin/issues/3943)) ##### Bug - Avoid rare race condition in sync ([#&#8203;3972](https://github.com/atuinsh/atuin/issues/3972)) ### [`v18.19.0`](https://github.com/atuinsh/atuin/blob/HEAD/CHANGELOG.md#18190) [Compare Source](https://github.com/atuinsh/atuin/compare/v18.18.1...v18.19.0-beta.3) ##### Bug Fixes - *(client)* Avoid panic decoding an empty encryption key ([#&#8203;3803](https://github.com/atuinsh/atuin/issues/3803)) - *(client)* Keep sqlx-postgres out of the client crate ([#&#8203;2884](https://github.com/atuinsh/atuin/issues/2884)) ([#&#8203;3823](https://github.com/atuinsh/atuin/issues/3823)) - *(config)* Preserve comments in `atuin config set` ([#&#8203;3766](https://github.com/atuinsh/atuin/issues/3766)) - *(search)* Correct fuzzy result ranking ([#&#8203;3603](https://github.com/atuinsh/atuin/issues/3603)) ([#&#8203;3624](https://github.com/atuinsh/atuin/issues/3624)) - Fix atuin-search-bench/benches/search.rs ([#&#8203;3788](https://github.com/atuinsh/atuin/issues/3788)) - Close OSC133 C when launching Atuin AI to prevent content erasure ([#&#8203;3794](https://github.com/atuinsh/atuin/issues/3794)) - Authenticate beta release push as atuin-bot ([#&#8203;3809](https://github.com/atuinsh/atuin/issues/3809)) - Copy vendored axoasset into docker builder stage ([#&#8203;3816](https://github.com/atuinsh/atuin/issues/3816)) ##### Documentation - Clarify update check network, provide build command ([#&#8203;3767](https://github.com/atuinsh/atuin/issues/3767)) - Remove old i18n docs ([#&#8203;3787](https://github.com/atuinsh/atuin/issues/3787)) - Use shell-agnostic install command in quickstart pages ([#&#8203;3820](https://github.com/atuinsh/atuin/issues/3820)) - Document named stats periods (today/week/month/year) ([#&#8203;3821](https://github.com/atuinsh/atuin/issues/3821)) - State minimum supported Rust version in install guide ([#&#8203;3822](https://github.com/atuinsh/atuin/issues/3822)) - Document iTerm2 tmux popup incompatibility ([#&#8203;3826](https://github.com/atuinsh/atuin/issues/3826)) - Clarify key binding snippets belong in shell startup file ([#&#8203;3837](https://github.com/atuinsh/atuin/issues/3837)) - Mention RustRover in IDE integration guidance ([#&#8203;3834](https://github.com/atuinsh/atuin/issues/3834)) ##### Features - *(client)* Show intent in inspector ([#&#8203;3804](https://github.com/atuinsh/atuin/issues/3804)) - *(client)* Enable pty-proxy via config ([#&#8203;3828](https://github.com/atuinsh/atuin/issues/3828)) - *(config)* Validate new settings in `atuin config set` before writing them to disk ([#&#8203;3769](https://github.com/atuinsh/atuin/issues/3769)) - *(lab)* Experimental `atuin lab share` - *(search)* Remove the "skim" engine ([#&#8203;3825](https://github.com/atuinsh/atuin/issues/3825)) - Remove word with ALT-Backspace ALT-D ([#&#8203;2457](https://github.com/atuinsh/atuin/issues/2457)) - Add scheduled beta release workflow ([#&#8203;3805](https://github.com/atuinsh/atuin/issues/3805)) - Migrate TLS backend from rustls to native-tls ([#&#8203;3807](https://github.com/atuinsh/atuin/issues/3807)) - Make `update` a real subcommand ([#&#8203;3813](https://github.com/atuinsh/atuin/issues/3813)) - Capability negotiation protocol (client + server) ([#&#8203;3797](https://github.com/atuinsh/atuin/issues/3797)) ##### Miscellaneous Tasks - *(ci)* Fix `package` step ([#&#8203;3770](https://github.com/atuinsh/atuin/issues/3770)) - Remove Store trait ([#&#8203;3779](https://github.com/atuinsh/atuin/issues/3779)) - Daemon search benchmark (divan + CodSpeed) ([#&#8203;3763](https://github.com/atuinsh/atuin/issues/3763)) - Run CodSpeed benchmarks on macro runners in walltime mode ([#&#8203;3786](https://github.com/atuinsh/atuin/issues/3786)) - Add `OrFilter` as a replacement for `Vec`s as filter lists ([#&#8203;3768](https://github.com/atuinsh/atuin/issues/3768)) - Add `atuin-domain` crate for shared domain types ([#&#8203;3790](https://github.com/atuinsh/atuin/issues/3790)) - Run CodSpeed walltime benchmarks on depot-macos-26 ([#&#8203;3791](https://github.com/atuinsh/atuin/issues/3791)) - Fix deny.toml and get it to run in CI ([#&#8203;3808](https://github.com/atuinsh/atuin/issues/3808)) - Remove codspeed workflow ([#&#8203;3812](https://github.com/atuinsh/atuin/issues/3812)) - Richer logging for atuin-server ([#&#8203;2564](https://github.com/atuinsh/atuin/issues/2564)) - Hide --active sharing ([#&#8203;3846](https://github.com/atuinsh/atuin/issues/3846)) ##### Refactor - *(deps)* Bump thiserror from 2.0.18 to 2.0.19 ([#&#8203;3839](https://github.com/atuinsh/atuin/issues/3839)) - *(deps)* Bump strum\_macros from 0.27.2 to 0.28.0 ([#&#8203;3841](https://github.com/atuinsh/atuin/issues/3841)) - *(deps)* Bump tonic-types from 0.14.5 to 0.14.6 ([#&#8203;3842](https://github.com/atuinsh/atuin/issues/3842)) - *(deps)* Bump pulldown-cmark from 0.13.3 to 0.13.4 ([#&#8203;3840](https://github.com/atuinsh/atuin/issues/3840)) - *(deps)* Bump itertools from 0.14.0 to 0.15.0 ([#&#8203;3838](https://github.com/atuinsh/atuin/issues/3838)) - Adopt enum\_dispatch for enum trait delegation ([#&#8203;3806](https://github.com/atuinsh/atuin/issues/3806)) ##### Testing - Adopt rstest across the workspace test suite ([#&#8203;3785](https://github.com/atuinsh/atuin/issues/3785)) ##### Daemon - Replace nucleo with frizbee, rank by match quality with frecency tiebreak ([#&#8203;3782](https://github.com/atuinsh/atuin/issues/3782)) ### [`v18.18.1`](https://github.com/atuinsh/atuin/blob/HEAD/CHANGELOG.md#18181) [Compare Source](https://github.com/atuinsh/atuin/compare/v18.18.0-beta.2...v18.18.1) ##### Bug Fixes - *(crates.io)* Fix installation from crates.io ([#&#8203;3764](https://github.com/atuinsh/atuin/issues/3764)) ##### Refactor - *(daemon)* Drop fs4, use std::fs file locking ([#&#8203;3753](https://github.com/atuinsh/atuin/issues/3753)) ### [`v18.18.0`](https://github.com/atuinsh/atuin/blob/HEAD/CHANGELOG.md#18180) [Compare Source](https://github.com/atuinsh/atuin/compare/v18.17.1...v18.18.0-beta.2) ##### Bug Fixes - *(daemon)* Index synced history directly instead of malformed SQL ([#&#8203;3627](https://github.com/atuinsh/atuin/issues/3627)) ([#&#8203;3641](https://github.com/atuinsh/atuin/issues/3641)) - *(deps)* Update unsound/vulnerable dependencies in Cargo.lock ([#&#8203;3632](https://github.com/atuinsh/atuin/issues/3632)) - *(docs)* Repair every stale link in the repo ([#&#8203;3727](https://github.com/atuinsh/atuin/issues/3727)) - *(docs)* Make the incorrect-decrypt-key error actionable ([#&#8203;3609](https://github.com/atuinsh/atuin/issues/3609)) - *(hook)* Drop agent commands containing NUL bytes via NonNulStr ([#&#8203;3589](https://github.com/atuinsh/atuin/issues/3589)) ([#&#8203;3660](https://github.com/atuinsh/atuin/issues/3660)) - *(import)* Survive corrupt entries instead of aborting the import ([#&#8203;3721](https://github.com/atuinsh/atuin/issues/3721)) - *(init)* Fix include guard in Bash init script; chore(init): improve inclusion of shell init scripts in Rust ([#&#8203;3645](https://github.com/atuinsh/atuin/issues/3645)) - *(install)* Make /dev/tty authoritative for interactivity detection ([#&#8203;3691](https://github.com/atuinsh/atuin/issues/3691)) - *(search)* Add `DbSearchMode`; correctly fall back to "fuzzy" in non-interactive searches ([#&#8203;3744](https://github.com/atuinsh/atuin/issues/3744)) - *(ui)* Calculate preview height based on command display width instead of byte count ([#&#8203;3678](https://github.com/atuinsh/atuin/issues/3678)) - *(win32)* Cargo-binstall package metadata ([#&#8203;3673](https://github.com/atuinsh/atuin/issues/3673)) - Search functionality to respect character offsets and non-ASCII ([#&#8203;3659](https://github.com/atuinsh/atuin/issues/3659)) - Quote argument-hint YAML values so Copilot CLI ≥1.0.65 loads all skills ([#&#8203;3613](https://github.com/atuinsh/atuin/issues/3613)) ([#&#8203;3614](https://github.com/atuinsh/atuin/issues/3614)) - Correct grammar in 'history last' help text ([#&#8203;3430](https://github.com/atuinsh/atuin/issues/3430)) - Work around rust nightly warning on eyre bail ([#&#8203;3680](https://github.com/atuinsh/atuin/issues/3680)) - Improve non-interactive TTY detection in install.sh ([#&#8203;3315](https://github.com/atuinsh/atuin/issues/3315)) - Add /model hint to status bar ([#&#8203;3687](https://github.com/atuinsh/atuin/issues/3687)) - Set correct umask for pty-proxy ([#&#8203;3700](https://github.com/atuinsh/atuin/issues/3700)) - Atuin AI not erasing the input box before closing ([#&#8203;3715](https://github.com/atuinsh/atuin/issues/3715)) - Show server status next to AI progress indicator ([#&#8203;3723](https://github.com/atuinsh/atuin/issues/3723)) - Show full command when using AtuinOutput tool ([#&#8203;3725](https://github.com/atuinsh/atuin/issues/3725)) ##### Documentation - *(ai)* Add self hosting + slash command docs ([#&#8203;3623](https://github.com/atuinsh/atuin/issues/3623)) - *(config)* Standardize TOML examples for config options ([#&#8203;3441](https://github.com/atuinsh/atuin/issues/3441)) - Advise users to pass `--locked` when installing from Cargo ([#&#8203;3630](https://github.com/atuinsh/atuin/issues/3630)) - Add docs for store\_failed and default for enter\_accept ([#&#8203;2696](https://github.com/atuinsh/atuin/issues/2696)) - Serve docs.atuin.sh from this repo; remove Desktop docs ([#&#8203;3684](https://github.com/atuinsh/atuin/issues/3684)) - Version docs.atuin.sh with mike (per-release + main) ([#&#8203;3688](https://github.com/atuinsh/atuin/issues/3688)) - Hotfix bad path ([#&#8203;3690](https://github.com/atuinsh/atuin/issues/3690)) - Document built-in bash-preexec ([#&#8203;3651](https://github.com/atuinsh/atuin/issues/3651)) - Retheme docs.atuin.sh to the Atuin brand ([#&#8203;3701](https://github.com/atuinsh/atuin/issues/3701)) - Bundle of improvements ([#&#8203;3716](https://github.com/atuinsh/atuin/issues/3716)) - Remove ugly cards on landing page ([#&#8203;3724](https://github.com/atuinsh/atuin/issues/3724)) - Fix broken README links ([#&#8203;3696](https://github.com/atuinsh/atuin/issues/3696)) - Lint prose with Vale and gate it in CI ([#&#8203;3726](https://github.com/atuinsh/atuin/issues/3726)) - Slightly nicer default config.toml order ([#&#8203;2485](https://github.com/atuinsh/atuin/issues/2485)) - Kubernetes self-hosting documentation ([#&#8203;3238](https://github.com/atuinsh/atuin/issues/3238)) - Add canonical Supported platforms page ([#&#8203;3736](https://github.com/atuinsh/atuin/issues/3736)) - Add friendly hover tips for new terms ([#&#8203;3740](https://github.com/atuinsh/atuin/issues/3740)) - Clarify how to uninstall shell integration ([#&#8203;3741](https://github.com/atuinsh/atuin/issues/3741)) ##### Features - *(ai)* Up/down to scroll through previously sent messages ([#&#8203;3720](https://github.com/atuinsh/atuin/issues/3720)) - *(bash)* Bundle bash-preexec with Atuin; automatically load if no other preexec backend is loaded ([#&#8203;3650](https://github.com/atuinsh/atuin/issues/3650)) - *(search)* Add `--shell` option to `atuin search` to filter results by shell ([#&#8203;3658](https://github.com/atuinsh/atuin/issues/3658)) - *(search)* Syntax highlight commands in interactive search ([#&#8203;3704](https://github.com/atuinsh/atuin/issues/3704)) - *(search)* Filter by shell in interactive search ([#&#8203;3692](https://github.com/atuinsh/atuin/issues/3692)) - *(string)* EllipsizeExt -- General-purpose utility for adding ellipses to strings ([#&#8203;3639](https://github.com/atuinsh/atuin/issues/3639)) - Add 'yolo' setting to Atuin AI options ([#&#8203;3637](https://github.com/atuinsh/atuin/issues/3637)) - Add `shell` field to history entries ([#&#8203;3636](https://github.com/atuinsh/atuin/issues/3636)) - Add hickory-dns resolver for musl target to improve DNS resolution ([#&#8203;3647](https://github.com/atuinsh/atuin/issues/3647)) - Add atuin stats --filter-mode ([#&#8203;1737](https://github.com/atuinsh/atuin/issues/1737)) - More aggressive optimizations for dist release ([#&#8203;3683](https://github.com/atuinsh/atuin/issues/3683)) - Capture zsh comments as history ([#&#8203;3699](https://github.com/atuinsh/atuin/issues/3699)) - Allow injecting extra HTTP headers on sync server requests ([#&#8203;3718](https://github.com/atuinsh/atuin/issues/3718)) ##### Miscellaneous Tasks - *(atuin-common)* Add ellipsize\_or\_pad for unicode pad ([#&#8203;3663](https://github.com/atuinsh/atuin/issues/3663)) - *(ci)* Bump GitHub Actions to latest versions ([#&#8203;3689](https://github.com/atuinsh/atuin/issues/3689)) - *(ci)* Lint tests & docs in CI ([#&#8203;3746](https://github.com/atuinsh/atuin/issues/3746)) - *(clap)* Simplify clap field types and fix help message formatting ([#&#8203;3640](https://github.com/atuinsh/atuin/issues/3640)) - *(logging)* Refactor logging ([#&#8203;3622](https://github.com/atuinsh/atuin/issues/3622)) - *(release-skill)* Time label-gated PR merges around the release ([#&#8203;3654](https://github.com/atuinsh/atuin/issues/3654)) - Remove fossier ([#&#8203;3629](https://github.com/atuinsh/atuin/issues/3629)) - Trigger docs repo deploy ([#&#8203;3631](https://github.com/atuinsh/atuin/issues/3631)) - Remove redundant test ([#&#8203;3635](https://github.com/atuinsh/atuin/issues/3635)) - Add `.editorconfig` and `.nvim.lua` ([#&#8203;3648](https://github.com/atuinsh/atuin/issues/3648)) - Clean up `WordJumper` in atuin/src/command/client/search/cursor.rs ([#&#8203;3662](https://github.com/atuinsh/atuin/issues/3662)) - Don't panic if clipboard cannot be accessed ([#&#8203;2648](https://github.com/atuinsh/atuin/issues/2648)) - Update some dependency versions ([#&#8203;3666](https://github.com/atuinsh/atuin/issues/3666)) - Update sqlx to v9 ([#&#8203;3668](https://github.com/atuinsh/atuin/issues/3668)) - Follow-up on [#&#8203;1737](https://github.com/atuinsh/atuin/issues/1737) ([#&#8203;3649](https://github.com/atuinsh/atuin/issues/3649)) - Update Atuin AI to eye-declare v0.6.1 ([#&#8203;3686](https://github.com/atuinsh/atuin/issues/3686)) - Remove docs-dispatch ([#&#8203;3694](https://github.com/atuinsh/atuin/issues/3694)) - Docker healtcheck ([#&#8203;2451](https://github.com/atuinsh/atuin/issues/2451)) - Run windows jobs on depot-windows-2025-16 ([#&#8203;3711](https://github.com/atuinsh/atuin/issues/3711)) - Hotfix script ([#&#8203;3714](https://github.com/atuinsh/atuin/issues/3714)) - Update flake.nix ([#&#8203;3509](https://github.com/atuinsh/atuin/issues/3509)) - Add Timezone and restart policy for postgres backup docker ([#&#8203;3083](https://github.com/atuinsh/atuin/issues/3083)) - Add riscv64 to release targets ([#&#8203;3339](https://github.com/atuinsh/atuin/issues/3339)) - Build x86\_64-apple-darwin on Depot M4 macs; move all macOS CI to Depot ([#&#8203;3742](https://github.com/atuinsh/atuin/issues/3742)) ##### Performance - Do not block counting history ([#&#8203;3729](https://github.com/atuinsh/atuin/issues/3729)) - Actually delete history rows, and index active history ([#&#8203;3730](https://github.com/atuinsh/atuin/issues/3730)) - Index filtered history search, record store tags, and cache inspector stats ([#&#8203;3731](https://github.com/atuinsh/atuin/issues/3731)) ##### Refactor - *(hook)* Typed protocol for agent hook events ([#&#8203;3638](https://github.com/atuinsh/atuin/issues/3638)) - *(render)* Slightly nicer and more correct non-printable escaping ([#&#8203;3633](https://github.com/atuinsh/atuin/issues/3633)) - *(sync)* Remove deprecated V1 sync protocol ([#&#8203;3634](https://github.com/atuinsh/atuin/issues/3634)) - Use typed Url instead of hand-built string URLs ([#&#8203;3644](https://github.com/atuinsh/atuin/issues/3644)) - Extract shared vt100 logic into atuin-common ([#&#8203;3664](https://github.com/atuinsh/atuin/issues/3664)) ##### Styling - Improve Atuin AI TUI styles ([#&#8203;3710](https://github.com/atuinsh/atuin/issues/3710)) ##### Testing - Parametrize tests with rstest across 8 crates ([#&#8203;3653](https://github.com/atuinsh/atuin/issues/3653)) ##### Bug - Fix enter\_accept default ([#&#8203;3717](https://github.com/atuinsh/atuin/issues/3717)) - Abort install.sh on cURL fails ([#&#8203;2911](https://github.com/atuinsh/atuin/issues/2911)) ### [`v18.17.1`](https://github.com/atuinsh/atuin/blob/HEAD/CHANGELOG.md#18171) [Compare Source](https://github.com/atuinsh/atuin/compare/v18.17.0...v18.17.1) ##### Bug Fixes - *(ai)* Default to non-Hub mode for custom AI endpoints ([#&#8203;3620](https://github.com/atuinsh/atuin/issues/3620)) - *(import)* Fix order of entries imported from zsh history ([#&#8203;3597](https://github.com/atuinsh/atuin/issues/3597)) - *(import)* Fix import order of nushell history entries ([#&#8203;3598](https://github.com/atuinsh/atuin/issues/3598)) - Various prefix mode bugs ([#&#8203;3616](https://github.com/atuinsh/atuin/issues/3616)) ##### Documentation - Document output capture and mcp ([#&#8203;3595](https://github.com/atuinsh/atuin/issues/3595)) ##### Features - *(tui)* Truncate long commands from middle to show start...end ([#&#8203;3602](https://github.com/atuinsh/atuin/issues/3602)) ##### Miscellaneous Tasks - *(logging)* Remove the `log` crate in favor of `tracing` ([#&#8203;3608](https://github.com/atuinsh/atuin/issues/3608)) - Update to rust 1.97 ([#&#8203;3617](https://github.com/atuinsh/atuin/issues/3617)) ### [`v18.17.0`](https://github.com/atuinsh/atuin/blob/HEAD/CHANGELOG.md#18170) [Compare Source](https://github.com/atuinsh/atuin/compare/v18.16.1...v18.17.0) ##### Bug Fixes - *(ai)* Dispatch skills registered in the slash command registry ([#&#8203;3593](https://github.com/atuinsh/atuin/issues/3593)) - *(ci)* Fossier install in scan workflow ([#&#8203;3485](https://github.com/atuinsh/atuin/issues/3485)) - *(i18n)* Fix typos in Russian localization ([#&#8203;3575](https://github.com/atuinsh/atuin/issues/3575)) - *(nu)* Use `char -u 1b` for ESC in OSC 133 sequences ([#&#8203;3530](https://github.com/atuinsh/atuin/issues/3530)) - *(nu)* Suppress error when `ATUIN_HISTORY_ID` is missing in `pre_prompt` hook ([#&#8203;3587](https://github.com/atuinsh/atuin/issues/3587)) - *(pi)* Observe tool events instead of registering a bash tool ([#&#8203;3557](https://github.com/atuinsh/atuin/issues/3557)) - *(pty-proxy)* Set `$SHELL` to the spawned shell ([#&#8203;3548](https://github.com/atuinsh/atuin/issues/3548)) - *(search)* Fix terminal clearing with latest Ratatui ([#&#8203;3578](https://github.com/atuinsh/atuin/issues/3578)) - *(sync)* Skip records that fail to decrypt or decode instead of failing the whole store ([#&#8203;3569](https://github.com/atuinsh/atuin/issues/3569)) - Atuin hangs when attempting to spawn daemon from Ctrl+R invocation ([#&#8203;3502](https://github.com/atuinsh/atuin/issues/3502)) - Capture session ID from stream headers rather than final event ([#&#8203;3531](https://github.com/atuinsh/atuin/issues/3531)) - Doctor resiliency fo runknown platforms + openbsd warning ([#&#8203;3551](https://github.com/atuinsh/atuin/issues/3551)) - Double input on arrow keys in AI setup prompt on Windows ([#&#8203;3552](https://github.com/atuinsh/atuin/issues/3552)) - Exclude AI agent commands from zsh-autosuggestions ([#&#8203;3567](https://github.com/atuinsh/atuin/issues/3567)) - Silence shellcheck SC2016 on literal `$all-user` author filter - Respect `store_failed` when using daemon ([#&#8203;3571](https://github.com/atuinsh/atuin/issues/3571)) ##### Documentation - Highlight `Ctrl-r` keybinding on docs page ([#&#8203;3489](https://github.com/atuinsh/atuin/issues/3489)) - Document store purge workflow ([#&#8203;3544](https://github.com/atuinsh/atuin/issues/3544)) - Fix command example typo in documentation ([#&#8203;3536](https://github.com/atuinsh/atuin/issues/3536)) - Make commented-out lines in `config.toml` match real defaults ([#&#8203;3583](https://github.com/atuinsh/atuin/issues/3583)) - Add fish shell cleanup step to uninstall instructions ([#&#8203;3582](https://github.com/atuinsh/atuin/issues/3582)) ##### Features - *(doctor)* Add whether daemon is enabled to `doctor` output ([#&#8203;3572](https://github.com/atuinsh/atuin/issues/3572)) - *(pty-proxy)* Add `--shell` flag to override the spawned shell ([#&#8203;3327](https://github.com/atuinsh/atuin/issues/3327)) - Setup fossier to stop bot slop prs ([#&#8203;3482](https://github.com/atuinsh/atuin/issues/3482)) - Capture command output + expose to new `atuin_output` tool ([#&#8203;3510](https://github.com/atuinsh/atuin/issues/3510)) - Cache user contexts on load until `/reload` ([#&#8203;3525](https://github.com/atuinsh/atuin/issues/3525)) - Create database integration tests for atuin-server ([#&#8203;3514](https://github.com/atuinsh/atuin/issues/3514)) - Add `/model` slash command for changing models ([#&#8203;3576](https://github.com/atuinsh/atuin/issues/3576)) - Add mcp server for history tools and expand search filters ([#&#8203;3581](https://github.com/atuinsh/atuin/issues/3581)) - Add status bar with model and usage information ([#&#8203;3591](https://github.com/atuinsh/atuin/issues/3591)) ##### Miscellaneous Tasks - *(rustdoc)* Fix Rustdoc warnings ([#&#8203;3585](https://github.com/atuinsh/atuin/issues/3585)) - *(warnings)* Fix compile warnings with latest dependencies ([#&#8203;3586](https://github.com/atuinsh/atuin/issues/3586)) - Vouch for all existing contributors ([#&#8203;3486](https://github.com/atuinsh/atuin/issues/3486)) - Update GitHub app token format - Update to Rust 1.96.1 ([#&#8203;3568](https://github.com/atuinsh/atuin/issues/3568)) - Adopt `derive_more` to reduce boilerplate across the codebase ([#&#8203;3573](https://github.com/atuinsh/atuin/pull/3573)) ##### Performance - *(search)* Scan history by recency until N unique ([#&#8203;3553](https://github.com/atuinsh/atuin/issues/3553)) - Add `synchronous(Normal)` + `optimize_on_close` to record store SQLite ([#&#8203;3577](https://github.com/atuinsh/atuin/issues/3577)) - Remove unnecessary clones in a hot path ([#&#8203;3580](https://github.com/atuinsh/atuin/issues/3580)) ##### Refactor - Implement `From<sqlx::Error>` and clean up `fix_error` ([#&#8203;3484](https://github.com/atuinsh/atuin/issues/3484)) - Pull `fn into_utc` into `atuin-server-database` crate ([#&#8203;3487](https://github.com/atuinsh/atuin/issues/3487)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTQuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjEwNi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
renovate-bot force-pushed renovate/atuinsh-atuin-18.x from e70ea3d382 to bdff927c6d 2026-07-14 22:01:33 +02:00 Compare
renovate-bot changed title from Update dependency atuinsh/atuin to v18.17.0 to Update dependency atuinsh/atuin to v18.17.1 2026-07-14 22:01:34 +02:00
renovate-bot force-pushed renovate/atuinsh-atuin-18.x from bdff927c6d to fe83eeb403 2026-07-27 21:01:45 +02:00 Compare
renovate-bot changed title from Update dependency atuinsh/atuin to v18.17.1 to Update dependency atuinsh/atuin to v18.18.0 2026-07-27 21:01:46 +02:00
renovate-bot force-pushed renovate/atuinsh-atuin-18.x from fe83eeb403 to c2775085d8 2026-07-28 03:01:41 +02:00 Compare
renovate-bot changed title from Update dependency atuinsh/atuin to v18.18.0 to Update dependency atuinsh/atuin to v18.18.1 2026-07-28 03:01:41 +02:00
renovate-bot changed title from Update dependency atuinsh/atuin to v18.18.1 to Update dependency atuinsh/atuin to v18.19.0 2026-08-04 01:36:11 +02:00
renovate-bot force-pushed renovate/atuinsh-atuin-18.x from c2775085d8 to 9684d516d1 2026-08-04 01:36:11 +02:00 Compare
renovate-bot force-pushed renovate/atuinsh-atuin-18.x from 9684d516d1 to 7d10af2195 2026-08-25 23:01:58 +02:00 Compare
renovate-bot changed title from Update dependency atuinsh/atuin to v18.19.0 to Update dependency atuinsh/atuin to v18.20.0 2026-08-25 23:01:58 +02:00
renovate-bot force-pushed renovate/atuinsh-atuin-18.x from 7d10af2195 to 03b8c2999e 2026-08-27 03:02:29 +02:00 Compare
renovate-bot changed title from Update dependency atuinsh/atuin to v18.20.0 to Update dependency atuinsh/atuin to v18.20.1 2026-08-27 03:02:30 +02:00
renovate-bot changed title from Update dependency atuinsh/atuin to v18.20.1 to Update dependency atuinsh/atuin to v18.21.0 2026-09-01 02:02:50 +02:00
renovate-bot force-pushed renovate/atuinsh-atuin-18.x from 03b8c2999e to d11f9f13a2 2026-09-01 02:02:51 +02:00 Compare
renovate-bot changed title from Update dependency atuinsh/atuin to v18.21.0 to Update dependency atuinsh/atuin to v18.22.0 2026-09-10 01:04:48 +02:00
renovate-bot force-pushed renovate/atuinsh-atuin-18.x from d11f9f13a2 to 342dabc506 2026-09-10 01:04:48 +02:00 Compare
renovate-bot changed title from Update dependency atuinsh/atuin to v18.22.0 to Update dependency atuinsh/atuin to v18.23.0 2026-09-22 03:03:51 +02:00
renovate-bot force-pushed renovate/atuinsh-atuin-18.x from 342dabc506 to 980c1f84f2 2026-09-22 03:03:52 +02:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/atuinsh-atuin-18.x:renovate/atuinsh-atuin-18.x
git switch renovate/atuinsh-atuin-18.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/atuinsh-atuin-18.x
git switch renovate/atuinsh-atuin-18.x
git rebase main
git switch main
git merge --ff-only renovate/atuinsh-atuin-18.x
git switch renovate/atuinsh-atuin-18.x
git rebase main
git switch main
git merge --no-ff renovate/atuinsh-atuin-18.x
git switch main
git merge --squash renovate/atuinsh-atuin-18.x
git switch main
git merge --ff-only renovate/atuinsh-atuin-18.x
git switch main
git merge renovate/atuinsh-atuin-18.x
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
unixorn/packages-flamion!19
No description provided.