Changelog for 0.0.4.

This commit is contained in:
Nick Mathewson 2022-01-31 08:47:13 -05:00
parent 880d5f2d36
commit 74838b7ba0
1 changed files with 105 additions and 0 deletions

View File

@ -4,6 +4,111 @@ This file describes changes in Arti through the current release. Once Arti
is more mature, and we start to version crates independently, we will is more mature, and we start to version crates independently, we will
probably switch to using a separate changelog for each crate. probably switch to using a separate changelog for each crate.
# Arti 0.0.4 — 31 Jan 2022
This release adds support for bootstrap reporting and `rustls`,
improves several APIs, fixes a few bugs, and adds numerous smaller
features for future-proofing and correctness.
It breaks compatibility with previous releases, as is expected before
release 0.1.0 (scheduled March 2022).
### New features
- Add backends for exposing changes in bootstrap status, either to be
queried by a function or read as a stream of events. These APIs
will become more useful once there is a way to actually get an
un-bootstrapped `TorClient`. ([#96])
- `TorClient` now has a `clone_with_prefs` method to make a new client
with a different set of default stream
preferences. ([7ff16fc252c0121f6607], [#290]])
- Add a feature for telling a `TorClient` that every stream should be
isolated on its own circuit. Please use this sparingly; it can be
inefficient. ([!252])
- Convenience types for overriding parts of the behavior of an
asynchronous `Runtime`. ([!251])
- Optional support for `rustls` in place of `native_tls`. This is off
by default; to turn it on, use the `rustls` feature, and construct
your client using one of the `Runtime`s with `Rustls` in its name.
([!260], [#86])
### Breaking changes
- Significant refactoring of exports and constructor functions
in the `arti-client` crate. ([!235])
- Change the persistence format used for guard information, to make it more
future-proof. ([#176])
- Functions and types that used to refer to "Connections" now refer to
"Streams" for consistency. ([!256])
- The types exported by the `tor-rtcompat` crate, and the functions
used to create them, have been renamed for consistency. ([!263])
- The `Runtime` API has changed slightly, to avoid a conflict with
newer versions of `async_executors`. ([bf8fa66d36298561cc86])
### Major bugfixes
- Require authenticated SENDMEs when the relay supports them, and not
otherwise. ([#294])
- Fix the default location for the cache files. (Previously, they were
put into the state directory.) ([#297])
### Infrastructure
- Numerous improvements to coverage tooling. ([#248], [!221], [!269], [!253])
- Improvements to `arti-bench` reliability and usefulness. ([#292])
### Documentation
- Build instructions for iOS. ([#132])
- Adopt a MSRV policy. ([#283])
- More information about troubleshooting the build process. ([#277])
### Cleanups, minor features, and minor bugfixes
- The `max_file_limit` setting is now configurable. ([#299])
- Fix an unreliable test. ([#276])
- Fix a test that would always fail when run after January 27. ([!268])
- Avoid possible incomplete reads and writes in Tor channel
handshake. ([1d5a480f79e7d878ff], [!249]])
- Refactor some types to expose `Arc<>` less often. ([!236])
- Too many others to list!
### Acknowledgments
Thanks to everybody who has contributed to this release, including
Arturo Marquez, Daniel Eades, Jani Monoses, Neel Chauhan, and Trinity
Pointard.
[!221]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/221
[!235]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/235
[!236]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/236
[!249]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/249
[!251]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/251
[!252]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/252
[!253]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/253
[!256]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/256
[!260]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/260
[!263]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/263
[!268]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/268
[!269]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/269
[#86]: https://gitlab.torproject.org/tpo/core/arti/-/issues/86
[#96]: https://gitlab.torproject.org/tpo/core/arti/-/issues/96
[#132]: https://gitlab.torproject.org/tpo/core/arti/-/issues/132
[#176]: https://gitlab.torproject.org/tpo/core/arti/-/issues/176
[#248]: https://gitlab.torproject.org/tpo/core/arti/-/issues/248
[#276]: https://gitlab.torproject.org/tpo/core/arti/-/issues/276
[#277]: https://gitlab.torproject.org/tpo/core/arti/-/issues/277
[#283]: https://gitlab.torproject.org/tpo/core/arti/-/issues/283
[#290]: https://gitlab.torproject.org/tpo/core/arti/-/issues/290
[#292]: https://gitlab.torproject.org/tpo/core/arti/-/issues/292
[#294]: https://gitlab.torproject.org/tpo/core/arti/-/issues/294
[#297]: https://gitlab.torproject.org/tpo/core/arti/-/issues/297
[#299]: https://gitlab.torproject.org/tpo/core/arti/-/issues/299
[1d5a480f79e7d878ff]: https://gitlab.torproject.org/tpo/core/arti/-/commit/1d5a480f79e7d878ff291e6e8fc5225e17328919
[7ff16fc252c0121f6607]: https://gitlab.torproject.org/tpo/core/arti/-/commit/7ff16fc252c0121f660709a0dda9639eb7131d34
[bf8fa66d36298561cc86]: https://gitlab.torproject.org/tpo/core/arti/-/commit/bf8fa66d36298561cc868706f748049cec23f5eb
# Arti 0.0.3 — 11 Jan 2022 # Arti 0.0.3 — 11 Jan 2022
This release adds support for preemptive circuit construction, refactors This release adds support for preemptive circuit construction, refactors