aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
| * chore(release): prepare for release 18.13.3Ellie Huxtable2026-03-16
|/
* chore: vendor nucleo-ext + fork, so we can depend on our changes properly ↵Ellie Huxtable2026-03-16
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#3284) We cannot publish to crates.io without specifying a version, and we cannot do that without properly forking nucleo. We're shipping atuin-nucleo, but will likely drop this if we can get our changes upstream. This is highlighted in the README + manifest, and the original author is still included. Originally forked here: https://github.com/atuinsh/nucleo-ext cc @BinaryMuse - this should just be a vendor + restructure, but would appreciate the sanity check ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
| * vendor nucleo fork into atuin workspaceEllie Huxtable2026-03-16
| | | | | | | | | | | | | | | | | | | | | | | | Rename crates (nucleo → atuin-nucleo, nucleo-matcher → atuin-nucleo-matcher), add to workspace members and dependencies, update all import paths, remove vendored CI workflow, and suppress upstream clippy warnings. format codespell fixes clippy clappy
| * feat: Add custom filtering and scoring mechanismsMichelle Tilley2026-03-16
| |
| * Update readmeMichelle Tilley2026-03-16
| |
| * bring in base nucleoEllie Huxtable2026-03-16
| |\
| | * Squashed 'crates/atuin-nucleo/' content from commit 4253de9fEllie Huxtable2026-03-16
| | | | | | | | | | git-subtree-dir: crates/atuin-nucleo git-subtree-split: 4253de9faabb4e5c6d81d946a5e35a90f87347ee
| * specify version in all daemon atuin cratesEllie Huxtable2026-03-16
| |
* | feat: Allow headless account ops against Hub server (#3280)Michelle Tilley2026-03-16
| |
* | chore: symlink changelog so dist can pick it upEllie Huxtable2026-03-16
| |
* | chore: change CHANGELOG format to be easier to parseEllie Huxtable2026-03-16
| |
* | chore: update permissions in Docker workflow (#3283)Ellie Huxtable2026-03-16
| | | | | | | | | | | | | | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* | chore(ci): use depot to build docker images too (#3281)Ellie Huxtable2026-03-16
| | | | | | | | | | | | | | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* | fix: Nushell 0.111; future Nushell 0.112 support (#3266)Stuart Carnie2026-03-16
| | | | | | | | Fix issue introduced by #3249. Nushell 0.112 will introduce the breaking change; not 0.111.
* | chore(ci): migrate to depot runners (#3279)Ellie Huxtable2026-03-16
|/ | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* feat: call atuin setup from install script (#3265)Ellie Huxtable2026-03-13
| | | | | | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* chore: update changelogEllie Huxtable2026-03-13
|
* chore(release): prepare for release 18.13.2 (#3264)Ellie Huxtable2026-03-13
| | | | | | | | | | | I tried adding a windows arm64 build to the last release, which was perhaps a little naive of me. I thought it working on x86 windows and arm everything else would be enough 💀 ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* chore(release): building windows aarch64 was overly optimisticEllie Huxtable2026-03-13
|
* chore: update changelogEllie Huxtable2026-03-13
|
* chore(release): prepare for release 18.13.1 (#3263)Ellie Huxtable2026-03-13
| | | | | | | | | | We were using buildjet as our runners previously, but it looks like they have gone under. Luckily, GitHub now provides the arm runners we need ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* chore(release): update dist, remove custom runnersEllie Huxtable2026-03-13
|
* chore: update changelogEllie Huxtable2026-03-13
|
* chore(release): prepare for release 18.13.0 (#3262)Ellie Huxtable2026-03-13
| | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* chore: update changelogEllie Huxtable2026-03-12
|
* chore(release): prepare for release 18.13.0-beta.7 (#3259)Ellie Huxtable2026-03-12
| | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* feat: Add `atuin setup` (#3257)Michelle Tilley2026-03-12
|
* chore: update changelogEllie Huxtable2026-03-12
|
* chore(release): prepare for release 18.13.0-beta.6 (#3258)Ellie Huxtable2026-03-12
| | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* docs: Document daemon-fuzzy search mode (#3254)Michelle Tilley2026-03-12
|
* feat: Initialize Atuin AI by default with `atuin init` (#3255)Michelle Tilley2026-03-11
| | | | | | | * Run Atuin AI's `init` during main `init` for bash, zsh, and fish * Note that logging into Hub will enable sync * Add instructions for users with existing sync accounts * Ensure daemon respects `auto_sync` setting * Update docs on disabling Atuin AI
* fix: ctrl-c not exiting ai (#3256)Ellie Huxtable2026-03-12
| | | | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> Listen to signals as well as state ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* chore: update changelogEllie Huxtable2026-03-11
|
* chore(release): prepare for release 18.13.0-beta.5 (#3253)Ellie Huxtable2026-03-11
| | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* feat: Allow authenticating with Atuin Hub (#3237)Michelle Tilley2026-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ## Summary This PR enables the Atuin CLI to authenticate with Atuin Hub, unifying authentication across CLI sync and Hub features (AI, runbooks, etc.). ### Key Changes - **Dual auth support**: New `AuthToken` enum supports both `Bearer` (Hub) and `Token` (legacy CLI) authentication - **Smart protocol selection**: New `sync_protocol` setting (`auto`/`hub`/`legacy`) determines auth method. By default, `api.atuin.sh` uses Hub auth; custom sync addresses use legacy auth - **Hub login flow**: `atuin login` now initiates an OAuth-like flow for Hub users—generates a code, user authorizes in browser, CLI polls for completion - **Account linking**: After Hub auth, silently attempts to link existing CLI sync account to Hub account for seamless migration - **Graceful fallback**: `sync_auth_token()` prefers Hub token when available, falls back to CLI session token ### Auth Flow 1. User runs `atuin login` (with default sync address) 2. CLI requests auth code from Hub, displays URL 3. User opens URL, logs in/registers on Hub 4. Hub attaches API token to code 5. CLI polls, receives token, saves as hub session 6. If user had existing CLI sync account, it's automatically linked ### Backward Compatibility - Existing self-hosted users: unaffected (legacy auth via `Token` header) - Existing `api.atuin.sh` users: continue working with CLI session until they run `atuin login` - New users: go through Hub flow automatically ## Test Plan - [ ] New user registration via Hub flow - [ ] Existing CLI user can still sync without changes - [ ] `atuin login` links CLI account to Hub account - [ ] Self-hosted users unaffected by changes - [ ] AI commands work after Hub auth --------- Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
* chore: update changelogEllie Huxtable2026-03-10
|
* chore(release): prepare for release 18.13.0-beta.4 (#3252)Ellie Huxtable2026-03-10
| | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* fix: support Nushell 0.111 (#3249)Stuart Carnie2026-03-10
| | | | | | | | | | The flag for `job spawn` changed, which prevents the script from compiling on Nushell 0.111+. ## Checks - [x] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [x] I have checked that there are no existing pull requests for the same thing
* chore: upgrade axum 0.7 to 0.8 to deduplicate with tonic's axumEllie Huxtable2026-03-09
| | | | | | | atuin-server used axum 0.7 while tonic already pulled in axum 0.8, resulting in both versions compiled into the binary. Migrates to axum 0.8: path params use {param} syntax, FromRequestParts uses native async traits (dropping async-trait dep from atuin-server).
* chore: upgrade thiserror 1.x to 2.x to deduplicate dependencyEllie Huxtable2026-03-09
| | | | | | Our crates used thiserror 1.x while the ratatui ecosystem already pulled in thiserror 2.x, resulting in both versions in the binary. The API is compatible; this consolidates to a single version.
* chore: strip symbols in dist profile to reduce binary sizeEllie Huxtable2026-03-09
| | | | | Adds strip = "symbols" to the cargo dist profile, removing debug symbols and symbol tables from the release binary (~5MiB savings).
* feat: use pty proxy for rendering tui popups without clearing the terminal ↵Ellie Huxtable2026-03-09
| | | | | | | | | | | | | | | | | | (#3234) It feels much, much nicer this way. This has also been asked for pretty consistently since we made inline rendering the default. Now we can have everything :) Maintains a shadow vt100 renderer so that we can restore the terminal state upon popup close. This happens on a background thread, so our impact on terminal performance should still be super minimal, if anything ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* chore: update to Rust 1.94 (#3247)Ellie Huxtable2026-03-09
| | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* feat: Allow running `atuin search -i` as subcommand (#3208)Michelle Tilley2026-03-09
| | | | | | | | | | | | | | | | | | | Allow `atuin search -i` to work in command substitution contexts like `VAR=$(atuin search -i)`. Previously this would fail with "The cursor position could not be read within a normal duration" because stdout was captured by the subshell, preventing terminal queries from working. Changes: - When stdout isn't a terminal, fall back to /dev/tty for TUI rendering (Unix only) - Force fullscreen mode in this case (inline mode requires cursor position queries that don't work with captured stdout) - Write the selected command to stdout (instead of stderr) when stdout is captured, so it gets assigned to the variable Fixes #3207
* feat: Allow setting multipliers for frequency, recency, and frecency scores ↵Michelle Tilley2026-03-05
| | | | (#3235)
* feat: initial draft of atuin-shell (#3206)Ellie Huxtable2026-03-04
| | | | | | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing --------- Co-authored-by: Claude <noreply@anthropic.com>
* fix: clear script database before rebuild to prevent unique constraint ↵Ellie Huxtable2026-03-03
| | | | | | | | | | | | | | | | | | | violation (#3232) The script store build() replays all records from the record store into SQLite but never cleared the database first. Stale rows from previous builds caused unique constraint violations on the name index when scripts were renamed or recreated. <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
* feat: update script for smoother setup (#3230)Ellie Huxtable2026-03-03
| | | | | | | | | | | | | | | | | | | | | | | Many users do not seem to read the docs. So, make the install script handle most of the things that we include in the docs quickstart. Ensures that the install script still functions as expected in non-interactive environments - setup scripts, ci, etc. Offers a flag just in case this check fails, to force non-interactive setup. <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* chore: update changelogEllie Huxtable2026-03-02
|
* chore(release): prepare for release 18.13.0-beta.3 (#3228)Ellie Huxtable2026-03-02
| | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing