<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-keymgr/semver.md, branch arti-v1.9.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.9.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.9.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-01-06T15:25:20Z</updated>
<entry>
<title>keymgr: Make CTorPath more like the client/service specifiers</title>
<updated>2026-01-06T15:25:20Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-06T10:43:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=71178a54dc8c3c3ed75b14ecbca3197feb22accc'/>
<id>urn:sha1:71178a54dc8c3c3ed75b14ecbca3197feb22accc</id>
<content type='text'>
This will make it easier to see the correspondence between CTorPaths
and the HS client/service key specifiers.

Initially, I was hoping this would make it easier to write a d-d macro
that automatically derives a `CTorPath` variant (e.g.
`HsClientDescEncKeypair`) from the KeySpecifier type name
(`HsClientDescEncKeypairSpecifier`), but alas, I don't think d-d can
"chop off" name suffixes ("Specifier", in this case).
`from_ctor_path()`/`ctor_path()` implementations for converting
`CTorPath`s to and from key specifiers.
</content>
</entry>
<entry>
<title>keymgr: Split out ArtiPathError from KeyPathError</title>
<updated>2026-01-06T15:25:19Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-05T11:48:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c89c30f258c7bd6e35fedc0ffbb739ee2d2544b0'/>
<id>urn:sha1:c89c30f258c7bd6e35fedc0ffbb739ee2d2544b0</id>
<content type='text'>
This makes the error handling around `KeyPath`s a bit more sensible,
IMO, and it will make it easier to extend it for `CTorPath` errors.
</content>
</entry>
<entry>
<title>keymgr: Move Unrecognized errors out of KeyPathError</title>
<updated>2026-01-06T15:25:19Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-05T11:07:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0f2b9e7914580e2b0c58936c22f80996781df014'/>
<id>urn:sha1:0f2b9e7914580e2b0c58936c22f80996781df014</id>
<content type='text'>
Out of all the variants in `KeyPathError`, `Unrecognized` is the odd one
out, because unlike the others, which are mainly just lower level
parsing errors, `Unrecognized` is a higher level error constructed in
`KeyMgr::describe()`.

`KeyMgr::describe()` now returns an `Option`, because

  * the failure to describe a user provided `KeyPath` may or may not be
    an error
  * previously, `describe()` would only ever return `Ok` or
    `Err(KeyPathError::Unrecognized)`, which essentially a binary
    result. Also, `describe()` would never return any of the other
    `KeyPathError` kinds, which further suggests `Unrecognized`
    doesn't belong there

The `Unrecognized` variant still exists, but is now part of
`KeystoreCorruptionError`, (returned from
`KeyMgr::validate_entry_integrity()`).
</content>
</entry>
<entry>
<title>Remove semver.md files, post-release.</title>
<updated>2025-08-05T18:12:52Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-08-05T18:12:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ea4063c9cf01d40c15f0380607ae35b5f0d4ce5b'/>
<id>urn:sha1:ea4063c9cf01d40c15f0380607ae35b5f0d4ce5b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: keys: Add arti keys-raw</title>
<updated>2025-07-14T14:33:56Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2025-07-10T08:07:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6958b6c89be93c77a68ab8a080a2f313bff02df0'/>
<id>urn:sha1:6958b6c89be93c77a68ab8a080a2f313bff02df0</id>
<content type='text'>
* CLI: Add `keys-raw` and subcommand `remove-by-path`
* arti: Add `arti::subcommand::raw` for the CLI `keys-raw`
* tor-keymgr: Add `ArtiNativeKeystoreError::UnexpectedRawEntry`,
  `ArtiEphemeralKeystoreError::NotSupported`
* tor-keymgr: Add `tor-keymgr::raw` module
* tor-keymgr: Add `Keystore::remove_unchecked`
* tor-keymgr: Change `Keystore::list` to return `KeystoreEntry`
* tor-keymgr: Add field `KeystoreEntry::raw_id`
* doc: Update keys.md
* doc: Add raw.md
* tor-keymgr: BREAKING: `UnrecognizedEntryError::new` associated
  function is now only accessible within the crate `tor-keymgr`
* tor-keymgr: BREAKING: `UnrecognizedEntryId` is renamed to
  `UnrecognizedEntry`
* tor-keymgr: BREAKING: `KeyMgr::list()` and `Keystore::list()`
  now return `Result&lt;Vec&lt;KeystoreEntryResult&lt;KeystoreEntry&gt;&gt;&gt;`
</content>
</entry>
<entry>
<title>release: Delete semver.md files after release.</title>
<updated>2025-06-05T13:45:22Z</updated>
<author>
<name>Alexander Hansen Færøy</name>
<email>ahf@torproject.org</email>
</author>
<published>2025-06-05T13:45:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a59953da8d68cbf8ffdc8711e3fc5ec3bba77ae4'/>
<id>urn:sha1:a59953da8d68cbf8ffdc8711e3fc5ec3bba77ae4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-keymgr: BREAKING: Refactor API: Keystore::list</title>
<updated>2025-05-30T13:50:30Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2025-05-20T08:28:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a5608979813c4465d5299ffb3bcaaa5892807742'/>
<id>urn:sha1:a5608979813c4465d5299ffb3bcaaa5892807742</id>
<content type='text'>
* Change return type `Result&lt;Vec&lt;(KeyPath, KeystoreItemType)&gt;&gt;` if favor
of `Result&lt;Vec&lt;StdResult&lt;(KeyPath, KeystoreItemType), UnrecognizedEntryError&gt;&gt;&gt;`
</content>
</entry>
<entry>
<title>release: Bump all unstable tor/arti crates to 0.30.0</title>
<updated>2025-05-01T16:22:28Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-05-01T15:55:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=770aaa9648d42835b2c6b3b29f4051d287ddba88'/>
<id>urn:sha1:770aaa9648d42835b2c6b3b29f4051d287ddba88</id>
<content type='text'>
```
for crate in $(./maint/list_crates  | rg '^(tor|arti-)'); do
    cargo set-version -p $crate 0.30.0
done
```
</content>
</entry>
<entry>
<title>tor-keymgr: BREAKING: Refactor API: Keystore::insert</title>
<updated>2025-04-02T15:40:15Z</updated>
<author>
<name>playbahn</name>
<email>plabanroy69@gmail.com</email>
</author>
<published>2025-04-02T15:40:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f9aa4fb2c635a3fa9efd4917e59e3352ee2ef75b'/>
<id>urn:sha1:f9aa4fb2c635a3fa9efd4917e59e3352ee2ef75b</id>
<content type='text'>
Drop redundant/unused param item_type: &amp;KeystoreItemType from
keystore::Keystore::insert. Method now uses param
key: &amp;dyn EncodableItem to obtain a KeystoreItemType
</content>
</entry>
<entry>
<title>Remove semver.md files after 1.3.2 release</title>
<updated>2025-01-07T17:35:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-07T17:35:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b6f7e815065c0659c77a58052e6f7c0338b4056e'/>
<id>urn:sha1:b6f7e815065c0659c77a58052e6f7c0338b4056e</id>
<content type='text'>
</content>
</entry>
</feed>
