<feed xmlns='http://www.w3.org/2005/Atom'>
<title>atuin/crates/atuin-server-sqlite/src/lib.rs, branch main</title>
<subtitle>Turtle. A hard-fork of atuin, focusing on a more minimal feature set</subtitle>
<id>http://git.foss-syndicate.org/bpeetz/forks/atuin/atom/crates/atuin-server-sqlite/src/lib.rs?h=main</id>
<link rel='self' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/atom/crates/atuin-server-sqlite/src/lib.rs?h=main'/>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/'/>
<updated>2026-06-10T22:54:30Z</updated>
<entry>
<title>chore: Move everything into one big crate</title>
<updated>2026-06-10T22:54:30Z</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2026-06-10T22:54:30Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=5c39e7cf284a1f6e9a1657f2deb44e359fc47eb8'/>
<id>urn:sha1:5c39e7cf284a1f6e9a1657f2deb44e359fc47eb8</id>
<content type='text'>
That helps remove duplicated code and rustc/cargo will now also show
dead code correctly.
</content>
</entry>
<entry>
<title>refactor: pull `fn into_utc` into atuin-server-database crate (#3487)</title>
<updated>2026-05-14T23:07:08Z</updated>
<author>
<name>John Oxley</name>
<email>john.oxley@gmail.com</email>
</author>
<published>2026-05-14T23:07:08Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=27cf6d2af5ae1a4884164d3b0ca44fbbf4a8fab1'/>
<id>urn:sha1:27cf6d2af5ae1a4884164d3b0ca44fbbf4a8fab1</id>
<content type='text'>
The `fn into_utc` was defined in both `atuin-server-postgres` and
`atuin-server-sqlite`, with tests being in the postgres crate. This
pulls the function into the `atuin-server-database` crate along with the
tests and references it from both crates.

## 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</content>
</entry>
<entry>
<title>refactor: Implement From&lt;sqlx::Error&gt; and clean up fix_error (#3484)</title>
<updated>2026-05-14T21:53:32Z</updated>
<author>
<name>John Oxley</name>
<email>john.oxley@gmail.com</email>
</author>
<published>2026-05-14T21:53:32Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=d98ecd58af9f6d850461b8bef430dfef70111692'/>
<id>urn:sha1:d98ecd58af9f6d850461b8bef430dfef70111692</id>
<content type='text'>
In the database crates for atuin-server, there is `fn fix_error`. This
PR implements `From&lt;sqlx::Error&gt;` on `DbError` which makes it possible
to mostly use `?` to bubble up the errors.

There are cases where `?` is not being used e.g.
```rust
    async fn get_session(&amp;self, token: &amp;str) -&gt; DbResult&lt;Session&gt; {
        sqlx::query_as("select id, user_id, token from sessions where token = $1")
            .bind(token)
            .fetch_one(&amp;self.pool)
            .await
            .map_err(fix_error)
            .map(|DbSession(session)| session)
    }
```

There are two options
## 1. Use `Into::into`
```rust
    async fn get_session(&amp;self, token: &amp;str) -&gt; DbResult&lt;Session&gt; {
        sqlx::query_as("select id, user_id, token from sessions where token = $1")
            .bind(token)
            .fetch_one(&amp;self.pool)
            .await
            .map_err(fix_error)
            .map(|DbSession(session)| session)
    }
```

## 2. Create a variable and use `?`
```rust
    async fn get_session(&amp;self, token: &amp;str) -&gt; DbResult&lt;Session&gt; {
        let session = sqlx::query_as("select id, user_id, token from sessions where token = $1")
            .bind(token)
            .fetch_one(&amp;self.pool)
            .await
            .map(|DbSession(session)| session)?;
        Ok(session)
    }
```

I chose to do option 1 as it was just a find/replace but say the word
and I'll convert them all to option 2

## 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</content>
</entry>
<entry>
<title>feat: remove user verification functionality (#3108)</title>
<updated>2026-01-27T21:56:18Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@atuin.sh</email>
</author>
<published>2026-01-27T21:56:18Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=e2b421c88479857831e938acb311aef5127f38b4'/>
<id>urn:sha1:e2b421c88479857831e938acb311aef5127f38b4</id>
<content type='text'>
&lt;!-- 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 --&gt;

## 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] &lt;165735046+greptile-apps[bot]@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>chore!: remove total_history from api index response (#3094)</title>
<updated>2026-01-23T20:27:43Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@atuin.sh</email>
</author>
<published>2026-01-23T20:27:43Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=126070068abda34fda0b880a36cc604b4ac8be2a'/>
<id>urn:sha1:126070068abda34fda0b880a36cc604b4ac8be2a</id>
<content type='text'>
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</content>
</entry>
<entry>
<title>feat: Add sqlite server support for self-hosting (#2770)</title>
<updated>2025-06-23T11:31:55Z</updated>
<author>
<name>Scotte Zinn</name>
<email>scotte@zinn.ca</email>
</author>
<published>2025-06-23T11:31:55Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=7f868711f0a7c77c868a2dd956fcc594d3d95ec8'/>
<id>urn:sha1:7f868711f0a7c77c868a2dd956fcc594d3d95ec8</id>
<content type='text'>
* 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] &lt;support@github.com&gt;
Co-authored-by: dependabot[bot] &lt;49699333+dependabot[bot]@users.noreply.github.com&gt;

* 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 &lt;noreply@anthropic.com&gt;

* 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 &lt;noreply@anthropic.com&gt;

---------

Co-authored-by: Claude &lt;noreply@anthropic.com&gt;

---------

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;
Co-authored-by: dependabot[bot] &lt;49699333+dependabot[bot]@users.noreply.github.com&gt;
Co-authored-by: Koichi Murase &lt;myoga.murase@gmail.com&gt;
Co-authored-by: jyn &lt;github@jyn.dev&gt;
Co-authored-by: Tyarel8 &lt;98483313+Tyarel8@users.noreply.github.com&gt;
Co-authored-by: Brian Cosgrove &lt;cosgroveb@gmail.com&gt;
Co-authored-by: Claude &lt;noreply@anthropic.com&gt;</content>
</entry>
</feed>
