<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-config, branch arti-v0.0.3</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.3</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.0.3'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-01-11T14:40:32Z</updated>
<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>Tracing configuration for logfiles, per-target filters</title>
<updated>2022-01-10T18:23:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-07T15:52:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1a16f5a7d63e63b606f8cc21ad948803ef1a8245'/>
<id>urn:sha1:1a16f5a7d63e63b606f8cc21ad948803ef1a8245</id>
<content type='text'>
Previously we could only configure one global tracing filter that
applied to stdout and journald.  There was no support for log files,
either.

This patch fixes both issues, by substantially revising the
configuration format: There are now separate filters for each log
file, for journald, and for the console log.  Because we want to
allow multiple logfiles, they have to go into an array in the
configuration.

The configuration logic has grown a bit complicated in its types,
since the tracing_subscriber crate would prefer to have the complete
structure of tracing Layers known statically. That's fine when you
know how many you have, and which kinds there will be, but for
the runtime-configuration case we need to mess around with
`Box&lt;dyn Layer ...&gt;`.

I also had to switch from tracing_subscriber's EnvFilter to its
Targets filter.  It seems "EnvFilter" can only be applied as a Layer
in itself, and won't work as a Filter on an individual Layer.

Closes #166.

Closes #170.
</content>
</entry>
<entry>
<title>Expose and rename stream timeout config.</title>
<updated>2022-01-10T14:46:43Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-10T14:46:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=01c851ad4673c42c8678fc43f37bb8258ab34ca6'/>
<id>urn:sha1:01c851ad4673c42c8678fc43f37bb8258ab34ca6</id>
<content type='text'>
Previously we kept this in an ambiguously named type,
`ClientTimeoutConfig`. But everything we do right now is client
related! So `StreamTimeoutConfig` is a better name.

Also, we'd previously neglected to expose the builder for this type
from `TorClientConfigBuilder`. Now we do.

Closes #281.
</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>Rename timeout_rules to stream_timeouts.</title>
<updated>2021-12-07T19:03:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-12-07T19:03:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=46c917d127519fbf917c391afc30fa83c794061e'/>
<id>urn:sha1:46c917d127519fbf917c391afc30fa83c794061e</id>
<content type='text'>
(There are other timeout rules, after all.)

Also, rename stream_timeout to connect_timeout, to make it more clear
when it applies.
</content>
</entry>
<entry>
<title>Merge branch 'revised_preemptive_config' into 'main'</title>
<updated>2021-12-07T17:51:42Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2021-12-07T17:51:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2614fb736ee4e66a8145a05ef0b1a28cde6d022a'/>
<id>urn:sha1:2614fb736ee4e66a8145a05ef0b1a28cde6d022a</id>
<content type='text'>
Usability: renaming and documentation in preemptive circuit config

See merge request tpo/core/arti!176</content>
</entry>
<entry>
<title>Merge branch 'bug252' into 'main'</title>
<updated>2021-12-07T17:27:38Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2021-12-07T17:27:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=47c3163ce5038ea411874a3694ad9679caaaf473'/>
<id>urn:sha1:47c3163ce5038ea411874a3694ad9679caaaf473</id>
<content type='text'>
Make DNS fields in arti-client/src/client.rs configurable

Closes #252

See merge request tpo/core/arti!171</content>
</entry>
<entry>
<title>Clarify names and docs for predictive circuits.</title>
<updated>2021-12-07T17:09:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-12-07T17:00:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=48f77a93c0f030a6060965d96142adaf78c62f44'/>
<id>urn:sha1:48f77a93c0f030a6060965d96142adaf78c62f44</id>
<content type='text'>
Also, use humantime_serde, rather than a number of seconds, to indicate
configuration time.
</content>
</entry>
<entry>
<title>Rename circuits_preemptive to preemptive_circuits</title>
<updated>2021-12-07T17:06:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-12-07T16:38:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c2e20a242a3041b08afbc17f0420809fab2efc5d'/>
<id>urn:sha1:c2e20a242a3041b08afbc17f0420809fab2efc5d</id>
<content type='text'>
This obeys a few conventions:
  * adjective before noun
  * config objects end with "config"
</content>
</entry>
</feed>
