|  | @@ -1,3 +1,126 @@
 | 
	
		
			
				|  |  | +Changes in version 0.2.4.7-alpha - 2012-12-24
 | 
	
		
			
				|  |  | +  o Major features (client resilience):
 | 
	
		
			
				|  |  | +    - Add a new "FallbackDir" torrc option to use when we can't use
 | 
	
		
			
				|  |  | +      a directory mirror from the consensus (either because we lack a
 | 
	
		
			
				|  |  | +      consensus, or because they're all down). Currently, all authorities
 | 
	
		
			
				|  |  | +      are fallbacks by default, and there are no other default fallbacks,
 | 
	
		
			
				|  |  | +      but that will change. This option will allow us to give clients a
 | 
	
		
			
				|  |  | +      longer list of servers to try to get a consensus from when first
 | 
	
		
			
				|  |  | +      connecting to the Tor network, and thereby reduce load on the
 | 
	
		
			
				|  |  | +      directory authorities. Implements proposal 206, "Preconfigured
 | 
	
		
			
				|  |  | +      directory sources for bootstrapping". We also removed the old
 | 
	
		
			
				|  |  | +      "FallbackNetworkstatus" option, since we never got it working well
 | 
	
		
			
				|  |  | +      enough to use it. Closes bug 572.
 | 
	
		
			
				|  |  | +    - If we have no circuits open, use a relaxed timeout (the
 | 
	
		
			
				|  |  | +      95-percentile cutoff) until a circuit succeeds. This heuristic
 | 
	
		
			
				|  |  | +      should allow Tor to succeed at building circuits even when the
 | 
	
		
			
				|  |  | +      network connection drastically changes. Should help with bug 3443.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  o Major features (IPv6):
 | 
	
		
			
				|  |  | +    - Tor now has (alpha) support for exiting to IPv6 addresses. To
 | 
	
		
			
				|  |  | +      enable it as an exit node, make sure that you have IPv6
 | 
	
		
			
				|  |  | +      connectivity, then set the IPv6Exit flag to 1. Also make sure your
 | 
	
		
			
				|  |  | +      exit policy reads as you would like: the address * applies to all
 | 
	
		
			
				|  |  | +      address families, whereas *4 is IPv4 address only, and *6 is IPv6
 | 
	
		
			
				|  |  | +      addresses only. On the client side, you'll need to wait until the
 | 
	
		
			
				|  |  | +      authorities have upgraded, wait for enough exits to support IPv6,
 | 
	
		
			
				|  |  | +      apply the "IPv6Traffic" flag to a SocksPort, and use Socks5. Closes
 | 
	
		
			
				|  |  | +      ticket 5547, implements proposal 117 as revised in proposal 208.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      We DO NOT recommend that clients with actual anonymity needs start
 | 
	
		
			
				|  |  | +      using IPv6 over Tor yet, since not enough exits support it yet.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  o Major features (geoip database):
 | 
	
		
			
				|  |  | +    - Maxmind began labelling Tor relays as being in country "A1",
 | 
	
		
			
				|  |  | +      which breaks by-country node selection inside Tor. Now we use a
 | 
	
		
			
				|  |  | +      script to replace "A1" ("Anonymous Proxy") entries in our geoip
 | 
	
		
			
				|  |  | +      file with real country codes. This script fixes about 90% of "A1"
 | 
	
		
			
				|  |  | +      entries automatically and uses manual country code assignments to
 | 
	
		
			
				|  |  | +      fix the remaining 10%. See src/config/README.geoip for details.
 | 
	
		
			
				|  |  | +      Fixes bug 6266. Also update to the December 5 2012 Maxmind GeoLite
 | 
	
		
			
				|  |  | +      Country database, as modified above.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  o Major bugfixes (client-side DNS):
 | 
	
		
			
				|  |  | +    - Turn off the client-side DNS cache by default. Updating and using
 | 
	
		
			
				|  |  | +      the DNS cache is now configurable on a per-client-port
 | 
	
		
			
				|  |  | +      level. SOCKSPort, DNSPort, etc lines may now contain
 | 
	
		
			
				|  |  | +      {No,}Cache{IPv4,IPv6,}DNS lines to indicate that we shouldn't
 | 
	
		
			
				|  |  | +      cache these types of DNS answers when we receive them from an
 | 
	
		
			
				|  |  | +      exit node in response to an application request on this port, and
 | 
	
		
			
				|  |  | +      {No,}UseCached{IPv4,IPv6,DNS} lines to indicate that if we have
 | 
	
		
			
				|  |  | +      cached DNS answers of these types, we shouldn't use them. It's
 | 
	
		
			
				|  |  | +      potentially risky to use cached DNS answers at the client, since
 | 
	
		
			
				|  |  | +      doing so can indicate to one exit what answers we've gotten
 | 
	
		
			
				|  |  | +      for DNS lookups in the past. With IPv6, this becomes especially
 | 
	
		
			
				|  |  | +      problematic. Using cached DNS answers for requests on the same
 | 
	
		
			
				|  |  | +      circuit would present less linkability risk, since all traffic
 | 
	
		
			
				|  |  | +      on a circuit is already linkable, but it would also provide
 | 
	
		
			
				|  |  | +      little performance benefit: the exit node caches DNS replies
 | 
	
		
			
				|  |  | +      too. Implements a simplified version of Proposal 205. Implements
 | 
	
		
			
				|  |  | +      ticket 7570.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  o Major bugfixes (other):
 | 
	
		
			
				|  |  | +    - Alter circuit build timeout measurement to start at the point
 | 
	
		
			
				|  |  | +      where we begin the CREATE/CREATE_FAST step (as opposed to circuit
 | 
	
		
			
				|  |  | +      initialization). This should make our timeout measurements more
 | 
	
		
			
				|  |  | +      uniform. Previously, we were sometimes including ORconn setup time
 | 
	
		
			
				|  |  | +      in our circuit build time measurements. Should resolve bug 3443.
 | 
	
		
			
				|  |  | +    - Fix an assertion that could trigger in hibernate_go_dormant() when
 | 
	
		
			
				|  |  | +      closing an or_connection_t: call channel_mark_for_close() rather
 | 
	
		
			
				|  |  | +      than connection_mark_for_close(). Fixes bug 7267. Bugfix on
 | 
	
		
			
				|  |  | +      0.2.4.4-alpha.
 | 
	
		
			
				|  |  | +    - Distribute and install the geoip6 IPv6 GeoIP database. Fixes bug
 | 
	
		
			
				|  |  | +      7655; bugfix on 0.2.4.6-alpha.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  o Minor features:
 | 
	
		
			
				|  |  | +    - Add a new torrc option "ServerTransportListenAddr" to let users
 | 
	
		
			
				|  |  | +      select the address where their pluggable transports will listen
 | 
	
		
			
				|  |  | +      for connections. Resolves ticket 7013.
 | 
	
		
			
				|  |  | +    - Allow an optional $ before the node identity digest in the
 | 
	
		
			
				|  |  | +      controller command GETINFO ns/id/<identity>, for consistency with
 | 
	
		
			
				|  |  | +      md/id/<identity> and desc/id/<identity>. Resolves ticket 7059.
 | 
	
		
			
				|  |  | +    - Log packaged cell fullness as part of the heartbeat message.
 | 
	
		
			
				|  |  | +      Diagnosis to try to determine the extent of bug 7743.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  o Minor features (IPv6):
 | 
	
		
			
				|  |  | +    - AutomapHostsOnResolve now supports IPv6 addresses. By default, we
 | 
	
		
			
				|  |  | +      prefer to hand out virtual IPv6 addresses, since there are more of
 | 
	
		
			
				|  |  | +      them and we can't run out. To override this behavior and make IPv4
 | 
	
		
			
				|  |  | +      addresses preferred, set NoPreferIPv6Automap on whatever SOCKSPort
 | 
	
		
			
				|  |  | +      or DNSPort you're using for resolving. Implements ticket 7571.
 | 
	
		
			
				|  |  | +    - AutomapHostsOnResolve responses are now randomized, to avoid
 | 
	
		
			
				|  |  | +      annoying situations where Tor is restarted and applications
 | 
	
		
			
				|  |  | +      connect to the wrong addresses.
 | 
	
		
			
				|  |  | +    - We never try more than 1000 times to pick a new virtual address
 | 
	
		
			
				|  |  | +      when AutomapHostsOnResolve is set. That's good enough so long as
 | 
	
		
			
				|  |  | +      we aren't close to handing out our entire virtual address space;
 | 
	
		
			
				|  |  | +      if you're getting there, it's best to switch to IPv6 virtual
 | 
	
		
			
				|  |  | +      addresses anyway.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  o Minor bugfixes:
 | 
	
		
			
				|  |  | +    - The ADDRMAP command can no longer generate an ill-formed error
 | 
	
		
			
				|  |  | +      code on a failed MAPADDRESS. It now says "internal" rather than
 | 
	
		
			
				|  |  | +      an English sentence fragment with spaces in the middle. Bugfix on
 | 
	
		
			
				|  |  | +      Tor 0.2.0.19-alpha.
 | 
	
		
			
				|  |  | +    - Fix log messages and comments to avoid saying "GMT" when we mean
 | 
	
		
			
				|  |  | +      "UTC". Fixes bug 6113.
 | 
	
		
			
				|  |  | +    - Compile on win64 using mingw64. Fixes bug 7260; patches from
 | 
	
		
			
				|  |  | +      "yayooo".
 | 
	
		
			
				|  |  | +    - Fix a crash when debugging unit tests on Windows: deallocate a
 | 
	
		
			
				|  |  | +      shared library with FreeLibrary, not CloseHandle. Fixes bug 7306;
 | 
	
		
			
				|  |  | +      bugfix on 0.2.2.17-alpha. Reported by "ultramage".
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  o Renamed options:
 | 
	
		
			
				|  |  | +    - The DirServer option is now DirAuthority, for consistency with
 | 
	
		
			
				|  |  | +      current naming patterns. You can still use the old DirServer form.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  o Code simplification and refactoring:
 | 
	
		
			
				|  |  | +    - Move the client-side address-map/virtual-address/DNS-cache code
 | 
	
		
			
				|  |  | +      out of connection_edge.c into a new addressmap.c module.
 | 
	
		
			
				|  |  | +    - Remove unused code for parsing v1 directories and "running routers"
 | 
	
		
			
				|  |  | +      documents. Fixes bug 6887.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  Changes in version 0.2.3.25 - 2012-11-19
 | 
	
		
			
				|  |  |    The Tor 0.2.3 release series is dedicated to the memory of Len "rabbi"
 | 
	
		
			
				|  |  |    Sassaman (1980-2011), a long-time cypherpunk, anonymity researcher,
 |