Release of the New Stable Branch Tor 0.4.0
The Tor 0.4.0.5 toolkit, used for organizing the anonymous Tor network, has been officially released. Tor 0.4.0.5 is recognized as the first stable release of the 0.4.0 branch, which has been in development for the past four months. The 0.4.0 branch will be supported according to the standard maintenance cycle—updates will end either nine months after release or three months after the release of the 0.4.1.x branch. Long-term support (LTS) is provided for the 0.3.5 branch, with updates available until February 1, 2022.
Main New Features
- Power Saving Mode: The client implementation now includes a power-saving mode. If the client is inactive for 24 hours or more, it enters sleep mode, stopping all network activity and conserving CPU resources. The client returns to normal mode after a user request or a control command. The new
DormantOnFirstStartup
setting allows the client to return to sleep mode immediately after restarting, without waiting for another 24 hours of inactivity. - Detailed Bootstrap Information: Tor now provides detailed information about the startup (bootstrap) process, helping users identify the causes of delays without waiting for the connection process to finish. Previously, information was only displayed after the connection was complete, which could be confusing if the process hung or took hours. Now, messages about issues and the status of the startup are shown as each stage progresses. Separate information is provided for connections using proxies and pluggable transports.
- Initial Support for Adaptive Padding (WTF-PAD): Tor introduces experimental support for adaptive padding (WTF-PAD) to counter indirect methods of detecting visits to websites and hidden services through analysis of packet flows and timing patterns unique to specific sites and services. The implementation uses state machines that operate on statistical probability distributions to insert delays between packets, smoothing out traffic patterns. Currently, this feature works only at the circuit level and remains experimental.
- Explicit List of Subsystems: An explicit list of Tor subsystems called during initialization and shutdown has been added. Previously, these subsystems were managed from different parts of the codebase and their usage was not structured.
- New API for Managing Child Processes: A new API has been implemented for managing child processes, enabling a bidirectional communication channel between child processes on Unix-like systems and Windows.