tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 1f4971f78a71406a63191f3e6b99155ac169fad0
parent 41a422ec1eafd94e65a339d16e5cb903a233fa86
Author: David Goulet <dgoulet@torproject.org>
Date:   Thu, 12 Feb 2026 09:29:04 -0500

release: Add 0.4.9.5 ChangeLog entry

Signed-off-by: David Goulet <dgoulet@torproject.org>

Diffstat:
MChangeLog | 226+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 226 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,229 @@ +Changes in version 0.4.9.5 - 2026-02-12 + This first stable release in the 0.4.9 series introduces a new + circuit-level encryption design for better client security, as well + as a more scalable way for large relay operators to annotate which + relays they run so clients can avoid using too many of them in a + single circuit. + + o Major features (cryptography): + - Clients and relays can now negotiate Counter Galois Onion (CGO) + relay cryptography, as designed by Jean Paul Degabriele, + Alessandro Melloni, Jean-Pierre Münch, and Martijn Stam. CGO + provides improved resistance to several kinds of tagging attacks, + better forward secrecy, and better forgery resistance. Closes + ticket 41047. Implements proposal 359. + + o Major features (path selection): + - Clients and relays now support "happy families", a system to + simplify relay family operation and improve directory performance. + With "happy families", relays in a family share a secret "family + key", which they use to prove their membership in the family. + Implements proposal 321; closes ticket 41009. Note that until + enough clients are upgraded, relay operators will still need to + configure MyFamily lists. But once clients no longer depend on + those lists, we will be able to remove them entirely, thereby + simplifying family operation, and making microdescriptor downloads + approximately 80% smaller. For more information, see + https://community.torproject.org/relay/setup/post-install/family-ids/ + + o Major bugfixes (conflux): + - Ensure conflux guards obey family and subnet restrictions. Fixes + bug 40976; bugfix on 0.4.8.1-alpha. + + o Major bugfixes (controller events): + - Fix spikes occurring in bandwidth cache events on control connection. + Fixes bug 31524; bugfix on 0.0.9pre5. + + o Major bugfixes (sandbox): + - Fix sandbox to work on architectures that use Linux's generic + syscall interface, extending support for AArch64 (ARM64) and + adding support for RISC-V, allowing test_include.sh and the + sandbox unit tests to pass on these systems even when building + with fragile hardening enabled. Fixes bugs 40465 and 40599; bugfix + on 0.2.5.1-alpha. + + o Minor features (client security, reliability): + - When KeepaliveIsolateSOCKSAuth is keeping a circuit alive, expire + the circuit based on when it was last in use for any stream, not + (as we did before) based on when a stream was last attached to it. + Closes ticket 41157. Implements a minimal version of Proposal 368. + + o Minor features (exit relays): + - Implement reevaluating new exit policy against existing + connections. This is controlled by new config option + ReevaluateExitPolicy, defaulting to 0. Closes ticket 40676. + - Implement a token-bucket based rate limiter for stream creation + and resolve request. It is configured by the DoSStream* family of + configuration options. Closes ticket 40736. + - Add Monero ports to the ReducedExitPolicy. Closes ticket 41168. + + o Minor features (bridges): + - Save complete bridge lines to 'datadir/bridgelines'. Closes + ticket 29128. + + o Minor features (client extensibility): + - Implement new HTTPTunnelPort features for interoperability with + Arti's HTTP CONNECT proxy. This work adds new headers to requests + to and replies from the HttpConnectPort, support for OPTIONS + requests, tightens the expected syntax for Proxy-Authorization, + and increases defense-in-depth against some kinds of cross-site + HTTP attacks. Closes ticket 41156. Implements proposal 365. + - Detect invalid SOCKS5 username/password combinations according to + new extended parameters syntax. (Currently, this rejects any + SOCKS5 username beginning with "<torS0X>", except for the username + "<torS0X>0". Such usernames are now reserved to communicate + additional parameters with other Tor implementations.) Implements + proposal 351. + + o Minor features (sandboxing): + - Allow the fstatat64 and statx syscalls on i386 architecture when + glibc >= 2.33. On i386, glibc uses fstatat64 instead of newfstatat + for stat operations, and statx for time64 support. Without this, + SIGHUP configuration reload fails when using sandbox mode with + %include directives on i386 with Debian Bookworm or newer. + - Allow the lstat64 syscall on i386 architecture. This syscall is + used by glob() in glibc 2.36+ when processing %include directives + with directory patterns. + + o Minor features (security): + - Increase the size of our finite-field Diffie Hellman TLS group + (which we should never actually use!) to 2048 bits. Part of + ticket 41067. + - Require TLS version 1.2 or later. (Version 1.3 support will be + required in the near future.) Part of ticket 41067. + - Update TLS 1.2 client cipher list to match current Firefox. Part + of ticket 41067. + - Verify needle is smaller than haystack before calling memmem. + Closes ticket 40854. + + o Minor features (onion services): + - Add 3 more keywords to the ADD_ONION control command: + PoWDefensesEnabled, PoWQueueRate and PoWQueueBurst which correspond + to HiddenServicePoWDefensesEnabled, HiddenServicePoWQueueRate and + HiddenServicePoWQueueBurst from torrc. + - Reduce the minimum value of hsdir_interval to match recent tor- + spec change. + + o Minor feature (directory authority): + - Introduce MinimalAcceptedServerVersion to allow configuring + the minimum accepted relay version without requiring a new tor + release. Closes ticket 40817. + + o Minor features (metrics port): + - New metrics on the MetricsPort for the number of BUG() calls that + occurred at runtime. Fixes bugs 40839 and 41104; bugfix on + 0.4.7.1-alpha. + - Handle rephist tracking of ntor and ntor_v3 handshakes + individually such that MetricsPort exposes the correct values. + Fixes bug 40638; bugfix on 0.4.7.11. + - Add new metrics for relays on the MetricsPort namely the count of + drop cell, destroy cell and the number of circuit protocol + violation seen that lead to a circuit close. Closes ticket 40816. + + o Minor features (forward-compatibility): + - We now correctly parse microdescriptors and router descriptors + that do not include TAP onion keys. (For backward compatibility, + authorities continue to require these keys.) Implements part of + proposal 350. + + o Minor features (portability, android): + - Use /data/local/tmp for data storage on Android by default. Closes + ticket 40487. Patch from Hans-Christoph Steiner. + + o Minor bugfixes (exit relays): + - Clip every returned DNS TTL to 60 (RESOLVED) in order to mitigate + an exit DNS cache oracle. Fixes bug 40979; bugfix on 0.3.5.1-alpha. + + o Minor bugfixes (spec conformance): + - Set the length field correctly on RELAY_COMMAND_CONFLUX_SWITCH + messages. Previously, it was always set to the maximum value. + Fixes bug 41056; bugfix on 0.4.8.1-alpha. + - Do not treat "15" as a recognized remote END reason code. + Formerly, we treated it as synonymous with a local ENTRYPOLICY, + which isn't a valid remote code at all. Fixes bug 41171; bugfix + on 0.2.0.8-alpha. + + o Minor bugfixes (tooling): + - Fix a false positive valgrind related to inspecting a bitfield + next to another uninitialized bitfield. Fixes bug 41182; bugfix + on 0.3.3.2-alpha. + - Fix minor warnings from newer versions of shellcheck and clang. + Fixes bug 41166; bugfix on 0.4.3.1-alpha and several + other versions. + - Fix a warning when compiling with GCC 14.2. Closes 41032. + + o Minor bugfixes (threads): + - Make thread control POSIX compliant. Fixes bug 41109; bugfix + on 0.4.8.17. + + o Minor bugfix (client DNS): + - Handle empty DNS reply without sending back an error and instead + send back NOERROR (RFC1035 error code 0x0). Fixes bug 40248; + bugfix on 0.3.5.1-alpha. + + o Minor bugfixes (directory authorities): + - After we added layer-two vanguards, directory authorities wouldn't + think any of their vanguards were suitable for circuits, leading + to a "Failed to find node for hop #2 of our path. Discarding this + circuit." log message once per second from startup until they made + a fresh consensus. Now they look to their existing consensus on + startup, letting them build circuits properly from the beginning. + Fixes bug 40802; bugfix on 0.4.7.1-alpha. + + o Minor bugfixes (tests): + - Fix a test failure with OpenSSL builds running at security level 1 + or greater, which does not permit SHA-1 certificates. Fixes bug + 41021; bugfix on 0.2.8.1-alpha. + + o Minor bugfixes (bridges): + - Don't warn when BridgeRelay is 1 and ExitRelay is explicitly set + to 0. Fixes bug 40884; bugfix on 0.4.8.3-rc. + + o Minor bugfixes (conflux, client): + - Avoid a non fatal assert caused by data coming in on a conflux set + that is being freed during shutdown. Fixes bug 40870; bugfix + on 0.4.8.1-alpha. + + o Minor bugfixes (testing network): + - Enabling TestingTorNetwork no longer forces fast hidden service + intro point rotation. This reduces noise and errors when using + hidden services with TestingTorNetwork enabled. Fixes bug 40922; + bugfix on 0.3.2.1-alpha. + + o New system requirements: + - When built with LibreSSL, Tor now requires LibreSSL 3.7 or later. + Part of ticket 41059. + - When built with OpenSSL, Tor now requires OpenSSL 1.1.1 or later. + (We strongly recommend 3.0 or later, but still build with 1.1.1, + even though it is not supported by the OpenSSL team, due to its + presence in Debian oldstable.) Part of ticket 41059. + + o Removed features (relays): + - Relays no longer support clients that falsely advertise TLS + ciphers they don't really support. (Clients have not done this + since 0.2.3.17-beta). Part of ticket 41031. + - Relays no longer support clients that require obsolete v1 and v2 + link handshakes. (The v3 link handshake has been supported since + 0.2.3.6-alpha). Part of ticket 41031. + - Relays no longer support the obsolete TAP circuit extension + protocol. (For backward compatibility, however, relays still + continue to include TAP keys in their descriptors.) Implements + part of proposal 350. + - Relays no longer support the obsolete "RSA-SHA256-TLSSecret" + authentication method, which used a dangerously short RSA key, and + which required access TLS session internals. The current method + ("Ed25519-SHA256-RFC5705") has been supported since 0.3.0.1-alpha. + Closes ticket 41020. + + o Removed features (directory authorities): + - Directory authorities no longer support consensus methods before + method 32. Closes ticket 40835. + - We include a new consensus method that removes support for + computing "package" lines in consensus documents. This feature was + never used, and support for including it in our votes was removed + in 0.4.2.1-alpha. Finishes implementation of proposal 301. + + Changes in version 0.4.9.4-rc - 2026-01-28 Finally, the release candidate for the 0.4.9.x series. It consists of minor features and several bugfixes. Nothing major has been added since the alpha.