aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-server (unfollow)
Commit message (Collapse)Author
6 dayschore: Move everything into one big crateBenedikt Peetz
That helps remove duplicated code and rustc/cargo will now also show dead code correctly.
6 dayschore: Somewhat simplify sync codeBenedikt Peetz
2026-03-23chore: Refactor CLI auth flows and token storage (#3317)Michelle Tilley
This PR eplaces the binary `is_hub_sync()` auth routing with an explicit `SyncAuth` enum that classifies the client's authentication state at runtime. This fixes a class of bugs where CLI session tokens were silently mis-stored or used with the wrong auth scheme during Hub migration.
2026-03-16chore: symlink changelog so dist can pick it upEllie Huxtable
2026-03-09chore: upgrade axum 0.7 to 0.8 to deduplicate with tonic's axumEllie Huxtable
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).
2026-02-26chore: use workspace versions (#3210)Ellie Huxtable
<!-- 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
2026-02-26chore(release): prepare for release 18.13.0-beta.2 (#3209)Ellie Huxtable
<!-- 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
2026-02-13chore(release): prepare for release 18.13.0-beta.1 (#3187)Ellie Huxtable
<!-- 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
2026-02-11chore(release): prepare for release 18.12.1 (#3172)Ellie Huxtable
<!-- 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
2026-02-09chore(release): prepare for release 18.12.0 (#3152)Ellie Huxtable
<!-- 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
2026-02-05chore(release): prepare for release 18.12.0-beta.4 (#3139)Michelle Tilley
2026-02-05chore(release): prepare for release 18.12.0-beta.3 (#3136)Ellie Huxtable
<!-- 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
2026-02-05chore(release): prepare for release 18.12.0-beta.2 (#3133)Ellie Huxtable
<!-- 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
2026-01-28chore(release): prepare for release 18.12.0-beta.1 (#3113)Ellie Huxtable
<!-- 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
2026-01-28feat: move atuin-server to its own binary (#3112)Ellie Huxtable
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
2026-01-27chore(deps): audit ssl deps (#3110)Ellie Huxtable
<!-- 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
2026-01-27feat: remove user verification functionality (#3108)Ellie Huxtable
<!-- 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>
2026-01-23chore!: remove total_history from api index response (#3094)Ellie Huxtable
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
2026-01-22chore(deps)!: update tls deps, remove built-in tls server support (#3091)Ellie Huxtable
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
2026-01-12chore(release): prepare for release 18.11.0 (#3051)Ellie Huxtable
<!-- 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
2025-12-18feat: allow disabling sync v1 (#3030)Ellie Huxtable
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
2025-12-18feat: add support for read replicas to postgres (#3029)Ellie Huxtable
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.
2025-11-17chore(deps): Update some packages realated to ring and aws-lc (#2991)Cristian Le
After `aws-lc-rs 0.15` it seems the illumos issue is resolved, so reviving the `metrics` et.al. update PR, specifically: - Update `metrics` to 0.24 and `metrics-exporter-prometheus` to 0.17 - Drop the `ring` feature from `rustls` - Update `reqwest` to 0.12 (dropping `rustls 0.21` from the lock file) There still seem to be `ring` dependencies, but not sure if these can be dropped --------- Co-authored-by: Helmut K. C. Tessarek <tessarek@evermeet.cx>
2025-10-21chore(release): prepare for release 18.10.0 (#2962)Ellie Huxtable
<!-- 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
2025-10-20chore(release): prepare for release 18.9.0 (#2952)Ellie Huxtable
<!-- 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
2025-09-10fix: run `cargo fmt`Ray Kohler
2025-09-10fix: `cargo update` and changes needed to accomodate itRay Kohler
2025-08-04chore(release): prepare for release 18.8.0 (#2858)Ellie Huxtable
2025-07-22chore: update to rust 1.88 (#2815)Ellie Huxtable
* chore: update to rust 1.88 * clippy + fmt * update ci version * update flake
2025-07-16chore(release): prepare for release 18.7.1 (#2826)Ellie Huxtable
2025-07-16chore(release): prepare for release 18.7.0 (#2823)Ellie Huxtable
* chore(release): prepare for release 18.7.0 * lockfile
2025-06-23feat: Add sqlite server support for self-hosting (#2770)Scotte Zinn
* Move db_uri setting to DbSettings * WIP: sqlite crate framework * WIP: Migrations * WIP: sqlite implementation * Add sqlite3 to Docker image * verified_at needed for user query * chore(deps): bump debian (#2772) Bumps debian from bookworm-20250428-slim to bookworm-20250520-slim. --- updated-dependencies: - dependency-name: debian dependency-version: bookworm-20250520-slim dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(doctor): mention the required ble.sh version (#2774) References: https://forum.atuin.sh/t/1047 * fix: Don't print errors in `zsh_autosuggest` helper (#2780) Previously, this would result in long multi-line errors when typing, making it hard to see the shell prompt: ``` $ Error: could not load client settings Caused by: 0: could not create config file 1: failed to create file `/home/jyn/.config/atuin/config.toml` 2: Required key not available (os error 126) Location: atuin-client/src/settings.rs:675:54 fError: could not load client settings Caused by: 0: could not create config file 1: failed to create file `/home/jyn/.config/atuin/config.toml` 2: Required key not available (os error 126) Location: atuin-client/src/settings.rs:675:54 faError: could not load client settings ``` Silence these in autosuggestions, such that they only show up when explicitly invoking atuin. * fix: `atuin.nu` enchancements (#2778) * PR feedback * Remove sqlite3 package * fix(search): prevent panic on malformed format strings (#2776) (#2777) * fix(search): prevent panic on malformed format strings (#2776) - Wrap format operations in panic catcher for graceful error handling - Improve error messages with context-aware guidance for common issues - Let runtime-format parser handle validation to avoid blocking valid formats Fixes crash when using malformed format strings by catching formatting errors gracefully and providing actionable guidance without restricting legitimate format patterns like {command} or {time}. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Satisfy cargo fmt * test(search): add regression tests for format string panic (#2776) - Add test for malformed JSON format strings that previously caused panics - Add test to ensure valid format strings continue to work - Prevent future regressions of the format string panic issue 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Koichi Murase <myoga.murase@gmail.com> Co-authored-by: jyn <github@jyn.dev> Co-authored-by: Tyarel8 <98483313+Tyarel8@users.noreply.github.com> Co-authored-by: Brian Cosgrove <cosgroveb@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
2025-05-08chore(release): prepare for release 18.6.1 (#2749)Ellie Huxtable
2025-05-06chore(release): prepare for release 18.6.0 (#2740)Ellie Huxtable
Co-authored-by: Ellie Huxtable <ellie@mac.lan>
2025-05-01chore(deps): Update postmark to 0.11 (#2730)Cristian Le
2025-04-28chore(release): prepare for release 18.6.0-beta.1 (#2723)Ellie Huxtable
2025-04-08chore(release): prepare for release 18.5.0 (#2685)Ellie Huxtable
* chore(release): prepare for release 18.5.0 * update workflow ubuntu version * revert because dist checks lol
2025-04-07chore(release): prepare for release 18.5.0-beta.3 (#2678)Ellie Huxtable
2025-04-02chore(release): prepare for release 18.5.0-beta.2Ellie Huxtable
2025-03-24chore(deps): bump tower-http from 0.5.2 to 0.6.2 (#2641)dependabot[bot]
Bumps [tower-http](https://github.com/tower-rs/tower-http) from 0.5.2 to 0.6.2. - [Release notes](https://github.com/tower-rs/tower-http/releases) - [Commits](https://github.com/tower-rs/tower-http/compare/tower-http-0.5.2...tower-http-0.6.2) --- updated-dependencies: - dependency-name: tower-http dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-19chore: migrate to rust 2024 (#2635)Ellie Huxtable
* chore: upgrade to 2024 edition * ugh unsafe * format * nixxxxxxxxxxx why
2025-03-11chore(release): prepare for release 18.5.0-beta.1 (#2622)Ellie Huxtable
* chore(release): prepare for release 18.5.0-beta.1 * no codespell on contributors
2025-03-09chore: update rust toolchain to 1.85 (#2618)Ellie Huxtable
* chore: update rust toolchain to 1.85 * nix things * make clippy happy I've replaced a bunch of &Option<String> with Option<String>. They were not in hot loops, so a single clone is really no big deal + keeps things simpler. * fmt
2025-03-09feat(health): add health check endpoint at `/healthz` (#2549)Hunter Casten
* feat(health): add health check endpoint at `/healthz` * feat(health-check): remove invalid health-check from docker compose
2025-01-07chore: Remove unneeded dependencies (#2523)Andrew Aylett
These dependencies are unused in actual code, and the test I've removed is a remnant from a move to use an external library -- it was useful to show that the mechanical transformation was correct, but it's only testing that library nowadays.
2024-12-27chore(release): prepare for release v18.4.0 (#2495)Ellie Huxtable
2024-12-05chore(release): prepare for release 18.4.0-beta.5 (#2472)Ellie Huxtable
2024-12-05chore(release): prepare for release 18.4.0-beta.4 (#2469)Ellie Huxtable
2024-10-02fix: disable mail by default, resolve #2404 (#2405)Ellie Huxtable
2024-09-09chore(deps): Update rustls and axum-server (#2382)Tobias Genannt