<feed xmlns='http://www.w3.org/2005/Atom'>
<title>atuin/crates/atuin-client, 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?h=main</id>
<link rel='self' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/atom/crates/atuin-client?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: Somewhat simplify sync code</title>
<updated>2026-06-10T21:12:17Z</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2026-06-10T21:12:17Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=9eb2ffb2e9b52cdec70acb268e7a12131811db10'/>
<id>urn:sha1:9eb2ffb2e9b52cdec70acb268e7a12131811db10</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: Turn all `allow`s into into `expect`s</title>
<updated>2026-06-10T20:28:10Z</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2026-06-10T20:28:10Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=b4011176cc4b68aed77a6946610a3dcf3b938e95'/>
<id>urn:sha1:b4011176cc4b68aed77a6946610a3dcf3b938e95</id>
<content type='text'>
</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: Capture command output + expose to new `atuin_output` tool (#3510)</title>
<updated>2026-06-08T16:12:45Z</updated>
<author>
<name>Michelle Tilley</name>
<email>michelle@michelletilley.net</email>
</author>
<published>2026-06-08T16:12:45Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=bcdf8c8cde31e826000f1b2d6eeaebdd865a07c1'/>
<id>urn:sha1:bcdf8c8cde31e826000f1b2d6eeaebdd865a07c1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: update GitHub app token format</title>
<updated>2026-06-04T07:33:00Z</updated>
<author>
<name>Chris Rose</name>
<email>offline@offby1.net</email>
</author>
<published>2026-06-04T07:33:00Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=c54d4921662acb372666885037febb5cfde81977'/>
<id>urn:sha1:c54d4921662acb372666885037febb5cfde81977</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(release): prepare for release 18.16.1 (#3476)</title>
<updated>2026-05-12T23:36:53Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@atuin.sh</email>
</author>
<published>2026-05-12T23:36:53Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=671f96b60dac49d1d2de73cc0812986a5e22ce7b'/>
<id>urn:sha1:671f96b60dac49d1d2de73cc0812986a5e22ce7b</id>
<content type='text'>
## 18.16.1

### Bug Fixes

- *(shell/xonsh)* Use os.devnull instead of hard-coded /dev/null
([#3464](https://github.com/atuinsh/atuin/issues/3464))
- Atuin update on windows
([#3453](https://github.com/atuinsh/atuin/issues/3453))
- Ensure local key matches remote data before syncing
([#3474](https://github.com/atuinsh/atuin/issues/3474))

### Documentation

- Add related projects section to README

### Features

- *(ui)* Prominent banner for wrong-key errors at login/sync
([#3475](https://github.com/atuinsh/atuin/issues/3475))

### Miscellaneous Tasks

- Generate LLM-optimized docs
([#3468](https://github.com/atuinsh/atuin/issues/3468))
- Rename 'atuin hex' to 'atuin pty-proxy'
([#3473](https://github.com/atuinsh/atuin/issues/3473))</content>
</entry>
<entry>
<title>fix: ensure local key matches remote data before syncing (#3474)</title>
<updated>2026-05-12T20:45:02Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@atuin.sh</email>
</author>
<published>2026-05-12T20:45:02Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=8c8730e1d559442832a794c91471bd3a0426e856'/>
<id>urn:sha1:8c8730e1d559442832a794c91471bd3a0426e856</id>
<content type='text'>
We rely on the user to manage their keys. This is ok, and is
intentionally part of our security model

However. If the user messes up, they corrupt their remote store. It is
possible to work around and fix, but not without difficulty. This change
ensures that if the local key does not match the remote data, no data is
synced and the user has a chance to fix it before breaking things.

## 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>
<entry>
<title>fix: atuin update on windows (#3453)</title>
<updated>2026-05-04T20:12:12Z</updated>
<author>
<name>Lucas Trzesniewski</name>
<email>lucas.trzesniewski@gmail.com</email>
</author>
<published>2026-05-04T20:12:12Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=9609759d775c8851d84eadf983c51db2798ebc81'/>
<id>urn:sha1:9609759d775c8851d84eadf983c51db2798ebc81</id>
<content type='text'>
This fixes the `atuin update` command on Windows.

Windows doesn't let you overwrite a running exe, but it lets you rename
it. This PR special-cases the official `update` plugin by renaming the
running `atuin.exe` to `atuin.old` before the update, and rolling it
back if the update fails.

Note that the `atuin.old` file is left behind on success, which
shouldn't be a problem in practice: it will be overwritten on the next
call to `atuin update` (also deleted if there's no update available),
and is located in `~/.atuin/bin`, which is an isolated location specific
to Atuin.

Fixes #3451

## 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>chore(release): prepare for release 18.16.0 (#3457)</title>
<updated>2026-04-28T21:58:32Z</updated>
<author>
<name>Michelle Tilley</name>
<email>michelle@michelletilley.net</email>
</author>
<published>2026-04-28T21:58:32Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=04a5f5fdb67d90e8221accb1c9abace9a1efbb16'/>
<id>urn:sha1:04a5f5fdb67d90e8221accb1c9abace9a1efbb16</id>
<content type='text'>
</content>
</entry>
</feed>
