<feed xmlns='http://www.w3.org/2005/Atom'>
<title>atuin/atuin-common/Cargo.toml, 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/atuin-common/Cargo.toml?h=main</id>
<link rel='self' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/atom/atuin-common/Cargo.toml?h=main'/>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/'/>
<updated>2024-04-18T15:41:28Z</updated>
<entry>
<title>chore: move crates into crates/ dir (#1958)</title>
<updated>2024-04-18T15:41:28Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@elliehuxtable.com</email>
</author>
<published>2024-04-18T15:41:28Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=95cc472037fcb3207b510e67f1a44af4e2a2cae9'/>
<id>urn:sha1:95cc472037fcb3207b510e67f1a44af4e2a2cae9</id>
<content type='text'>
I'd like to tidy up the root a little, and it's nice to have all the
rust crates in one place</content>
</entry>
<entry>
<title>feat(dotfiles): add alias import (#1938)</title>
<updated>2024-04-10T12:01:48Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@elliehuxtable.com</email>
</author>
<published>2024-04-10T12:01:48Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=7ced31c354bdfb2e256de3ecc49bcc4f379f78af'/>
<id>urn:sha1:7ced31c354bdfb2e256de3ecc49bcc4f379f78af</id>
<content type='text'>
* feat(dotfiles): add alias import

* things

* clippy clappy</content>
</entry>
<entry>
<title>feat: add semver checking to client requests (#1456)</title>
<updated>2023-12-20T09:03:04Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@elliehuxtable.com</email>
</author>
<published>2023-12-20T09:03:04Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=86f50e0356e4b661be43c2aeba97a67d83910095'/>
<id>urn:sha1:86f50e0356e4b661be43c2aeba97a67d83910095</id>
<content type='text'>
* feat: add semver checking to client requests

This enforces that the client and the server run the same major version
in order to sync successfully.

We're using the `Atuin-Version` http header to transfer this information

If the user is not on the same MAJOR, then they will see an error like
this

&gt; Atuin version mismatch! In order to successfully sync, the client and the server must run the same *major* version
&gt; Client: 17.1.0
&gt; Server: 18.1.0
&gt; Error: could not sync records due to version mismatch

This change means two things

1. We will now only increment major versions if there is a breaking
   change for sync
2. We can now add breaking changes to sync, for any version &gt;17.1.0.
   Clients will fail in a meaningful way.

* lint, fmt, etc

* only check for client newer than server

* Add version header to client too</content>
</entry>
<entry>
<title>replace chrono with time (#806)</title>
<updated>2023-09-11T08:26:05Z</updated>
<author>
<name>Conrad Ludgate</name>
<email>conradludgate@gmail.com</email>
</author>
<published>2023-09-11T08:26:05Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=f90c01f702f6a98b041f766b6a1d857bc1b9afef'/>
<id>urn:sha1:f90c01f702f6a98b041f766b6a1d857bc1b9afef</id>
<content type='text'>
* replace chrono with time

* Fix test chrono usage

---------

Co-authored-by: Ellie Huxtable &lt;ellie@elliehuxtable.com&gt;</content>
</entry>
<entry>
<title>Add new sync (#1093)</title>
<updated>2023-07-14T19:44:08Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@elliehuxtable.com</email>
</author>
<published>2023-07-14T19:44:08Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=97e24d0d41bb743833e457de5ba49c5c233eb3b3'/>
<id>urn:sha1:97e24d0d41bb743833e457de5ba49c5c233eb3b3</id>
<content type='text'>
* Add record migration

* Add database functions for inserting history

No real tests yet :( I would like to avoid running postgres lol

* Add index handler, use UUIDs not strings

* Fix a bunch of tests, remove Option&lt;Uuid&gt;

* Add tests, all passing

* Working upload sync

* Record downloading works

* Sync download works

* Don't waste requests

* Use a page size for uploads, make it variable later

* Aaaaaand they're encrypted now too

* Add cek

* Allow reading tail across hosts

* Revert "Allow reading tail across hosts"

Not like that

This reverts commit 7b0c72e7e050c358172f9b53cbd21b9e44cf4931.

* Handle multiple shards properly

* format

* Format and make clippy happy

* use some fancy types (#1098)

* use some fancy types

* fmt

* Goodbye horrible tuple

* Update atuin-server-postgres/migrations/20230623070418_records.sql

Co-authored-by: Conrad Ludgate &lt;conradludgate@gmail.com&gt;

* fmt

* Sort tests too because time sucks

* fix features

---------

Co-authored-by: Conrad Ludgate &lt;conradludgate@gmail.com&gt;</content>
</entry>
<entry>
<title>record encryption (#1058)</title>
<updated>2023-06-26T06:52:37Z</updated>
<author>
<name>Conrad Ludgate</name>
<email>conradludgate@gmail.com</email>
</author>
<published>2023-06-26T06:52:37Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=6c53242b64fcd167d1a7016d6332e7a29e20d4cd'/>
<id>urn:sha1:6c53242b64fcd167d1a7016d6332e7a29e20d4cd</id>
<content type='text'>
* record encryption

* move paserk impl

* implicit assertions

* move wrapped cek

* add another test

* use host

* undo stray change

* more tests and docs

* fmt

* Update atuin-client/src/record/encryption.rs

Co-authored-by: Matteo Martellini &lt;matteo@mercxry.me&gt;

* Update atuin-client/src/record/encryption.rs

Co-authored-by: Matteo Martellini &lt;matteo@mercxry.me&gt;

* typo

---------

Co-authored-by: Matteo Martellini &lt;matteo@mercxry.me&gt;</content>
</entry>
<entry>
<title>Add RecordIndex data structure (#1059)</title>
<updated>2023-06-19T08:02:15Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@elliehuxtable.com</email>
</author>
<published>2023-06-19T08:02:15Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=9558fec211299fa51f1df72e32e75e4ba0365349'/>
<id>urn:sha1:9558fec211299fa51f1df72e32e75e4ba0365349</id>
<content type='text'>
* Add RecordIndex data structure

This allows us to compare two sets of record stores, and return a list
of diffs.

With these diffs, we should be able to sync the two stores

* Remove server handler, will follow up with this

* Make clippy happy

* Add tests and docs for diffs in both directions

* Update atuin-common/src/record.rs

Co-authored-by: Conrad Ludgate &lt;conradludgate@gmail.com&gt;

---------

Co-authored-by: Conrad Ludgate &lt;conradludgate@gmail.com&gt;</content>
</entry>
<entry>
<title>Key values (#1038)</title>
<updated>2023-06-14T20:18:24Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@elliehuxtable.com</email>
</author>
<published>2023-06-14T20:18:24Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=ae1709dafd22ac3c64441472e90df8799253292e'/>
<id>urn:sha1:ae1709dafd22ac3c64441472e90df8799253292e</id>
<content type='text'>
* wip

* Start testing

* Store host IDs, not hostnames

Why? Hostnames can change a lot, and therefore host filtering can be
funky. Really, all we want is a unique ID per machine + do not care what
it might be.

* Mostly just write a fuckload of tests

* Add a v0 kv store I can push to

* Appending works

* Add next() and iterate, test the pointer chain

* Fix sig

* Make clippy happy and thaw the ICE

* Fix tests'

* Fix tests

* typed builder and cleaner db trait

---------

Co-authored-by: Conrad Ludgate &lt;conrad.ludgate@truelayer.com&gt;</content>
</entry>
<entry>
<title>Workspace reorder (#868)</title>
<updated>2023-04-14T19:18:58Z</updated>
<author>
<name>Vladislav Stepanov</name>
<email>8uk.8ak@gmail.com</email>
</author>
<published>2023-04-14T19:18:58Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=c05d2850420a2c163b8f62c33a6cef7c0ae1ad8d'/>
<id>urn:sha1:c05d2850420a2c163b8f62c33a6cef7c0ae1ad8d</id>
<content type='text'>
* Try different workspace structure

Move main crate (atuin) to be on the same level with other crates in
this workspace

* extract common dependencies to the workspace definition

* fix base64 v0.21 deprecation warning

* questionable: update deps &amp; fix chrono deprecations

possible panic sites are unchanged, they're just more visible now

* Revert "questionable: update deps &amp; fix chrono deprecations"

This reverts commit 993e60f8dea81a1625a04285a617959ad09a0866.</content>
</entry>
<entry>
<title>Switch to uuidv7 (#864)</title>
<updated>2023-04-11T15:26:16Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@elliehuxtable.com</email>
</author>
<published>2023-04-11T15:26:16Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=03dd3ddf8b8c0ad254850cd940728c888dd7a80c'/>
<id>urn:sha1:03dd3ddf8b8c0ad254850cd940728c888dd7a80c</id>
<content type='text'>
* Add uuid_v7

* Actually use the new uuid

* Add a test to ensure all uuids are unique, even in a tight loop

* Make clippy happy</content>
</entry>
</feed>
