<feed xmlns='http://www.w3.org/2005/Atom'>
<title>atuin/crates/atuin-client/src/meta.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-client/src/meta.rs?h=main</id>
<link rel='self' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/atom/crates/atuin-client/src/meta.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>chore: Remove more useless code</title>
<updated>2026-06-10T20:26:10Z</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2026-06-10T20:26:10Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=989f01ad230423c5a5105d6c9ff8580020e902ed'/>
<id>urn:sha1:989f01ad230423c5a5105d6c9ff8580020e902ed</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: Allow authenticating with Atuin Hub (#3237)</title>
<updated>2026-03-11T15:50:17Z</updated>
<author>
<name>Michelle Tilley</name>
<email>michelle@michelletilley.net</email>
</author>
<published>2026-03-11T15:50:17Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=c8fd7d3d8f2c93c24a4a5fc41361dfed8714e73a'/>
<id>urn:sha1:c8fd7d3d8f2c93c24a4a5fc41361dfed8714e73a</id>
<content type='text'>
## Summary

This PR enables the Atuin CLI to authenticate with Atuin Hub, unifying
authentication across CLI sync and Hub features (AI, runbooks, etc.).

### Key Changes

- **Dual auth support**: New `AuthToken` enum supports both `Bearer`
(Hub) and `Token` (legacy CLI) authentication
- **Smart protocol selection**: New `sync_protocol` setting
(`auto`/`hub`/`legacy`) determines auth method. By default,
`api.atuin.sh` uses Hub auth; custom sync addresses use legacy auth
- **Hub login flow**: `atuin login` now initiates an OAuth-like flow for
Hub users—generates a code, user authorizes in browser, CLI polls for
completion
- **Account linking**: After Hub auth, silently attempts to link
existing CLI sync account to Hub account for seamless migration
- **Graceful fallback**: `sync_auth_token()` prefers Hub token when
available, falls back to CLI session token

### Auth Flow

1. User runs `atuin login` (with default sync address)
2. CLI requests auth code from Hub, displays URL
3. User opens URL, logs in/registers on Hub
4. Hub attaches API token to code
5. CLI polls, receives token, saves as hub session
6. If user had existing CLI sync account, it's automatically linked

### Backward Compatibility

- Existing self-hosted users: unaffected (legacy auth via `Token`
header)
- Existing `api.atuin.sh` users: continue working with CLI session until
they run `atuin login`
- New users: go through Hub flow automatically

## Test Plan

- [ ] New user registration via Hub flow
- [ ] Existing CLI user can still sync without changes
- [ ] `atuin login` links CLI account to Hub account
- [ ] Self-hosted users unaffected by changes
- [ ] AI commands work after Hub auth

---------

Co-authored-by: Ellie Huxtable &lt;ellie@elliehuxtable.com&gt;</content>
</entry>
<entry>
<title>feat: add Hub authentication for future sync + extra features (#3010)</title>
<updated>2026-02-12T19:58:54Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@atuin.sh</email>
</author>
<published>2026-02-12T19:58:54Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=94b2fd238ef3ce2b1b65a8a12c3ad72ef88dab40'/>
<id>urn:sha1:94b2fd238ef3ce2b1b65a8a12c3ad72ef88dab40</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: replace several files with a sqlite db (#3128)</title>
<updated>2026-02-04T21:26:06Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@atuin.sh</email>
</author>
<published>2026-02-04T21:26:06Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=57b542e8ed4335e5f66b5e008d9a8e90776ebffb'/>
<id>urn:sha1:57b542e8ed4335e5f66b5e008d9a8e90776ebffb</id>
<content type='text'>
These files have been known to have corruption issues. SQLite will
perform better across filesystems for reads/writes across threads, and
will lock as expected.

I've also put the session file in there, though I'm 50/50 on it - I'll
be replacing it with keyring storage asap anyway.

The key file is _not_ included. It should ~never be changed, and should
be easy for the user to secure + manage themselves

In the future, instead of creating more files, we can just use this as a
kv store

Resolves https://github.com/atuinsh/atuin/issues/2336, resolves
https://github.com/atuinsh/atuin/issues/1650

## 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</content>
</entry>
</feed>
