<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-config, branch arti-v0.0.4</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.0.4</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.0.4'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-01-31T15:30:52Z</updated>
<entry>
<title>Bump the patch version of every crate that changed since 0.0.3</title>
<updated>2022-01-31T15:30:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-31T15:30:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=01d99373089f8131d1df9758fce45ffaa3fbf659'/>
<id>urn:sha1:01d99373089f8131d1df9758fce45ffaa3fbf659</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Explain that CfgPath can look at the environment.</title>
<updated>2022-01-12T19:59:13Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-12T19:59:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e0ee3b50495430f20313e89204f399b26f7024f9'/>
<id>urn:sha1:e0ee3b50495430f20313e89204f399b26f7024f9</id>
<content type='text'>
Closes #246.
</content>
</entry>
<entry>
<title>Bump all crate versions to 0.0.3.</title>
<updated>2022-01-11T14:40:32Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-11T14:40:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7d3482ca1ae7249b73feeca98595bae5f4c6afe9'/>
<id>urn:sha1:7d3482ca1ae7249b73feeca98595bae5f4c6afe9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Minimize the required version for each dependency.</title>
<updated>2022-01-08T00:08:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-07T20:54:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4841b50c9fc35713d3c1afcccb3353f257deedd7'/>
<id>urn:sha1:4841b50c9fc35713d3c1afcccb3353f257deedd7</id>
<content type='text'>
I found these versions empirically, by using the following process:

First, I used `cargo tree --depth 1 --kind all` to get a list of
every immediate dependency we had.

Then, I used `cargo upgrade --workspace package@version` to change
each dependency to the earliest version with which (in theory) the
current version is semver-compatible.  IOW, if the current version
was 3.2.3, I picked "3".  If the current version was 0.12.8, I
picked "0.12".

Then, I used `cargo +nightly upgrade -Z minimal-versions` to
downgrade Cargo.lock to the minimal listed version for each
dependency.  (I had to override a few packages; see .gitlab-ci.yml
for details).

Finally, I repeatedly increased the version of each of our
dependencies until our code compiled and the tests passed.  Here's
what I found that we need:

anyhow &gt;= 1.0.5: Earlier versions break our hyper example.

async-broadcast &gt;= 0.3.2: Earlier versions fail our tests.

async-compression 0.3.5: Earlier versions handled futures and tokio
    differently.

async-trait &gt;= 0.1.2: Earlier versions are too buggy to compile our
    code.

clap 2.33.0: For Arg::default_value_os().

coarsetime &gt;= 0.1.20: exposed as_ticks() function.

curve25519-dalek &gt;= 3.2: For is_identity().

generic-array 0.14.3: Earlier versions don't implement
    From&lt;&amp;[T; 32]&gt;

httparse &gt;= 1.2: Earlier versions didn't implement Error.

itertools at 0.10.1: For at_most_once.

rusqlite &gt;= 0.26.3: for backward compatibility with older rustc.

serde 1.0.103: Older versions break our code.

serde_json &gt;= 1.0.50: Since we need its Value type to implement Eq.

shellexpand &gt;= 2.1: To avoid a broken dirs crate version.

tokio &gt;= 1.4: For Handle::block_on().

tracing &gt;= 0.1.18: Previously, tracing_core and tracing had separate
    LevelFilter types.

typenum &gt;= 1.12: Compatibility with rust-crypto crates

x25519-dalek &gt;= 1.2.0: For was_contributory().

Closes #275.
</content>
</entry>
<entry>
<title>extend lints to include 'clippy::all'</title>
<updated>2021-12-28T20:15:40Z</updated>
<author>
<name>Daniel Eades</name>
<email>danieleades@hotmail.com</email>
</author>
<published>2021-12-28T20:15:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=592642a9e6c1c03e525f8b452f4b97e6fd17ff9b'/>
<id>urn:sha1:592642a9e6c1c03e525f8b452f4b97e6fd17ff9b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>address clippy's latest lint</title>
<updated>2021-12-20T09:46:41Z</updated>
<author>
<name>Daniel Eades</name>
<email>danieleades@hotmail.com</email>
</author>
<published>2021-12-20T09:46:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9b51a52b53acf3efd468d17296b3671ed9a1af47'/>
<id>urn:sha1:9b51a52b53acf3efd468d17296b3671ed9a1af47</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a few tests to tor-config.</title>
<updated>2021-12-08T00:52:49Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-12-08T00:52:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b3b6a92145380ebe685bd2410db32fdee4a97e9b'/>
<id>urn:sha1:b3b6a92145380ebe685bd2410db32fdee4a97e9b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Oops: MutCfg shouldn't implement Clone.</title>
<updated>2021-12-07T22:54:24Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-12-07T22:54:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1ff5a513ae04b01cb2f2eb3962a023460b0d18f6'/>
<id>urn:sha1:1ff5a513ae04b01cb2f2eb3962a023460b0d18f6</id>
<content type='text'>
We don't want MutCfg to be automatially coneable, or we'll wind up with
surprises like the one that this patch fixes in TorClient.

(The "surprise" is that reconfigure() would only apply its
client-specific options  to one client instance.)
</content>
</entry>
<entry>
<title>MutCfg: Add map_and_replace.</title>
<updated>2021-12-07T21:40:49Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-12-07T21:40:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8fed1524faba7cdbf6a77bcba49236589359d538'/>
<id>urn:sha1:8fed1524faba7cdbf6a77bcba49236589359d538</id>
<content type='text'>
This will help in the case when a configuration can only partially
change.
</content>
</entry>
<entry>
<title>MutCfg facility to help with reconfiguration.</title>
<updated>2021-12-07T20:42:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-12-07T18:11:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f06d5ae48f39260facf865dcc745ed19257f71e2'/>
<id>urn:sha1:f06d5ae48f39260facf865dcc745ed19257f71e2</id>
<content type='text'>
It's useful to keep configuration objects inside a RwLock&lt;Arc&lt;&gt;&gt;, so we
can have slightly-stale pointers to the existing configuration structure
without holding locks too long.

This code adds a MutCfg type with basic support for this pattern,
and functions to make it a bit more ergonomic.
</content>
</entry>
</feed>
