aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-server (follow)
Commit message (Collapse)AuthorAge
* 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
* 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: 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.
* chore(deps): Update some packages realated to ring and aws-lc (#2991)Cristian Le2025-11-17
| | | | | | | | | | | | | | 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>
* chore(release): prepare for release 18.10.0 (#2962)Ellie Huxtable2025-10-21
| | | | | | | | | | | | <!-- 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(release): prepare for release 18.9.0 (#2952)Ellie Huxtable2025-10-20
| | | | | | | | | | | | <!-- 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: run `cargo fmt`Ray Kohler2025-09-10
|
* fix: `cargo update` and changes needed to accomodate itRay Kohler2025-09-10
|
* chore(release): prepare for release 18.8.0 (#2858)Ellie Huxtable2025-08-04
|
* chore: update to rust 1.88 (#2815)Ellie Huxtable2025-07-22
| | | | | | | | | * chore: update to rust 1.88 * clippy + fmt * update ci version * update flake
* chore(release): prepare for release 18.7.1 (#2826)Ellie Huxtable2025-07-16
|
* chore(release): prepare for release 18.7.0 (#2823)Ellie Huxtable2025-07-16
| | | | | * chore(release): prepare for release 18.7.0 * lockfile
* feat: Add sqlite server support for self-hosting (#2770)Scotte Zinn2025-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* chore(release): prepare for release 18.6.1 (#2749)Ellie Huxtable2025-05-08
|
* chore(release): prepare for release 18.6.0 (#2740)Ellie Huxtable2025-05-06
| | | Co-authored-by: Ellie Huxtable <ellie@mac.lan>
* chore(deps): Update postmark to 0.11 (#2730)Cristian Le2025-05-01
|
* chore(release): prepare for release 18.6.0-beta.1 (#2723)Ellie Huxtable2025-04-28
|
* chore(release): prepare for release 18.5.0 (#2685)Ellie Huxtable2025-04-08
| | | | | | | * chore(release): prepare for release 18.5.0 * update workflow ubuntu version * revert because dist checks lol
* chore(release): prepare for release 18.5.0-beta.3 (#2678)Ellie Huxtable2025-04-07
|
* chore(release): prepare for release 18.5.0-beta.2Ellie Huxtable2025-04-02
|
* chore(deps): bump tower-http from 0.5.2 to 0.6.2 (#2641)dependabot[bot]2025-03-24
| | | | | | | | | | | | | | | 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>
* chore: migrate to rust 2024 (#2635)Ellie Huxtable2025-03-19
| | | | | | | | | * chore: upgrade to 2024 edition * ugh unsafe * format * nixxxxxxxxxxx why
* chore(release): prepare for release 18.5.0-beta.1 (#2622)Ellie Huxtable2025-03-11
| | | | | * chore(release): prepare for release 18.5.0-beta.1 * no codespell on contributors
* chore: update rust toolchain to 1.85 (#2618)Ellie Huxtable2025-03-09
| | | | | | | | | | | | | | * 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
* feat(health): add health check endpoint at `/healthz` (#2549)Hunter Casten2025-03-09
| | | | | * feat(health): add health check endpoint at `/healthz` * feat(health-check): remove invalid health-check from docker compose
* chore: Remove unneeded dependencies (#2523)Andrew Aylett2025-01-07
| | | | | | 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.
* chore(release): prepare for release v18.4.0 (#2495)Ellie Huxtable2024-12-27
|
* chore(release): prepare for release 18.4.0-beta.5 (#2472)Ellie Huxtable2024-12-05
|
* chore(release): prepare for release 18.4.0-beta.4 (#2469)Ellie Huxtable2024-12-05
|
* fix: disable mail by default, resolve #2404 (#2405)Ellie Huxtable2024-10-02
|
* chore(deps): Update rustls and axum-server (#2382)Tobias Genannt2024-09-09
|
* fix(mail): enable correct tls features for postmark client (#2347)Ellie Huxtable2024-08-06
|
* fix(mail): incorrect alias and error logs (#2346)Ellie Huxtable2024-08-06
|
* chore(release): prepare for release v18.4.0-beta.3 (#2305)Ellie Huxtable2024-07-23
|
* chore(release): prepare for release v18.4.0-beta.2 (#2287)Ellie Huxtable2024-07-16
| | | | | | | | | | | | | | | * feat(gui): add runbook list, ability to create and delete, sql storage (#2282) * wip * saving works :)) * functioning delete button * persist selection properly * update contributors * update changelog
* feat: allow advertising a fake version to clients (#2228)Ellie Huxtable2024-07-02
| | | | | | | | | * feat: allow advertising a fake version to clients The server usually runs unstable Atuin, and is well monitored. But let's not advertised the unstable version to clients, as they will notify users there is an update available. * fix test build
* perf: write to the idx cache (#2225)Ellie Huxtable2024-07-02
|
* chore(deps): bump postmark from 0.10.0 to 0.10.1 (#2217)dependabot[bot]2024-07-01
| | | | | | | | | | | | | | | | Bumps [postmark](https://github.com/pastjean/postmark-rs) from 0.10.0 to 0.10.1. - [Release notes](https://github.com/pastjean/postmark-rs/releases) - [Changelog](https://github.com/pastjean/postmark-rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/pastjean/postmark-rs/compare/v0.10.0...v0.10.1) --- updated-dependencies: - dependency-name: postmark dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(release): prepare for release v18.4.0-beta.1 (#2195)Ellie Huxtable2024-06-25
| | | | | * chore(release): prepare for release v18.4.0-beta.1 * remove full release test
* feat: add user account verification (#2190)Ellie Huxtable2024-06-24
| | | | | | | | | | | | | | | | | | | * add verified column to users table * add database functions to check if verified, or to verify * getting there * verification check * use base64 urlsafe no pad * add verification client * clippy * correct docs * fix integration tests
* chore(release): prepare for release v18.3.0 (#2105)Ellie Huxtable2024-06-10
| | | | | | | | | * chore(release): prepare for release v18.3.0 * build full release * Revert "build full release" This reverts commit 65e7718b51927ca6cb03a411cce781b81cb64eaa.
* chore(release): v18.3.0-prerelease.1 (#2090)Ellie Huxtable2024-06-05
| | | | | | | * chore(release): v18.3.0-prerelease.1 * update contributors * changelog, plan only on prs
* chore(deps): relax sqlx and argon2 dependencies (#2065)Cristian Le2024-05-31
| | | | | * Bump sqlx dependency * Relax dependencies for Fedora
* fix: alias enable/enabled in settings (#2021)Ellie Huxtable2024-05-14
|
* feat: add background daemon (#2006)Ellie Huxtable2024-05-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * init daemon crate * wip * minimal functioning daemon, needs cleanup for sure * better errors * add signal cleanup * logging * things * add sync worker * move daemon crate * 30s -> 5mins * make clippy happy * fix stuff maybe? * fmt * trim packages * rate limit fix * more protoc huh * this makes no sense, why linux why * can it install literally just curl * windows in ci is slow, and all the newer things will not work there. disable the daemon feature and it will build * add daemon feature * maybe this * ok wut where is protoc * try setting protoc * hm * try copying protoc * remove optional * add cross config * idk nix * does nix want this? * some random pkg I found does this * uh oh * hack, be gone! * update contributing
* chore: add some more debug logs (#1979)Ellie Huxtable2024-04-25
| | | | | | | | | | | | P99 is usually <100ms which is excellent, but occasionally has big spikes to 1000ms. This is only on the record index. I don't want this to get out of hand. I've ran a few test queries and they all complete very fast, and are purely index scans. Hopefully this helps figure out if it's a specific user with tonnes of stores or something? Otherwise there could be something up with my db. I should probably also figure out some proper log levels or tracing lol.
* chore: add some more logging to handlers (#1971)Ellie Huxtable2024-04-22
|
* chore: move crates into crates/ dir (#1958)Ellie Huxtable2024-04-18
I'd like to tidy up the root a little, and it's nice to have all the rust crates in one place