aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* chore(deps): bump lukemathwalker/cargo-chefdependabot[bot]2026-01-26
| | | | | | | | | | | | Bumps lukemathwalker/cargo-chef from latest-rust-1.92.0-slim-bookworm to latest-rust-1.93.0-slim-bookworm. --- updated-dependencies: - dependency-name: lukemathwalker/cargo-chef dependency-version: latest-rust-1.93.0-slim-bookworm dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
* feat: add more vim movement bindings for navigation (#3041)Yan Ivnitskiy2026-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | Add vim-style movement commands to vim_normal keymap mode: - Ctrl+u/d: half-page up/down - Ctrl+b/f: full-page up/down - G: jump to visual bottom of history - gg: jump to visual top of history (multi-key sequence) - H/M/L: jump to top/middle/bottom of visible screen Also adds `offset()` getter to ListState for H/M/L functionality, and includes tests for the new bindings. <!-- 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 - [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 Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* chore!: remove total_history from api index response (#3094)Ellie Huxtable2026-01-23
| | | | | | | | | | | | | Remove the expensive and inaccurate `total_history` field from the API index endpoint. The query `select sum(total) from total_history_count_user` ran on every request but is no longer relevant. The underlying table remains for per-user cached counts used by `/sync/count`. ## 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(deps)!: update tls deps, remove built-in tls server support (#3091)Ellie Huxtable2026-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Update reqwest from 0.12 to 0.13 and remove the built-in TLS termination from atuin-server. Users should use a reverse proxy (nginx, caddy, traefik) for TLS/HTTPS support instead. This removes: - axum-server and rustls dependencies - The [tls] configuration section - The launch_with_tls function Also updates metrics-exporter-prometheus from 0.17 to 0.18. The reverse proxy approach is standard and provides better flexibility for certificate management. I'd rather keep our server stack as minimal as possible. <!-- 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: zsh import multiline issue (#2799)Haris Thohir2026-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is my case: ```sh curl -X POST https://example.com/api \ -H "Content-Type: application/json" \ -d '{ "username": "name", "password": "pass", "details": { "age": 30, "location": "Earth" } }' ``` Using current release version i got: ```sh curl -X POST https://example.com/api \\ -H "Content-Type: application/json" \\ -d '{\ "username": "name",\ "password": "pass",\ "details": {\ "age": 30,\ "location": "Earth"\ }\ }' ``` and i test with `echo \\` (https://github.com/atuinsh/atuin/pull/100#issuecomment-836477081) it also works; there is similar PR https://github.com/atuinsh/atuin/pull/2390, it only works on multiline with `\` suffix, in my case i got: ```sh curl -X POST https://example.com/api \ -H "Content-Type: application/json" \ -d '{\ ``` ## Checks - [x] 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(deps): bump lukemathwalker/cargo-chef from ↵dependabot[bot]2026-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | latest-rust-1.91.1-slim-bookworm to latest-rust-1.92.0-slim-bookworm (#3024) Bumps lukemathwalker/cargo-chef from latest-rust-1.91.1-slim-bookworm to latest-rust-1.92.0-slim-bookworm. [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lukemathwalker/cargo-chef&package-manager=docker&previous-version=latest-rust-1.91.1-slim-bookworm&new-version=latest-rust-1.92.0-slim-bookworm)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days. Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump debian from bookworm-20251103-slim to ↵dependabot[bot]2026-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bookworm-20251208-slim (#3023) Bumps debian from bookworm-20251103-slim to bookworm-20251208-slim. [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=debian&package-manager=docker&previous-version=bookworm-20251103-slim&new-version=bookworm-20251208-slim)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: left arrow/backspace on empty to start edit (#3090)Ellie Huxtable2026-01-22
| | | | | | | | | | | | | | resolves #1906 <!-- 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 custom column support (#3089)Ellie Huxtable2026-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configure the interactive search UI appearance. Resolves #998 ```toml [ui] columns = ["duration", "time", "command"] ``` ### `columns` Default: `["duration", "time", "command"]` Columns to display in the interactive search, from left to right. The selection indicator (`" > "`) is always shown first implicitly. Each column can be specified as: - A simple string (uses default width): `"duration"` - An object with type and optional width/expand: `{ type = "directory", width = 30 }` #### Available column types | Column | Default Width | Description | | --------- | ------------- | ----------------------------------------------- | | duration | 5 | Command execution duration (e.g., "123ms") | | time | 8 | Relative time since execution (e.g., "59m ago") | | datetime | 16 | Absolute timestamp (e.g., "2025-01-22 14:35") | | directory | 20 | Working directory (truncated if too long) | | host | 15 | Hostname | | user | 10 | Username | | exit | 3 | Exit code (colored by success/failure) | | command | * | The command itself (expands by default) | #### Column options - **type**: The column type (required when using object format) - **width**: Custom width in characters (optional, uses default if not specified) - **expand**: If `true`, the column fills remaining space. Default is `true` for `command`, `false` for others. Only one column should have `expand = true`. #### Examples ```toml # Minimal - more space for commands columns = ["duration", "command"] # With custom directory width columns = ["duration", { type = "directory", width = 30 }, "command"] # Show host for multi-machine sync users columns = ["duration", "time", "host", "command"] # Show exit codes prominently columns = ["exit", "duration", "command"] # Make directory expand instead of command columns = ["duration", "time", { type = "directory", expand = true }, { type = "command", expand = false }] ```
* Update regex for AWS Access Key ID pattern (#3088)Daniel Rinehart2026-01-21
|
* docker.mdx: config/ with initial uid:gidPierre Carru2026-01-16
| | | | Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs: small edit to themes website file (#3069)Michelle Tilley2026-01-16
| | | | | | | | | | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/103 **Original author:** @AtomicRobotMan0101 --- meaninglessly small edit. I'm also working on a simple python script to add themes from the GOGH project into the /themes folder with appropriate mappings. I'll jump on the discord to discuss the plan :-) --------- Co-authored-by: Evan McBeth <64177332+AtomicRobotMan0101@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: Ellie Huxtable <ellie@atuin.sh> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* docs(configuration): describe new utility "atuin-bind" for Bash (#3064)Koichi Murase2026-01-16
| | | | | | | | | | | | | | | | Moved from https://github.com/atuinsh/docs/pull/106. Since the PRs in [`atuin/docs`](https://github.com/atuinsh/docs) seem to have been invalidated by https://github.com/atuinsh/docs/pull/112 and #3018, let me re-create the PR here. This is the documentation update associated with the change introduced in [atuinsh/atuin#2953](https://github.com/atuinsh/atuin/pull/2953). The current documentation about Bash's bindings is outdated. ## 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
* docs: Expand and clarify usage of the history prune command (#3084)Waldir Pimenta2026-01-16
| | | | | | | | | | | | | | | Added a bit of context to make it clearer how this command works and when one might want to use it. <!-- 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 - [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
* Fix keybind I broke during docs PR migrationMichelle Tilley2026-01-16
|
* docs: Fix punctuation and grammar in basic usage guide (#3063)Waldir Pimenta2026-01-16
| | | | | | | | | | | | | | | | | | | | | Just a few punctuation, spelling and grammar fixes, along with a couple of wording changes for clarity. _Note: This PR is a recreation of https://github.com/atuinsh/docs/pull/110, following the migration of the docs to this repo (https://github.com/atuinsh/docs/pull/112 + #3018)._ <!-- 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 - [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 Co-authored-by: Michelle Tilley <michelle@michelletilley.net>
* faq: add alternative projects (#3076)Michelle Tilley2026-01-16
| | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/77 **Original author:** @Finkregh --- I always love it when similar projects link to each other :) Co-authored-by: Oluf Lorenzen <finkregh@mafia-server.net> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Add ~/.config/atuin deletion to uninstall docs (#3070)Michelle Tilley2026-01-16
| | | | | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/100 **Original author:** @justinmayer --- Since the `~/.config/atuin` directory (and configuration files within) appear to be created when Atuin is first invoked, this directory should be added to the list of directories to be deleted in the uninstall documentation. Co-authored-by: Justin Mayer <entroP@gmail.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Small formatting fix (#3072)Michelle Tilley2026-01-16
| | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/91 **Original author:** @sokai --- for better readability/consistency Co-authored-by: sokai <sokai@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Add FAQ entry on how to import unsynced atuin history (#3075)Michelle Tilley2026-01-16
| | | | | | | | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/78 **Original author:** @kzdnk --- I found myself stuck in this situation, and thought it might be useful to someone else. Please let me now if this should rather be on the on the discourse forum and I will post it there. If atuin is not disabled, `~/.local/share/atuin` will be emptied after the copying is finished. Co-authored-by: Krzysztof Zduniak <74667483+ziutech@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Update key-binding.mdx (#3077)Michelle Tilley2026-01-16
| | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/76 **Original author:** @AtomicRobotMan0101 --- trivial amendment to show the use of an alternative binding for BASH Co-authored-by: Evan McBeth <64177332+AtomicRobotMan0101@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* docs: Disambiguate 'setup' (noun) vs. 'set up' (verb) (#3061)Waldir Pimenta2026-01-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 - [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
* docs: Various improvements to the `atuin import` docs (#3062)Waldir Pimenta2026-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recreation of PR https://github.com/atuinsh/docs/pull/111, after the migration of the docs to this repo (#3018). Copying the description from that PR, for convenience: This PR implements a few improvements to the import doc page. 1. **Fix name of `zsh-hist-db` and `xonsh-sqlite` subcommands** The `atuin import` subcommands `zsh-hist-db` and `xonsh-sqlite` were incorrectly documented as `zsh_histdb` and `xonsh_sqlite`, respectively. This is likely due to the actual modules that implement the import functionality being indeed named `zsh_histdb` and `xonsh_sqlite` (see [here](https://github.com/atuinsh/atuin/blob/v18.10.0/crates/atuin/src/command/client/import.rs#L14) and [here](https://github.com/atuinsh/atuin/blob/v18.10.0/crates/atuin-client/src/import/mod.rs#L19-L21)), but for the end-user, that results in documentation that's confusing at best, and error-inducing at worst. Fixes issue [atuinsh/atuin#2533](https://github.com/atuinsh/atuin/issues/2533). 2. **Document the `powershell` and `replxx` import subcommands** These importers were introduced in PRs [atuinsh/atuin#2864](https://github.com/atuinsh/atuin/pull/2864) and [atuinsh/atuin#2024](https://github.com/atuinsh/atuin/pull/2024), respectively, but the documentation was not updated to account for them. 3. **Fix alphabetic sorting of sections** Move the `nu-hist-db` and `zsh-hist-db` sections to be after `nu` and `zsh`, respectively. This is more intuitive, and matches the existing sort used for the `xonsh` / `xonsh-sqlite` sections. 4. **Minor whitespace correction** Fix line wrapping in the `resh` section ~~and remove trailing whitespace in the `nu*` sections.~~ <!-- 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 - [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 Fixes #2533.
* Theming: explain how to set ANSI codes directly (#3065)Michelle Tilley2026-01-16
| | | | | | | | | | | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/109 **Original author:** @philtweir --- ### What is the purpose of this pull request? Short change to note that there is a supported way of directly setting ANSI codes, and other Crossterm colours, directly using the `@` symbol. ### Why is this relevant? This could provide a workaround for issues such as https://github.com/atuinsh/atuin/issues/2827, where a 256 colour terminal shows all themes as grey. Co-authored-by: Phil Weir <phil.weir@flaxandteal.co.uk> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* docs(installation): add mise alternative installation method (#3066)Michelle Tilley2026-01-16
| | | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/108 **Original author:** @jylenhof --- *Original PR had no description.* Signed-off-by: jylenhof <jygithub@lenhof.eu.org> Co-authored-by: jylenhof <jygithub@lenhof.eu.org> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Extend sync login flag documentation (#3067)Michelle Tilley2026-01-16
| | | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/107 **Original author:** @PythonGermany --- Explicitly mention that it is also possible to omit secret key flag when logging in. Co-authored-by: PythonGermany <97847597+PythonGermany@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Add jj to common_subcommands (#3068)Michelle Tilley2026-01-16
| | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/105 **Original author:** @wetheredge --- See <https://github.com/atuinsh/atuin/pull/2708> Co-authored-by: Wren Etheredge <me@wetheredge.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* document keys.exit_past_line_{start,end} (#3071)Michelle Tilley2026-01-16
| | | | | | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/95 **Original author:** @russmatney --- The newly introduced behavior was driving me crazy! But I was happy to find it was already configurable. Here's an update to the docs, per: https://github.com/atuinsh/atuin/pull/2606#pullrequestreview-2669540017 Co-authored-by: Russell Matney <russell.matney@gmail.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Document key binding issue on Ghostty for Linux (#3073)Michelle Tilley2026-01-16
| | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/89 **Original author:** @matthewberryman --- *Original PR had no description.* Co-authored-by: Matthew Berryman <matthew@acrossthecloud.net> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Update installation.mdx (#3078)Michelle Tilley2026-01-16
| | | | | | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/73 **Original author:** @MustCodeAl --- - Added [Antidote plugin manager](https://github.com/mattmc3/antidote) install instructions - Added instructions for [Zsh-Vi-Mode](https://github.com/jeffreytse/zsh-vi-mode) - Fixed formatting on zsh-autosuggestions Co-authored-by: Albert <87888006+MustCodeAl@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* feat(ultracompact): Adds setting for ultracompact mode (#3079)Michelle Tilley2026-01-16
| | | | | | | | | | | | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/72 **Original author:** @philtweir --- ### What does this PR do? Adds the `auto_hide_height` setting to enable/disable/configure ultracompact mode when fewer than a minimum number of lines are available and the `compact` style has been configured. The new keybindings for the inspector are outlined also. Notes the new `(none)` theme, which will be used for functional code-tests and as a fallback when the requested theme is unloadable. Corresponds to: https://github.com/atuinsh/atuin/pull/2319 Co-authored-by: Phil Weir <phil.weir@flaxandteal.co.uk> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* feat(theme): Note new default theme name and syntax (#3080)Michelle Tilley2026-01-16
| | | | | | | | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/71 **Original author:** @philtweir --- ## What does this PR do? * corrects the default theme name from `""` to `"default"` * highlights the `@` color name in syntax * explains the new _Meaning_: `Muted` * comments on the (current) limitation of not being able to explicitly "unset" the foreground Co-authored-by: Phil Weir <phil.weir@flaxandteal.co.uk> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* docs(config): clarify scope of directory filter_mode (#3082)Michelle Tilley2026-01-16
| | | | | | | | | | | | Clarify that the directory filter_mode searches across all hosts/sessions, just filtering by directory path. --- Migrated from https://github.com/atuinsh/docs/pull/67 Original author: @tessarek Co-authored-by: Helmut K. C. Tessarek <tessarek@evermeet.cx> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Small spelling fix (#3081)Michelle Tilley2026-01-16
| | | | | | | | | | | | **Migrated from atuinsh/docs PR:** https://github.com/atuinsh/docs/pull/70 **Original author:** @andyfoster --- *Original PR had no description.* Co-authored-by: Andy <andyfoster@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* chore: remove x86_64 mac from build targets (#3052)Ellie Huxtable2026-01-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
* chore: update changelogEllie Huxtable2026-01-12
|
* chore(release): prepare for release 18.11.0 (#3051)Ellie Huxtable2026-01-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 session and uuid column support to history list (#3049)rektide2026-01-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 --> Hello. Small PR to add two new columns to the command history, the `session` and the `uuid` for the history. Having these identifiers available can help people do more advanced scripting & comprehension of their history. ## 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
* feat: consider atuin dotfile aliases when calculating atuin wrapped (#3048)Braelyn Boynton2026-01-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 --> when i run `atuin wrapped` currently, my aliases get in the way of properly calculating my wrapped. Ex: `ga` -> `git add` -- not added to the `git` count This PR changes the wrapped calculation to pull the aliases managed by `atuin dotfiles` and expand aliased commands to calculate them properly. ### Performance Tested with three shots each Before change: `0.064` to `0.077` seconds After change: `0.075` to `0.085` seconds ## 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: add AGENTS.mdEllie Huxtable2026-01-09
|
* fix(powershell): add error safety and cleanup (#3040)Lucas Trzesniewski2026-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | This PR does a few things: - Includes a fix by @sususu98 (added as co-author): - Fix: #3032 - Issue: https://github.com/PowerShell/PSReadLine/issues/5047 - Adds a couple `catch` blocks for better error safety in `PSConsoleHostReadLine`. - Allows reloading the Atuin module on v7+ if it's already loaded, which could be useful when updating Atuin. - Refactors the code to clean it up. I'll be AFK next week, so I preferred to submit this sooner than later. Closes #3032 ## 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 --------- Co-authored-by: sususu <suchangshan@foxmail.com>
* fix(powershell): run `atuin history end` in the background (#3034)Lucas Trzesniewski2025-12-22
| | | | | | | | | | | | | | | | | | | | | | | | This runs `atuin history end` in the background, since it could delay the next prompt when syncing. Sorry I didn't realize this command could be slow (I currently don't use sync). I went for the .NET [`Process` class](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.process), which is not pretty, but the other solutions I thought about all had their own issues (`Start-Process` needs a file to redirect the output so you can't just ignore it, `Start-Job` creates job objects that will linger, `&` does the same but doesn't work on PS 5.1, ...). I'm surprised I couldn't find a nice way to do the equivalent of `command & >/dev/null` in PowerShell. 😕 This replaces #3033 ## 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
* feat: allow disabling sync v1 (#3030)Ellie Huxtable2025-12-18
| | | | It takes up a very large amount of our query time, despite having been replaced for >1yr now. We will be dropping support for it on atuin hub
* feat: add support for read replicas to postgres (#3029)Ellie Huxtable2025-12-18
| | | | | | | | | | | Support for routing read queries to read replicas for Postgres We have very high database usage these days, and now run shell history sync off of [Planetscale](https://planetscale.com/) This setup gives us 2x read replicas, meaning we can reduce load on the primary I doubt this is required for anyone else's setup - lmk if so.
* fix: Move thorough search through search.filters w/ workspaces (#2703)Leonidas Loucas2025-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not just pick first from search.filters, consider all options, filtering based on git-root and workspaces config Fix: atuinsh/atuin#2700 Might Fix: atuinsh/atuin#2536 Wrote a few simple unit tests, and tried it by running the client locally. Not sure about which of "[search] filters" vs "workspaces" should be more respected, so i made it so if workspaces = false, regardless of whats in "[search] filters" workspace gets filtered out. First time looking at atuins code, let me know if this needs any changes. edit: (from my post here: https://github.com/atuinsh/atuin/issues/2536#issuecomment-2808053862) ``` workspaces = true [search] filters = [ "workspace", "directory", "session", "global" ] ``` | `^R` for the ... time| in a git repo | any other dir| | ------------- | ------------- | ------------- | | first | workspace | directory| | second | directory | session| | third| session | global| | fourth | global | directory | | fifth | workspace | session| | sixth | directory | global | ![Image](https://github.com/user-attachments/assets/33150e0a-d219-44d1-8994-b1f98accdfc3) <!-- 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 - [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 - #1655 might be related, but it seems to also implement code that is already merged, and has been open for over a year, hope its ok to suggest this --------- Co-authored-by: Michelle Tilley <michelle@michelletilley.net>
* docs: Migrate docs from separate repo to `docs` subfolder (#3018)Michelle Tilley2025-12-12
|
* fix: prevent interactive search crash when update check fails (#3016)Jonathan Hult2025-12-10
| | | | | | | | | | Relates to #2520 - Gracefully handle update check failures instead of crashing the entire interactive search UI. ## 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
* ci: fix github action syntax for variables (#2998)Zhizhen He2025-12-03
| | | | | | | | | | | | | <!-- 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 --> `${ runner.os }` -> `${{ runner.os }}` ## 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
* feat: add colors to --help/-h (#3000)Filip Czaplicki2025-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | <!-- 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 - [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 User can disable colors via `NO_COLOR=1` environment variable if needed Output of `atuin -h`: | before | after | `NO_COLOR=1` | | - | - | - | | <img width="741" height="768" alt="atuin-before" src="https://github.com/user-attachments/assets/01921ba0-e94d-4f0a-ac85-b170516e41bc" /> | <img width="741" height="768" alt="atuin-colors" src="https://github.com/user-attachments/assets/59d507e1-9a33-4091-bed7-44eef889a72d" /> | <img width="741" height="768" alt="atuin-no-color" src="https://github.com/user-attachments/assets/e6b067c6-cf17-4909-bdbf-cc2bca830244" /> |
* feat: support additional history filenames in replxx importer (#3005)Waldir Pimenta2025-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | <!-- 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 --> The original implementation of the `replxx` importer, from PR #2024, only supported `.histfile` as a filename for the history file, since there is no default filename. However, the replxx codebase does use `replxx_history.txt` as an example history filename (see [here](https://github.com/AmokHuginnsson/replxx/blob/release-0.0.4/examples/c-api.c#L183) and [here](https://github.com/AmokHuginnsson/replxx/blob/release-0.0.4/examples/cxx-api.cxx#L383)), so this patch adds support for that as an alternative filename. The implementation was modeled after [the one](https://github.com/atuinsh/atuin/blob/v18.10.0/crates/atuin-client/src/import/zsh.rs#L29-L44) currently used for the `zsh` history file importer, which also means the `replxx` importer now produces a human-friendly error if no history file is found in the expected path(s). ## 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 /cc @amosbird who introduced this importer in #2024.