<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-relay, branch arti-v2.4.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-06-01T16:32:03Z</updated>
<entry>
<title>Bump all the unstable tor- and arti- crates to 0.43.0</title>
<updated>2026-06-01T16:32:03Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-06-01T16:32:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2100e7c8586af3616310d2bc18bbe971af77f1f1'/>
<id>urn:sha1:2100e7c8586af3616310d2bc18bbe971af77f1f1</id>
<content type='text'>
Done using:

```
for crate in $(./maint/list-crates  | rg '^(tor|arti-)'); do
    cargo set-version -p $crate 0.43.0
done
```
</content>
</entry>
<entry>
<title>Bump the versions of the non-{arti-,tor-} crates</title>
<updated>2026-06-01T16:30:04Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-06-01T16:30:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d480c7653c219e019ad3f2387dfdce7f6d85e4d3'/>
<id>urn:sha1:d480c7653c219e019ad3f2387dfdce7f6d85e4d3</id>
<content type='text'>
The non-{arti-,tor-} crates are:
```
./maint/list-crates  | rg -v '^(tor|arti)'
oneshot-fused-workaround
web-time-compat
slotmap-careful
test-temp-dir
fslock-guard
hashx
equix
caret
fs-mistrust
safelog
retry-error
futures-copy
```

We split them in the following categories:
  * crates with no changes (no version bumps):

    ```
     oneshot-fused-workaround: No change.
     web-time-compat: No change.
     slotmap-careful: No change.
     test-temp-dir: No change.
     caret: No change.
     safelog: No change.
     retry-error: No change.
     futures-copy: No change.
    ```

    Obtained with:
    ```
    maint/changed-crates -v "arti-v$LAST_VERSION" 2&gt;&amp;1 &gt;/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-'
    ```

  * crates that only have non-functional changes (bump the patch version,
    but not the dependend-on version):
    - equix

  * crates where functional changes were made, but no APIs were broken
    (bump patch):
    - fs-mistrust

  * crates where APIs were broken (bump minor):
    - hashx
    - fslock-guard

The bumps from this commit were created using this script:

```
PATCH_NF=(
equix
)

PATCH="
fs-mistrust
"

MINOR="
hashx
fslock-guard
"

./maint/bump-nodep "${PATCH_NF[@]}"

for crate in $PATCH; do
    cargo set-version --bump patch -p $crate;
done

for crate in $MINOR; do
    cargo set-version --bump minor -p $crate;
done
```
</content>
</entry>
<entry>
<title>arti-relay: Make the metrics feature non-experimental</title>
<updated>2026-06-01T09:19:01Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-06-01T09:14:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3b41abcbe351ca0f32de0648538d0f49a75926b5'/>
<id>urn:sha1:3b41abcbe351ca0f32de0648538d0f49a75926b5</id>
<content type='text'>
`maint/fixup-features` was complaining that `metrics` was reachable from
`full` and also `__is_experimental`.

I'm making `metrics` a non-experimental feature, because the whole of
`arti-relay` is experimental (so there is really no need mark any of its
individual features as experimental right now).
</content>
</entry>
<entry>
<title>relay: Remove docs type link that are outside scope</title>
<updated>2026-05-28T16:11:56Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-05-27T18:44:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a4753d81830ab4841407cdb1403234a7dbe96afb'/>
<id>urn:sha1:a4753d81830ab4841407cdb1403234a7dbe96afb</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>relay: Recompute valid_until cache in view constructor</title>
<updated>2026-05-28T16:11:56Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-05-27T17:50:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c4f17bdf7b5932ba2815f3eac9c64b1ba447226f'/>
<id>urn:sha1:c4f17bdf7b5932ba2815f3eac9c64b1ba447226f</id>
<content type='text'>
The recompute of the valid_until cache is done now in the constructor of
FullKeyView so the view is directly usable once built.

Else, the caller always need to call the recompute function which is
error prone especially when used as a throwaway view.

Also, without this change, building the view and then attempting to log
the public keys would fail.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>relay: Introduce src/task/crypto/keys.rs</title>
<updated>2026-05-28T16:11:56Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-05-27T17:29:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=173e2086b305d5ee0c29ef6b31017d47af28224b'/>
<id>urn:sha1:173e2086b305d5ee0c29ef6b31017d47af28224b</id>
<content type='text'>
Move all key related action function to keys.rs in order to alleviate
crypto.rs.

The Reactor will get more functionnalities soon so cleanup.

No behavior change, just code movement.

Related to #2548
</content>
</entry>
<entry>
<title>relay: Rename try_rotate_keys_no_lock()</title>
<updated>2026-05-28T16:11:56Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-05-27T17:16:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5de70ef036f84ed5c3d4d02207413c65545f8bd5'/>
<id>urn:sha1:5de70ef036f84ed5c3d4d02207413c65545f8bd5</id>
<content type='text'>
Remove the _no_lock() since no more locks now.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>relay: Make FullKeyView pub(super)</title>
<updated>2026-05-28T16:11:56Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-05-27T17:11:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c9c2e59e4439f0153bdeb6cf07c058c0e96abb09'/>
<id>urn:sha1:c9c2e59e4439f0153bdeb6cf07c058c0e96abb09</id>
<content type='text'>
Now, the FullKeyView is officially only seen by the crypto task.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>relay: Remove locking of FullKeyView</title>
<updated>2026-05-28T16:11:56Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-05-27T17:08:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=345662a072edc3868f16a116c83f9ca355b2f9f7'/>
<id>urn:sha1:345662a072edc3868f16a116c83f9ca355b2f9f7</id>
<content type='text'>
No need for the valid_until cache locking that used to ensure coherent
view accross tasks.

As we move towards having the FullKeyView be solely owned by the crypto
task, no need for locking.

Future commit will introduce a control command channel which will be
used to get keys for other tasks.

The valid_until cache is kept though because it helps with key lookups
to avoid walking all keys each time.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>relay: Rename try_generate_keys()</title>
<updated>2026-05-28T16:11:56Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-05-27T16:44:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6bca8a85683d0b3b99ca89fd1e7163660fdb82b8'/>
<id>urn:sha1:6bca8a85683d0b3b99ca89fd1e7163660fdb82b8</id>
<content type='text'>
Rename it to init_keys() so it capture the semantic of initialization
especially that now it returns a InitKeyMaterial.

This is so we don't use this function outside initialization in the
future.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
</feed>
