5.9 KiB
Notes
This file describes changes in Arti through the current release. Once Arti is more mature, and we start to version crates independently, we will probably switch to using a separate changelog for each crate.
Arti 0.0.2 — 30 Nov 2021
This release tries to move us towards a more permanent API, and sets the stage for future work in performance evaluation and event reporting.
It breaks compatibility with previous releases, as is expected before release 0.1.0 (scheduled March 2022).
New features
- Warn if guard restrictions are too strict. (#242)
- Optimistic data is now supported on streams, and used by default on directory requests. (#23)
- Initial cut at a typed event framework. Not yet used, but will eventually take the role of Tor's "controller event" system. (#230)
- Large rewrite of configuration handling system, with more ergonomic builders for top-level configurations. (#84)
Breaking changes
- The
${APP_*}
path variables have been renamed to${ARTI_*}
. (efdd3275) - The configuration file format has been substantially revised. (#84)
- Most code that clients don't need is now behind a cargo feature. (#124)
- Revised APIs in many other high-level crates.
Documentation
- Many other improvements and rewrites.
Infrastructure
Cleanups, minor features, and bugfixes
- Huge refactoring of the
tor-proto
crate to conform more closely to the reactor architecture, and reduce the need for locks. (#205, #217). - By default,
cargo build --release
now chooses a more aggressive set of optimization flags. (!124) - Too many smaller fixes to list.
Acknowledgments
Thanks to everybody who's contributed to this release, including dagon, Daniel Eades, Dimitris Apostolou, Neel Chauhan, S0AndS0, Trinity Pointard, and Yuan Lyu!
Arti 0.0.1 — 29 Oct 2021
This release attempts to be "free of known privacy holes". That isn't to say that there are no remaining bugs, but rather that we've implemented the missing features that we think are essential for basic privacy.
New features
- Guard relay support... (#58)
- ...with "Lightweight" path bias detection. (#185)
- Circuit isolation API. (#73, !104)
- Circuit build timeout inference. (#57)
- Persistent state on disk. (#59)
- Allow multiple Arti instances to share directories. (#194)
- Support for EnforceDistinctSubnets. (#43)
- Configurable logging (!68) to journald. (!73)
- Rejecting attempts to connect to internal addresses. (#85)
- Support for Tor
RESOLVE
andRESOLVE_PTR
socks extensions. (#33) - And too many others to list.
Breaking changes
- Switched from
log
totracing
. (#74) - Renamed
arti-tor-client
toarti-client
. (#130) - Stopped exposing
anyhow
errors. (#165) - CLI now uses
clap
, and uses subcommands. (!109) - Too many others to list.
Documentation
- New top-level documentation for
arti-client
, with examples. (!111) - Many other improvements and rewrites.
Infrastructure
- Reproducible builds for Linux (!69), Windows (!70), and OSX (!86).
- Support for static binaries. (!69)
- Simple integration tests, using chutney (!88).
Cleanups, minor features, and bugfixes
- Too many to list.
Acknowledgments
Thanks to everybody who's contributed to this release, including Ben Armstead, Daniel Eades, Dimitris Apostolou, Eugene Lomov, Felipe Lema, Jani Monoses, Lennart Kloock, Neel Chauhan, S0AndS0, Smitty, Trinity Pointard, Yuan Lyu, dagger, and rls!
Arti 0.0.0
Initial release, to reserve our crate names on crates.io.