| 
					
				 | 
			
			
				@@ -2,36 +2,30 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   XXX BLURB 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o New system requirements: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Tor no longer tries to support systems without mmap() or some 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      local equivalent. Apparently, compilation on such systems has been 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      broken for some time, without anybody noticing or complaining. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Closes ticket 25398. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Tor no longer tries to support old operating systems without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      mmap() or some local equivalent. Apparently, compilation on such 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      systems has been broken for some time, without anybody noticing or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      complaining. Closes ticket 25398. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Major feature (directory authority, modularization): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - The directory authority subsystem has been modularized. The code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      is now located in src/or/dirauth/ which is compiled in by default. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      is now located in src/or/dirauth/, and is compiled in by default. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       To disable the module, the configure option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      --disable-module-dirauth has been added. Closes ticket 25610; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Major feature (main loop, CPU usage): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Previously, tor would enable at startup all possible main loop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      event regardless if it needed them. For instance, directory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      authorities callbacks were fired up even for client only. We have 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      now refactored this whole interface to only enable the appropriate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      callbacks depending on what are tor roles (client only, relay, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      hidden service, etc.). Furthermore, these events now depend on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      DisableNetwork or the hibernation state in order to enable them. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      This is a big step towards reducing client CPU usage by reducing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      the amount of wake ups the daemon does. Closes ticket 25376 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      and 25762. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Major features (CPU usage, mobile): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      --disable-module-dirauth has been added. This module may be 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      disabled by default in some future release. Closes ticket 25610. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major features (main loop, CPU usage): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - When Tor is disabled (via DisableNetwork or via hibernation), it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       no longer needs to run any per-second events. This change should 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       make it easier for mobile applications to disable Tor while the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       device is sleeping, or Tor is not running. Closes ticket 26063. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Major features (main loop, CPU wakeup): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Tor no longer enables all of its periodic events by default. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Previously, Tor would enable all possible main loop events, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      regardless of whether it needed them. Furthermore, many of these 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      events are now disabled with Tor is hibernating or DisableNetwork 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      is set. This is a big step towards reducing client CPU usage by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      reducing the amount of wake-ups the daemon does. Closes ticket 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      25376 and 25762. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - The bandwidth-limitation logic has been refactored so that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       bandwidth calculations are performed on-demand, rather than every 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       TokenBucketRefillInterval milliseconds. This change should improve 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41,9 +35,14 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Major bugfixes (directory authorities, security): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - When directory authorities read a zero-byte bandwidth file, they 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      log a warning with the contents of an uninitialised buffer. Log a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      warning about the empty file instead. Fixes bug 26007; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      on 0.2.2.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      would previously log a warning with the contents of an 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uninitialised buffer. They now log a warning about the empty file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      instead. Fixes bug 26007; bugfix on 0.2.2.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major bugfixes (crash): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Avoid an rare assertion failure in the circuit build timeout code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if we fail to allow any circuits to actually complete. Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      25733; bugfix on 0.2.2.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Major bugfixes (directory authority): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Avoid a crash when testing router reachability on a router that 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -74,15 +73,11 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       controlled by a consensus parameter. Fixes bug 25226; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       on 0.2.4.14-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor feature (entry guards): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Introduce torrc option NumPrimaryGuards for controlling the number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      of primary guards. Closes ticket 25843. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor features (accounting): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - When we become dormant, use a scheduled event to wake up at the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      right time. Previously, we would use the per-second timer to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      whether to wake up, but we no longer have any per-second timers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      enabled when the network is disabled. Closes ticket 26064. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When Tor becomes dormant, it now uses a scheduled event to wake up 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      at the right time. Previously, we would use the per-second timer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      to check whether to wake up, but we no longer have any per-second 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      timers enabled when the network is disabled. Closes ticket 26064. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor features (code quality): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Add optional spell-checking for the Tor codebase, using the 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -93,8 +88,6 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Tor now detects versions of OpenSSL 1.1.0 and later compiled with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       the no-deprecated option, and builds correctly with them. Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       tickets 19429, 19981, and 25353. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor features (compilation, portability): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Avoid some compilation warnings with recent versions of LibreSSL. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Closes ticket 26006. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -103,7 +96,7 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       that the zstd maintainers have labeled as potentially unstable. To 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       prevent breakage, Tor will only use this functionality when the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       runtime version of the zstd library matches the version with which 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      it were compiled. Closes ticket 25162. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Tor was compiled. Closes ticket 25162. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor features (configuration): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - The "DownloadSchedule" options have been renamed to end with 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -133,7 +126,7 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor features (directory authority): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Directory authorities now open their key-pinning files as O_SYNC, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      to prevent themselves from accidentally writing partial lines. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      to limit their chances of accidentally writing partial lines. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Closes ticket 23909. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor features (directory authority, forward compatibility): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -141,65 +134,38 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       their entries in any order. Previously, the node_id entry needed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       to come first. Closes ticket 26004. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (entry guards): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Introduce a new torrc option NumPrimaryGuards for controlling the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      number of primary guards. Closes ticket 25843. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor features (geoip): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Update geoip and geoip6 to the May 1 2018 Maxmind GeoLite2 Country 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       database. Closes ticket 26104. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor features (mainloop): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Move responsibility for closing connections, circuits, and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      channels from a once-per-second callback to a callback that is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      only scheduled as needed. Once enough items are removed from our 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Move responsibility for many operations from a once-per-second 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      callback to a callback that is only scheduled as needed. Moving 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this functionality has allowed us to disable the callback when 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Tor's network is disabled. Once enough items are removed from our 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       once-per-second callback, we can eliminate it entirely to conserve 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      CPU when idle. Closes ticket 25932. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Move responsibility for consensus voting from a once-per-second 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      callback to a callback that is only scheduled as needed. Once 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      enough items are removed from our once-per-second callback, we can 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      eliminate it entirely to conserve CPU when idle. Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ticket 25937. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Move responsibility for flushing log callbacks from a once-per- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      second callback to a callback that is only scheduled as needed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Once enough items are removed from our once-per-second callback, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      we can eliminate it entirely to conserve CPU when idle. Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ticket 25951. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Move responsibility for honoring delayed SIGNEWNYM requests from a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      once-per-second callback to a callback that is only scheduled as 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      needed. Once enough items are removed from our once-per-second 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      callback, we can eliminate it entirely to conserve CPU when idle. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Closes ticket 25949. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Move responsibility for rescanning the consensus cache from a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      once-per-second callback to a callback that is only scheduled as 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      needed. Once enough items are removed from our once-per-second 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      callback, we can eliminate it entirely to conserve CPU when idle. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Closes ticket: 25931. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Move responsibility for saving the state file to disk from a once- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      per-second callback to a callback that is only scheduled as 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      needed. Once enough items are removed from our once-per-second 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      callback, we can eliminate it entirely to conserve CPU when idle. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Closes ticket 25948. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Move responsibility for warning relay operators about unreachable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ports from a once-per-second callback to a callback that is only 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      scheduled as needed. Once enough items are removed from our once- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      per-second callback, we can eliminate it entirely to conserve CPU 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      when idle. Closes ticket 25952. - Move responsibility for keeping 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      track of Tor's uptime from a nce-per-second callback to a callback 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      that is only scheduled as needed. Once enough items are removed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      from our once-per-second callback, we can eliminate it entirely to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      conserve CPU when idle. Closes ticket 26009. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      CPU when idle. The functionality removed includes: closing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      connections, circuits, and channels (ticket 25932); consensus 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      voting (25937); flushing log callbacks (25951); honoring delayed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      SIGNEWNYM requests (25949); rescanning the consensus cache 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (25931); saving the state file to disk (25948); warning relay 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      operators about unreachable ports (25952); and keeping track of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Tor's uptime (26009). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor features (performance): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Avoid a needless call to malloc() when processing an incoming 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       relay cell. Closes ticket 24914. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor features (performance, 32-bit): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Make our timing-wheel code run a tiny bit faster on 32-bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       platforms, by preferring 32-bit math to 64-bit. Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ticket 24688. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor features (performance, allocation): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Avoid a needless malloc()/free() pair every time we handle an ntor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       handshake. Closes ticket 25150. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor features (Testing): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (testing): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Add a unit test for voting_schedule_get_start_of_next_interval(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Closes ticket 26014, and helps make unit test coverage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       more deterministic. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -216,21 +182,6 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       than gettimeofday(). This change should marginally increase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       accuracy and performance. Implements part of ticket 25927. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfix (controler): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Make CIRC_BW event reflect the total of all data sent on a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      circuit, including padding and dropped cells. Also fix a mis- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      counting bug when STREAM_BW events were enabled. Fixes bug 25400; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      bugfix on 0.2.5.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfix (Multiple includes): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Fixed multiple includes of trasports.h in src/or/connection.c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Fixes bug 25261; bugfix on 0.2.5.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (Assert crash): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Avoid an assert in the circuit build timeout code if we fail to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      allow any circuits to actually complete. Fixes bug 25733; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      on 0.2.2.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor bugfixes (bandwidth management): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Consider ourselves "low on write bandwidth" if we have exhausted 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       our write bandwidth some time in the last second. This was the 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -243,32 +194,39 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       subsystem. Fixes bug 25675; bugfix on 0.2.7.3-rc. Found by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Coverity; this is CID 1433643. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (channel_get_for_extend()): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Remove the unused variable n_possible from the function Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      25645; bugfix on 0.2.4.4-alpha 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor bugfixes (circuit path selection): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Don't count path selection failures as circuit build failures. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      This should eliminate cases where Tor blames its guard or the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      network for situations like insufficient microdescriptors and/or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      overly restrictive torrc settings. Fixes bug 25705; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      This change should eliminate cases where Tor blames its guard or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      the network for situations like insufficient microdescriptors 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      and/or overly restrictive torrc settings. Fixes bug 25705; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       on 0.3.3.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor bugfixes (client): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Don't consider Tor running as a client if the ControlPort is open. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Fixes bug 26062; bugfix on 0.2.9.4-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Don't consider Tor running as a client if the ControlPort is open, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      but no actual client ports are open. Fixes bug 26062; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.2.9.4-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (code style): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fixed multiple includes of trasports.h in src/or/connection.c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 25261; bugfix on 0.2.5.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Remove the unused variable n_possible from the function 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      channel_get_for_extend(). Fixes bug 25645; bugfix on 0.2.4.4-alpha 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor bugfixes (control interface): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Respond with more human readable error messages to GETINFO exit- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      policy/* requests. Also, let controller know if error is transient 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (response code 551) or not (response code 552). Fixes bug 25852; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      bugfix on 0.2.8.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Respond with more human-readable error messages to GETINFO exit- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      policy/* requests. Also, let controller know if an error is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      transient (response code 551) or not (response code 552). Fixes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bug 25852; bugfix on 0.2.8.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (controller): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Make CIRC_BW event reflect the total of all data sent on a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      circuit, including padding and dropped cells. Also fix a mis- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      counting bug when STREAM_BW events were enabled. Fixes bug 25400; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bugfix on 0.2.5.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor bugfixes (directory client): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - When unverified-consensus is verified, rename it to cached- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       consenus. Fixes bug 4187; bugfix on 0.2.0.3-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (directory server cert fetch): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Fixed launching a certificate fetch always during the scheduled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       periodic consensus fetch by fetching only in those cases when 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       consensus are waiting for certs. Fixes bug 24740; bugfix 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -281,11 +239,6 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       we forgot to say so in the man page. Fixes bug 26052; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       on 0.3.2.6-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (Duplicate code): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Remove duplicate code in parse_{c,s}method_line and bootstrap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      their functionalities into a single function. Fixes bug 6236; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      bugfix on 0.2.3.6-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor bugfixes (error reporting): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Improve tolerance for directory authorities with skewed clocks. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Previously, an authority with a clock more than 60 seconds ahead 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -294,23 +247,18 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       directory authorities have to be ahead of the client before this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       warning will occur. Fixes bug 25756; bugfix on 0.2.2.25-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (freebsd): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - In have_enough_mem_for_dircache(), the variable DIRCACHE_MIN_MEM_MB 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      does not stringify on FreeBSD, so we switch to tor_asprintf(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Fixes bug 20887; bugfix on 0.2.8.1-alpha. Patch by Neel Chauhan. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (Linux seccomp2 sandbox): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Allow the nanosleep() system call, which glibc uses to implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sleep() and usleep(). Fixes bug 24969; bugfix on 0.2.5.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (hidden service v3): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Fix a memory leak when an hidden service v3 is configured and gets 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      a SIGHUP signal. Fixes bug 25901; bugfix on 0.3.2.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (onion service): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix a memory leak when a v3 onion service is configured and gets a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      SIGHUP signal. Fixes bug 25901; bugfix on 0.3.2.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - When parsing the descriptor signature, look for the token plus an 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       extra white-space at the end. This is more correct but also will 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       allow us to support new fields that might start with "signature". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Fixes bug 26069; bugfix on 0.3.0.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (Linux seccomp2 sandbox): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Allow the nanosleep() system call, which glibc uses to implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      sleep() and usleep(). Fixes bug 24969; bugfix on 0.2.5.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor bugfixes (path selection): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Only select relays when they have the descriptors we prefer to use 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for them. This change fixes a bug where we could select a relay 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -323,6 +271,11 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       getpagesize function is deprecated. Fixes bug 25399; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       on 0.1.1.23. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (portability, FreeBSD): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - In have_enough_mem_for_dircache(), the variable DIRCACHE_MIN_MEM_MB 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      does not stringify on FreeBSD, so we switch to tor_asprintf(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 20887; bugfix on 0.2.8.1-alpha. Patch by Neel Chauhan. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Minor bugfixes (relay statistics): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - When a relay is collecting internal statistics about how many 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       create cell requests it has seen of each type, accurately count 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -340,24 +293,18 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       module. This should prevent a bug where authentication cookies are 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       not generated on restart. Fixes bug 25512; bugfix on 0.3.3.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (test): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (testing): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - When testing workqueue event-cancellation, make sure that we 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       actually cancel an event, and that cancel each event with equal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       probability. (It was previously possible, though extremely 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       unlikely, for our event-canceling test not to cancel any events.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Fixes bug 26008; bugfix on 0.2.6.3-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (testing): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Repeat part of the test in test_client_pick_intro() a number of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       times, to give it consistent coverage. Fixes bug 25996; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       on 0.3.2.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (testing, coverage): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Remove randomness from the hs_common/responsible_hsdirs test, so 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       that it always takes the same path through the function it tests. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Fixes bug 25997; bugfix on 0.3.2.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  o Minor bugfixes (tests): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Change the behavior of the "channel/outbound" test so that it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       never causes a 10-second rollover for the EWMA circuitmux code. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Previously, this behavior would happen randomly, and result in 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -382,6 +329,9 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       25870; bugfix on 0.3.3.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Code simplification and refactoring: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Remove duplicate code in parse_{c,s}method_line and bootstrap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      their functionalities into a single function. Fixes bug 6236; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bugfix on 0.2.3.6-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - We remove the PortForwsrding and PortForwardingHelper options, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       related functions, and the port_forwarding tests. These options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       were used by the now-deprecated Vidalia to help ordinary users 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -449,9 +399,9 @@ Changes in version 0.3.4.1-alpha - 2018-05-1? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       bugfix on 0.2.1.6-alpha. Patch by Neel Chauhan. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Deprecated features: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - As we are not recommending 0.2.5 anymore we require relays that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - As we are not recommending 0.2.5 anymore, we require relays that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       once had an ed25519 key associated with their RSA key to always 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      have that key instead of allowing them to drop back to a version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      have that key, instead of allowing them to drop back to a version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       that didn't support ed25519. This means they need to use a new RSA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       key if the want to downgrade to an older version of tor without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ed25519. Closes ticket 20522. 
			 |