Arti 2.0.0 released: Relay, directory authority, and RPC development.
Arti is our ongoing project to create a next-generation Tor implementation in Rust. We're happy to announce the latest release, Arti 2.0.0.
While "2.0" may sound like an exciting release number, it's actually fairly mundane. Semver requires us to bump our major version number when making breaking changes, and we had a couple breaking changes we wanted to make in order to keep our APIs tidy. These breaking changes are:
- Removing support for the long-deprecated
proxy.socks_portandproxy.dns_portconfiguration options (proxy.socks_listenandproxy.dns_listenshould be used instead). - Removing support for the old syntax for specifying directory authorities. The new syntax can be seen in the example configuration.
- Marking all APIs in the
articrate experimental. These APIs are likely to get moved into other crates or removed in the future, and anyone who uses APIs from thearticrate directly (as opposed toarti-clientor other lower-level crates) should file an issue explaining their usecase, so that it can be considered as we move these APIs elsewhere.
Other than removing deprecated features,
this release adds support for using the inet-auto socket type
to automatically pick an unused TCP port for the RPC server.
There is also a significant amount of behind-the-scenes work on relay and directory authority functionality in this release.
On the relay front, this includes our new generic and modular circuit reactor architecture, the ability to launch relay channels, the ability to respond to handshakes, and the groundwork for relays to act as the server side of a TLS connection.
On the directory authority front, we've done significant work on authority certificate management, allowing Arti to download, validate, and store authority certificates.
While running Arti as a relay or directory authority is not yet supported, we're making good progress towards those long-term goals.
For full details on what we've done, including API changes, and for information about many more minor and less-visible changes, please see the CHANGELOG.
For more information on using Arti, see our top-level README,
and the documentation for the arti binary.
Thanks to everybody who's contributed to this release, including Niel Duysters, carti-it, hjrgrn, and sjcobb!
Also, our deep thanks to our sponsors for funding the development of Arti!
Comments
We encourage respectful, on-topic comments. Comments that violate our Code of Conduct will be deleted. Off-topic comments may be deleted at the discretion of the moderators. Please do not comment as a way to receive support or to report bugs on a post unrelated to a release. If you are looking for support, please see our FAQ, user support forum or ways to get in touch with us.