Commit d1ab7844 authored by Nick Mathewson's avatar Nick Mathewson 🐚
Browse files

Merge branch 'changelog4' into 'main'

Finish and copy-edit changelog

See merge request tpo/core/arti!1361
parents 8c1e96a2 f8c7470a
Loading
Loading
Loading
Loading
+148 −10
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ is more mature, we may switch to using a separate changelog for each crate.

# Arti 1.1.6 — 30 June 2023

Arti 1.1.6 completes the core of the work needed for a client client
Arti 1.1.6 completes the core of the work needed for a client
to connect to onion services on the Tor network.  This is not yet
enabled by default: we do not yet recommend using this feature for
security-sensitive purposes, because of some
@@ -13,11 +13,19 @@ security-sensitive purposes, because of some
Instructions for enabling it and trying it out can be found in the
[README.md] file.

Additionally, this version includes an experimental key manager
implementation. Currently it's used to store the keys needed for
client authentication, but in the future it will store the keys for
onion services themselves, and eventually relays.  In this release it
is still missing some import functionality for interoperability;
the interface is likely to change significantly.

TODO Write even more.

This is up-to-date as of 6e2b48c6b9ea0ecc49749266a112717857ff83e8
Work on our RPC subsystem has also continued; we have achieved several
prerequisites needed for applications' SOCKS connections to
integrate correctly with the RPC subsystem.

And as usual, there are a large number of smaller fixes and improvements
throughout the codebase.

### Major bugfixes

@@ -31,7 +39,7 @@ This is up-to-date as of 6e2b48c6b9ea0ecc49749266a112717857ff83e8

- We have removed an empty `relaycell::restrict` module from the
  `tor-cell` crate.  This module was added in error.  This change will
  break any code that (ineffectually) tried to import
  break any code that (pointlessly) tried to import
  it. ([589fefd581e962a7])

### Onion service development
@@ -48,7 +56,7 @@ This is up-to-date as of 6e2b48c6b9ea0ecc49749266a112717857ff83e8
- Onion service descriptors now have accessor functions to enable their
  actual use. ([!1220])
- We can transform the information about relays used in onion service
  desciptors, and in introduce1 cells, into the format needed to connect
  descriptors, and in introduce1 cells, into the format needed to connect
  to the relay described. ([!1221])
- Generate random rendezvous cookies to identify circuits at a client's
  rendezvous point. ([!1227])
@@ -64,12 +72,12 @@ This is up-to-date as of 6e2b48c6b9ea0ecc49749266a112717857ff83e8
- Remember our introduction point experiences, and try to use known-good
  ones before ones that have failed recently. ([!1247], [!1295])
