summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md187
1 files changed, 187 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 22f164ea8..2e41913e2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,193 @@
This file describes changes in Arti through the current release. Once Arti
is more mature, we may switch to using a separate changelog for each crate.
+# Arti 1.2.6 — 1 August 2024
+
+Arti 1.2.6 continues development on onion service client authorization,
+the RPC subsystem, and relay infrastructure.
+
+### Security fixes
+
+- Update `openssl` to avoid undefined behavior in `MemBio::get_buf`.
+ ([RUSTSEC-2024-0357], [TROVE-2024-009], [#1495], [!2276])
+
+### Major bugfixes
+
+- When opening a SQLite directory cache in read-only mode, do not attempt to
+ create it. This bug would sometimes prevent Arti from starting correctly
+ when running multiple processes at once.
+ ([#1497], [!2283])
+
+### RPC development
+
+- Initial work on a [wrapper library][arti-rpc-client-core]
+ for invoking Arti RPC functionality from other processes.
+ ([!2270], [!2277], [!2279])
+- Initial work on [FFI support][arti-rpc-client-core-header]
+ for invoking Arti RPC functionality from other languages.
+ ([#737], [!2273])
+- Clean up the RPC method dispatch implementation,
+ remove some unneeded functions, and refactor the syntax
+ for declaring error types. ([!2284])
+
+### Relay development
+
+- Infrastructure work for out-of-memory prevention.
+ ([#351], [!2280], [!2281])
+
+### Onion service development
+
+- New `arti hsc` command for managing client state and keys for connecting
+ to onion services. ([#1281], [#1291], [!2212], [!2257])
+- Support parsing client restricted discovery (a.k.a. "client authorization") keys
+ from C Tor's `descriptor:x25519:<base32-encoded-x25519-public-key>` key format.
+ ([!2246])
+- Ensure that `hsc` subcommand can build correctly with unusual combinations
+ of features. ([!2254])
+- Remove some unused code for publishing and authentication support.
+ ([!2251])
+- Add an `OnionServiceBuilder` API; deprecate `OnionService::new()`.
+ ([#1490], [!2262])
+
+### Minor features
+
+- The obsolete and unused "TAP" keys are now optional
+ when parsing network documents.
+ This is phase one of [our plan][prop350] to eventually remove them entirely.
+ ([!2227], [prop350])
+- New `TorClient::wait_for_stop` method, for code that needs to wait
+ until a TorClient instance has definitely shut down.
+ ([#1418], [!2259], [!2278])
+- In `tor-netdoc`, expose fields from `AnnotatedRouterDesc` and
+ `RouterAnnotation` when `dangerous-expose-struct-fields is set.
+ ([#1469], [!2213])
+
+### Testing
+
+- Exclude `maint` and `examples` from coverage reports. ([!2256])
+- More tests throughout RPC codebase. ([!2264])
+- Improvements and clean-ups to circuit reactor tests. ([!2287])
+- CLI tests for the `arti hss` and `arti hsc` subcommands. ([#1250], [!2275])
+
+### Documentation
+
+- Clarify meaning of `peer_cert` in `UnverifiedChannel`. ([!2260])
+- Improve documentation for mocked time in `tor-rtmock`. ([!2286])
+
+### Infrastructure
+
+- Improvements in release process and utilities for managing the changelog.
+ ([!2240])
+- Fix gitlab CI to always use `amd64` architecture images.
+ Previously, it would sometimes choose a docker image for the wrong
+ architecture. ([!2249])
+- Split and refactor reproducible-build CI job. ([!2252])
+- Improvements to script for detecting crate ownership problems.
+ ([#1485], [!2255])
+- Script to make sure that every crate has a valid set of crates.io
+ categories. ([#1481], [!2256])
+- Move our commonly used rust maintenance scripts to a separate repository,
+ imported with `git-subtree`. ([#1300], [!2267])
+- In gitlab CI, pin the compiler version we use to build cargo-audit
+ and some other tools. ([!2289], [!2290])
+
+
+### Cleanups, minor features, and bugfixes
+
+- Remove an unused constant from `equix`. ([!2243])
+- Suppress and resolve a few warnings about documentation and dead code.
+ ([!2244])
+- Fix parsing time-periods from "key slug" identifiers. ([!2248])
+- Fix error messages related to filesystem access failures,
+ so that they do not all erroneously claim to be permissions failures.
+ ([#1473], [!2253])
+- Return correct error type when trying to extend a circuit via `ntor` to a
+ relay with no known RSA identity. ([!2261])
+- Fix a bug in the implementation of
+ `ArtiNativeKeystore::contains()` that caused it to always return false.
+ ([#1492], [!2274])
+- Fixes for various new warnings from the nightly version of `clippy`.
+ ([!2288])
+- Disallow the error-prone `Path::exists()` function in our code,
+ and use `try_exists()` instead. ([#1493], [!2293])
+
+### Acknowledgments
+
+Thanks to everybody who's contributed to this release, including
+Alexander Færøy, Clara Engler, Jim Newsome, and trinity-1686a!
+
+Also, our deep thanks to
+[Zcash Community Grants],
+the [Bureau of Democracy, Human Rights and Labor],
+and our [other sponsors]
+for funding the development of Arti!
+
+[!2212]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2212
+[!2213]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2213
+[!2227]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2227
+[!2240]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2240
+[!2243]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2243
+[!2244]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2244
+[!2246]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2246
+[!2248]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2248
+[!2249]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2249
+[!2251]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2251
+[!2252]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2252
+[!2253]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2253
+[!2254]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2254
+[!2255]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2255
+[!2256]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2256
+[!2257]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2257
+[!2259]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2259
+[!2260]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2260
+[!2261]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2261
+[!2262]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2262
+[!2264]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2264
+[!2267]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2267
+[!2270]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2270
+[!2273]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2273
+[!2274]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2274
+[!2275]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2275
+[!2276]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2276
+[!2277]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2277
+[!2278]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2278
+[!2279]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2279
+[!2280]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2280
+[!2281]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2281
+[!2283]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2283
+[!2284]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2284
+[!2286]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2286
+[!2287]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2287
+[!2288]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2288
+[!2289]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2289
+[!2290]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2290
+[!2293]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2293
+[#1250]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1250
+[#1281]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1281
+[#1291]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1291
+[#1300]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1300
+[#1418]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1418
+[#1469]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1469
+[#1473]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1473
+[#1481]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1481
+[#1485]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1485
+[#1490]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1490
+[#1492]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1492
+[#1493]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1493
+[#1495]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1495
+[#1497]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1497
+[#351]: https://gitlab.torproject.org/tpo/core/arti/-/issues/351
+[#737]: https://gitlab.torproject.org/tpo/core/arti/-/issues/737
+[Bureau of Democracy, Human Rights and Labor]: https://www.state.gov/bureaus-offices/under-secretary-for-civilian-security-democracy-and-human-rights/bureau-of-democracy-human-rights-and-labor/
+[RUSTSEC-2024-0357]: https://rustsec.org/advisories/RUSTSEC-2024-0357.html
+[TROVE-2024-009]: https://gitlab.torproject.org/tpo/core/arti/-/issues/1495
+[Zcash Community Grants]: https://zcashcommunitygrants.org/
+[arti-rpc-client-core-header]: https://gitlab.torproject.org/tpo/core/arti/-/tree/main/crates/arti-rpc-client-core
+[arti-rpc-client-core]: https://gitlab.torproject.org/tpo/core/arti/-/blob/main/crates/arti-rpc-client-core/arti-rpc-client-core.h?ref_type=heads
+[other sponsors]: https://www.torproject.org/about/sponsors/
+[prop350]: https://spec.torproject.org/proposals/350-remove-tap.html
+
+
# Arti 1.2.5 — 27 June 2024