aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* fix: halt sync loop if server returns an empty page (#3122)Ellie Huxtable2026-02-02
| | | | | | | | | | | | | We had an issue where the server was returning an empty page, when it should not, and causing the client to keep looping While such bugs should not happen, putting the client into a loop does not help ## 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: update the `[keys]` docs (#3114)Lucas Trzesniewski2026-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is related to: - #3090 - #1906 --- ## No longer relevant: ~I often just hold the backspace key to clear the query line in Atuin, and the change in #3090 makes it no longer possible: it accepts the current history entry instead.~ 🤯 ~It may be a muscle memory thing, but it also feels wrong to me for the left key to accept the current entry. I'd prefer for it to do nothing when the cursor is at the start of the line (I've set `exit_past_line_start = false` in my config).~ ~This PR makes the new behavior configurable: it adds an `accept_past_empty_line` setting (naming is *hard*, feel free to find a better name) which lets you disable it. It also updates the `[keys]` docs.~ BTW wouldn't setting the `accept_past_line_start` and `accept_with_backspace` settings to `true` (maybe by default) have the same effect as what #3090 introduced? ## 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(CONTRIBUTING): update links (#3117)Zhizhen He2026-02-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 --> Update the form link. ## 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: larger exit column width on Windows (#3119)Lucas Trzesniewski2026-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The default width of the `exit` column is 3, which matches the 0-255 values on Linux. However, on Windows it is a 32-bit integer, and can be anything from -2147483648 to 2147483647. Popular tools such as `winget` apparently make use of that. Here's an example with `columns = ["exit", "time", "duration", "directory", "command"]`: <img width="647" height="416" alt="image" src="https://github.com/user-attachments/assets/d73b0487-3c77-4049-8487-01b2aab29a44" /> This PR changes the default column width to 11 on Windows to match these values. The result is: <img width="601" height="412" alt="image" src="https://github.com/user-attachments/assets/b4b95f40-f223-400d-83c4-74d71e070b3e" /> ## 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(powershell): preserve `$LASTEXITCODE` (#3120)Lucas Trzesniewski2026-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `$LASTEXITCODE` is an [automatic variable](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-7.5#lastexitcode) in PowerShell which holds the exit code of the last *native* program which has run. It's a close equivalent to `$?` in bash (PowerShell also has [its own `$?` variable](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-7.5#section-1), but it's a boolean). Atuin is a native program, and the `PSConsoleHostReadLine` function calls `atuin history start`, which resets this variable to 0 (or to something else if it fails). This PR resets this variable to its previous value, as it is that one which the user will expect. Before: <img width="453" height="225" alt="image" src="https://github.com/user-attachments/assets/5fc781d3-dbba-4737-b2ec-7ba73739d006" /> After: <img width="460" height="212" alt="image" src="https://github.com/user-attachments/assets/a2db9bca-343c-48fc-ab45-167e0dd6f7f9" /> Default behavior (without a profile file or Atuin): <img width="351" height="147" alt="image" src="https://github.com/user-attachments/assets/47d6aa28-1ea9-4e55-9879-98359ad3fbcf" /> ## 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 whoami dependency to v2 (#3118)Ben Beasley2026-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <!-- 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 --> In the [2.0.0](https://github.com/ardaku/whoami/releases/tag/v2.0.0) series, `whoami` removed all infallible function variants, and removed the `fallible` module, moving those functions to the root module. Therefore, I replaced `whoami::fallible::hostname` with `whoami::hostname` (the same function with the same signature, just moved to the root module). For `whoami::username`, the infallible function that `atuin` was using before is gone, and we must add error handling. I chose to fall back to the string `"unknown-user"` if getting the username fails, just as `"unknown-host"` is already the fallback when getting the hostname fails. This seemed reasonable to me, but it’s worth double-checking if there could be any unintended consequences, especially if `unknown-user` happens to be a real, valid username on the system. The alternatives I can see would be to panic on failure or to amend the signature of `get_username()` and all of its call sites with some kind of more graceful error handling (what?). ## 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(README): update links (#3116)Zhizhen He2026-01-30
|
* Revert "feat: left arrow/backspace on empty to start edit" (#3115)Ellie Huxtable2026-01-29
| | | | | | | | | | Reverts atuinsh/atuin#3090 Can be achieved by setting ``` accept_past_line_start = true accept_with_backspace = true ```
* chore: update changelogEllie Huxtable2026-01-28
|
* chore(release): prepare for release 18.12.0-beta.1 (#3113)Ellie Huxtable2026-01-28
| | | | | | | | | | | | <!-- 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: move atuin-server to its own binary (#3112)Ellie Huxtable2026-01-28
| | | | | | | | | | | | | | | | | | | | | | A combined binary was an early dev decision, when I thought most users would be self hosting. It is now clear that in actual fact, most users do not self host. So let's avoid forcing every user to have a copy of the server literally linked in, and let's stop building server deps over and over. The deployment for this shouldn't change. `dist` will build a binary for this automatically, and will also add it to the installer. The latter is perhaps something we should explore changing too! <!-- 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 option to use tmux display-popup (#3058)Kkoi2026-01-28
| | | | | | | | | | | | | | | | | | | | | | | | This is a "continuation" of #1177 - which was a draft that used FIFOs (named pipes) to get output from the popup, however this causes popup not being closed properly, so in this PR I use tmpfile to store the result and read after popup closes. @ellie could you review this PR please? P.S. Thank you @immae for sharing your idea! ## Feature + Option to use tmux popup window in `config.toml` + Customize window width/height in `config.toml` + Tmux display-popup for `zsh, bash, fish` ## 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: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* fix: new session on shlvl change (#3111)Ellie Huxtable2026-01-27
| | | | | | | | | eg, the user uses tmux, runs zsh again as a nested session, etc ## 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(deps): audit ssl deps (#3110)Ellie Huxtable2026-01-27
| | | | | | | | | | | | <!-- 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: custom data dir test on windows (#3109)Ellie Huxtable2026-01-27
| | | | | | | | | | | | <!-- 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: remove user verification functionality (#3108)Ellie Huxtable2026-01-27
| | | | | | | | | | | | | | | | <!-- 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(deps): cleanup of dep versions (#3106)Ellie Huxtable2026-01-27
| | | | | | | | | | | | | | Ensure we aren't using multiple versions, etc <!-- 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: do not set ATUIN_SESSION if it is already set (#3107)Ellie Huxtable2026-01-27
| | | | | | | | | | | | <!-- 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(ui): align cursor when expand column is in the middle (#3103)依云2026-01-27
| | | | | | | | | | | | | | | | Also change the trailing space of each column to be drawn in `render_row` instead so that each column is separated by a space no matter how they are ordered. <!-- 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
* feat: support setting a custom data dir in config (#3105)Ellie Huxtable2026-01-27
| | | | | | | | | | | | <!-- 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(deps): Update to ratatui 0.30.0 (#3104)Tobias Genannt2026-01-27
| | | | | | | | | | | | <!-- 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: do not hit sync v1 endpoints for status (#3102)Ellie Huxtable2026-01-26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | resolves #3054 <!-- 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: do not hit sync v1 endpoints for statusEllie Huxtable2026-01-26
|/ | | | resolves #3054
* chore: update to rust 1.93 (#3101)Ellie Huxtable2026-01-26
|\ | | | | | | | | | | | | | | | | | | | | | | <!-- 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
| * clippy clappyEllie Huxtable2026-01-26
| |
| * chore: update to rust 1.93Ellie Huxtable2026-01-26
|/
* chore(deps): bump lukemathwalker/cargo-chef from ↵Ellie Huxtable2026-01-26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | latest-rust-1.92.0-slim-bookworm to latest-rust-1.93.0-slim-bookworm (#3099) Bumps lukemathwalker/cargo-chef from latest-rust-1.92.0-slim-bookworm to latest-rust-1.93.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.92.0-slim-bookworm&new-version=latest-rust-1.93.0-slim-bookworm)](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>
| * 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>
* | chore(deps): bump debian from bookworm-20251208-slim to ↵Ellie Huxtable2026-01-26
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bookworm-20260112-slim (#3100) Bumps debian from bookworm-20251208-slim to bookworm-20260112-slim. [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=debian&package-manager=docker&previous-version=bookworm-20251208-slim&new-version=bookworm-20260112-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>
| * | chore(deps): bump debiandependabot[bot]2026-01-26
| |/ | | | | | | | | | | | | | | | | | | | | | | Bumps debian from bookworm-20251208-slim to bookworm-20260112-slim. --- updated-dependencies: - dependency-name: debian dependency-version: bookworm-20260112-slim dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
* | feat(ui): highlight fulltext search as fulltext search instead of fuzzy ↵Ellie Huxtable2026-01-26
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | search (#3098) also parse query in one place. This supersedes #3097 and can highlight regex matches as well. <!-- 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 for inverse matchinglilydjwg2026-01-25
| | |
| * | fix for 'termlilydjwg2026-01-25
| | |
| * | feat(ui): highlight fulltext search as fulltext search instead of fuzzy searchlilydjwg2026-01-25
| | | | | | | | | | | | also parse query in one place
* | | docs: add PowerShell and Windows install instructions (#3096)Ellie Huxtable2026-01-26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds instructions for: - Installing Atuin on Windows using [WinGet](https://github.com/microsoft/winget-cli), which is the official Windows package manager shipped with Windows 11, - Initializing Atuin in PowerShell by editing its profile file. It also adds mentions of PowerShell support at the tier 2 level. I hope this is ok, as we now have a Windows build in the releases and an easy way to distribute it using a package manager. Many thanks to @mloskot for [submitting the manifest](https://github.com/microsoft/winget-pkgs/pull/331328) to the WinGet community repository. 🚀 Closes #2386 ## 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: add PowerShell install instructionsLucas Trzesniewski2026-01-24
| | |/ | |/| | | | | | | Co-authored-by: Mateusz Łoskot <mateusz@loskot.net>
* | | Align cursor with the expand column (usually the command) (#3095)Ellie Huxtable2026-01-26
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <!-- 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 This pr improves the following: <img width="842" height="444" alt="before" src="https://github.com/user-attachments/assets/aa6414f6-5d24-4053-97d2-093e2bc1bbe3" /> <img width="1512" height="440" alt="before2" src="https://github.com/user-attachments/assets/cdc14909-02a3-4484-8306-0bca5648406d" /> into: <img width="1034" height="444" alt="after" src="https://github.com/user-attachments/assets/fbcd7bcd-dc03-448a-93b5-0537faaa490e" /> <img width="1160" height="436" alt="after2" src="https://github.com/user-attachments/assets/728c125f-6c0a-4b67-ab25-e1b58430f195" />
| * | fix(ui): align cursor with the expand column (usually the command)lilydjwg2026-01-24
| | |
| * | fix(ui): time column can take up to 9 cellslilydjwg2026-01-24
| | |
| * | fix(ui): don't draw a leading space for commandlilydjwg2026-01-24
|/ /
* | 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>