- We now adjust the size of our pre-constructed circuit pool dynamically
  based on past demend for onion-service circuits (or lack
  based on past demand for onion-service circuits (or lack
  thereof). ([686d5cf2093322e4])
- Speed improvements to the algorithm we use to select pre-constructed
  circuits for onion services, and correctness fixes to those speed
  improvements. ([1691c353924f89cc], [#918], [!1296], [!1301])
- The StreamPrefs::connect_to_onion_services` method now can be used to
- The `StreamPrefs::connect_to_onion_services` method now can be used to
  enable or disable onion service connections, and TorClients can handle
  onion services correctly. ([!1257])
- Provide the extended SOCKS5 error codes as documented in [proposal
@@ -106,7 +114,7 @@ This is up-to-date as of 6e2b48c6b9ea0ecc49749266a112717857ff83e8
  RPC sessions. ([545984b095119ecc])
- `TorClient`s, and similar RPC-visible, can now be exposed with a
  secure global identifier so applications can refer to them outside of
  an RPC session This will allow applications to name a `TorClient` from
  an RPC session. This will allow applications to name a `TorClient` from
  e.g. within the parameters of a SOCKS connection. ([#863], [!1208])
- Enable `rpc::Object`s to be downcast to (some of) the `&dyn Trait`s
  that they implement. This is in tension with some of Rust's current
@@ -202,7 +210,137 @@ This is up-to-date as of 6e2b48c6b9ea0ecc49749266a112717857ff83e8

- We no longer support ancient (pre-0.3.6) versions of Tor without
  support for authenticated SENDME messages. ([#914], [!1283])
- 

### Acknowledgments

Thanks to everybody who's contributed to this release, including
Alexander Færøy, Andy, Jim Newsome, nate\_d1azzz, pinkforest,
Saksham Mittal, and Trinity Pointard.

Also, our deep thanks to [Zcash Community Grants] for funding the
development of Arti!

[!1208]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1208
[!1213]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1213
[!1214]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1214
[!1216]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1216
[!1217]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1217
[!1219]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1219
[!1220]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1220
[!1221]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1221
[!1223]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1223
[!1224]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1224
[!1225]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1225
[!1227]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1227
[!1228]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1228
[!1230]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1230
[!1232]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1232
[!1233]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1233
[!1234]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1234
[!1235]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1235
[!1236]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1236
[!1238]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1238
[!1239]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1239
[!1240]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1240
[!1242]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1242
[!1244]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1244
[!1246]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1246
[!1247]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1247
[!1248]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1248
[!1249]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1249
[!1250]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1250
[!1252]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1252
[!1253]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1253
[!1254]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1254
[!1255]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1255
[!1256]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1256
[!1257]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1257
[!1263]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1263
[!1267]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1267
[!1268]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1268
[!1269]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1269
[!1271]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1271
[!1275]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1275
[!1278]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1278
[!1279]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1279
[!1280]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1280
[!1281]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1281
[!1283]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1283
[!1284]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1284
[!1286]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1286
[!1287]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1287
[!1289]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1289
[!1290]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1290
[!1294]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1294
[!1295]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1295
[!1296]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1296
[!1297]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1297
[!1299]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1299
[!1301]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1301
[!1302]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1302
[!1303]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1303
[!1305]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1305
[!1307]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1307
[!1310]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1310
[!1315]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1315
[!1316]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1316
[!1317]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1317
[!1318]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1318
[!1319]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1319
[!1320]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1320
[!1321]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1321
[!1322]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1322
[!1323]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1323
[!1325]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1325
[!1326]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1326
[!1328]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1328
[!1330]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1330
[!1332]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1332
[!1335]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1335
[!1337]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1337
[!1339]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1339
[!1340]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1340
[!1342]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1342
[#98]: https://gitlab.torproject.org/tpo/core/arti/-/issues/98
[#736]: https://gitlab.torproject.org/tpo/core/arti/-/issues/736
[#787]: https://gitlab.torproject.org/tpo/core/arti/-/issues/787
[#863]: https://gitlab.torproject.org/tpo/core/arti/-/issues/863
[#872]: https://gitlab.torproject.org/tpo/core/arti/-/issues/872
[#875]: https://gitlab.torproject.org/tpo/core/arti/-/issues/875
[#877]: https://gitlab.torproject.org/tpo/core/arti/-/issues/877
[#879]: https://gitlab.torproject.org/tpo/core/arti/-/issues/879
[#881]: https://gitlab.torproject.org/tpo/core/arti/-/issues/881
[#882]: https://gitlab.torproject.org/tpo/core/arti/-/issues/882
[#883]: https://gitlab.torproject.org/tpo/core/arti/-/issues/883
[#885]: https://gitlab.torproject.org/tpo/core/arti/-/issues/885
[#887]: https://gitlab.torproject.org/tpo/core/arti/-/issues/887
[#892]: https://gitlab.torproject.org/tpo/core/arti/-/issues/892
[#914]: https://gitlab.torproject.org/tpo/core/arti/-/issues/914
[#918]: https://gitlab.torproject.org/tpo/core/arti/-/issues/918
[#924]: https://gitlab.torproject.org/tpo/core/arti/-/issues/924
[#926]: https://gitlab.torproject.org/tpo/core/arti/-/issues/926
[#928]: https://gitlab.torproject.org/tpo/core/arti/-/issues/928
[#935]: https://gitlab.torproject.org/tpo/core/arti/-/issues/935
[1691c353924f89cc]: https://gitlab.torproject.org/tpo/core/arti/-/commit/1691c353924f89cc9026b67578a84959840bb987
[205b6d176c4a619b]: https://gitlab.torproject.org/tpo/core/arti/-/commit/205b6d176c4a619b8665ca4095471aea07be29ca
[25db56777c0042a9]: https://gitlab.torproject.org/tpo/core/arti/-/commit/25db56777c0042a93daa7b37fc4a31e27181dc7d
[33c90e5b7243c3b3]: https://gitlab.torproject.org/tpo/core/arti/-/commit/33c90e5b7243c3b3526ae73f2fd3ebf76d785b74
[545984b095119ecc]: https://gitlab.torproject.org/tpo/core/arti/-/commit/545984b095119ecc656afe69683e820a8d1a67de
[589fefd581e962a7]: https://gitlab.torproject.org/tpo/core/arti/-/commit/589fefd581e962a7f071142bbc047b6e22adea19
[58babcb756f6427c]: https://gitlab.torproject.org/tpo/core/arti/-/commit/58babcb756f6427cc76f2d44a1663f07405563d7
[686d5cf2093322e4]: https://gitlab.torproject.org/tpo/core/arti/-/commit/686d5cf2093322e4408513daf832af6693fa67a9
[a902f320b5b31812]: https://gitlab.torproject.org/tpo/core/arti/-/commit/a902f320b5b31812fabc42b95a38b5453f050e7f
[bb6115103aad177c]: https://gitlab.torproject.org/tpo/core/arti/-/commit/bb6115103aad177c0b57918b1cb8cf0e8280223e
[README.md]: https://gitlab.torproject.org/tpo/core/arti/-/blob/main/README.md
[Zcash Community Grants]: https://zcashcommunitygrants.org/
[`arrayref`]: https://docs.rs/arrayref/latest/arrayref/
[`cargo-semver-checks`]: https://crates.io/crates/cargo-semver-checks
[`users`]: https://crates.io/crates/users
[missing security features]: https://blog.torproject.org/announcing-vanguards-add-onion-services/
[proposal 304]: https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/proposals/304-socks5-extending-hs-error-codes.txt
[re-upgrade]: https://gitlab.torproject.org/tpo/core/arti/-/issues/808