<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-basic-utils/src, 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-05-27T12:05:52Z</updated>
<entry>
<title>tor-basic-utils: Add an if_empty helper macro</title>
<updated>2026-05-27T12:05:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-18T14:12:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f8a5095e1c988c400c47b1c5a7138b1a38d798e0'/>
<id>urn:sha1:f8a5095e1c988c400c47b1c5a7138b1a38d798e0</id>
<content type='text'>
We need this pattern in a lot of places; we might as well just
define it once.
</content>
</entry>
<entry>
<title>tor-basic-utils: Correct documentation for macro_first_nonempty.</title>
<updated>2026-05-27T12:05:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-18T14:10:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2980de40bdf5f155eeaa60c3bde4346dd3de7c99'/>
<id>urn:sha1:2980de40bdf5f155eeaa60c3bde4346dd3de7c99</id>
<content type='text'>
It looks like we renamed this macro, but didn't rename it in its
documentation.
</content>
</entry>
<entry>
<title>clippy: Work around bug where it claims method doesn't exist</title>
<updated>2026-05-13T13:10:52Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-05-13T11:17:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1578e0644e5da7f4db0169250c2eac9f2291e7d8'/>
<id>urn:sha1:1578e0644e5da7f4db0169250c2eac9f2291e7d8</id>
<content type='text'>
Fixes

warning: `rand::RngExt::random_range` does not refer to a reachable function
 --&gt; /volatile/rustcargo/Rustup/Arti/arti/clippy.toml:7:5
  |
7 |     { path = "rand::RngExt::random_range", reason = "Prefer tor_basic_utils::RngExt::gen_range_checked to avoid uncontrolled panics, or gen_range_infallible if applicable" },
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = help: add `allow-invalid = true` to the entry to suppress this warning
</content>
</entry>
<entry>
<title>Upgrade rand crates to 0.10.</title>
<updated>2026-05-12T20:55:43Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2026-05-07T20:06:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a18167928901d8c88cd1cdd87346de8ad1ee42a2'/>
<id>urn:sha1:a18167928901d8c88cd1cdd87346de8ad1ee42a2</id>
<content type='text'>
When the circ-padding feature is enabled, we use maybenot, which does
not yet support rand 0.10. In the meantime, enabling this feature pulls
in rand 0.9. This is not ideal, but should be okay as a temporary
situation.

This also replaces the use of ReseedingRng (which was removed in 0.10)
with the reseeding_rng crate. This is somewhat less performant, but it
should be okay.
</content>
</entry>
<entry>
<title>tor-basic-utils: remove `flatten`</title>
<updated>2026-05-07T12:08:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-04T13:32:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=be10d98832cb5ff160fddd1c4e9533c102dc0a4c'/>
<id>urn:sha1:be10d98832cb5ff160fddd1c4e9533c102dc0a4c</id>
<content type='text'>
It is no longer needed since we require Rust 1.89.  Nobody was using
it.
</content>
</entry>
<entry>
<title>tor-basic-utils: Update comment about std::fmt::from_fn.</title>
<updated>2026-05-07T12:08:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-04T13:30:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=59c89908866e6b55eea158aeae05493a3ee424d6'/>
<id>urn:sha1:59c89908866e6b55eea158aeae05493a3ee424d6</id>
<content type='text'>
We now know when it was stabilized, so we can say when to use it.
</content>
</entry>
<entry>
<title>tor-cert-x509: Port to web-time-compat.</title>
<updated>2026-03-26T19:20:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-03-26T12:48:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=80c4ca07b191843289b75137120acd400c2d3a53'/>
<id>urn:sha1:80c4ca07b191843289b75137120acd400c2d3a53</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-basic-utils: Remove IoErrorExt and BinaryHeapExt.</title>
<updated>2026-03-25T14:36:17Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-03-25T14:36:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=074072ad66bf35e170bd3ce467aad6a6097e24be'/>
<id>urn:sha1:074072ad66bf35e170bd3ce467aad6a6097e24be</id>
<content type='text'>
IoErrorExt existed to provide a workaround for Rust versions
that didn't have io::ErrorKind::NotADirectory.  But NotADirectory
was stabilized in 1.83 and our MSRV is 1.89.

BinaryHeapExt existed to provide an implementation for Rust
versions that didn't have BinaryHeap::retain.  But
BinaryHeap::retain was stabilized in 1.70 and our MSRV is 1.70.
</content>
</entry>
<entry>
<title>Force use of standard hasher with weak_tables.</title>
<updated>2026-03-24T14:22:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-03-24T14:22:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0a4cd08f3bd0a0cf78cffc31e05251628b86f243'/>
<id>urn:sha1:0a4cd08f3bd0a0cf78cffc31e05251628b86f243</id>
<content type='text'>
Closes #2418.

Fixes TROVE-2026-005, where we would use a less cryptographically
secure (and probably less DoS resistant) hash function for these
tables if:
 - We are built alongside another crate that uses `weak-table`
 - That crate enables the `weak-table/ahash` feature.
 - We are running on a system without hardware AES.

Severity: Low
</content>
</entry>
<entry>
<title>tor-basic-utils: clean up `iter_join`</title>
<updated>2026-03-04T02:47:25Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-03-04T02:47:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=07991dce5c426bd2078fb733693ee0b053a3b8ec'/>
<id>urn:sha1:07991dce5c426bd2078fb733693ee0b053a3b8ec</id>
<content type='text'>
</content>
</entry>
</feed>
