commit 5ee5103f63324d7cf5f4ff8bd0fc822f1d6507d2
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Tue May 3 21:33:10 2011 -0400
Initial draft changelog for 0.2.3.1-alpha
---
ChangeLog | 132 +++++++++++++++++++++++++++++++++++++++
changes/automake_required | 6 --
changes/autoreconf | 5 --
changes/bufferevent-support | 12 ----
changes/bug1982 | 5 --
changes/bug2444 | 4 -
changes/bug2559 | 6 --
changes/bug2573 | 3 -
changes/bug2702 | 5 --
changes/bug507.event | 4 -
changes/cpudetect | 3 -
changes/dirreq-stats-default | 4 -
changes/enhancement1668 | 4 -
changes/enhancement1819 | 4 -
changes/enhancement1883 | 4 -
changes/eventdns_routerinfo_key | 4 -
changes/feature1955 | 4 -
changes/feature2345 | 4 -
changes/getinfo_process | 3 -
changes/heartbeat | 7 --
changes/install-fix | 3 -
changes/microdesc_dl | 4 -
changes/nodelist | 10 ---
changes/prop174_server | 6 --
changes/tls-hash | 5 --
changes/tor-fw-helper | 14 ----
26 files changed, 132 insertions(+), 133 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7e95671..3d779c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,135 @@
+Changes in version 0.2.3.1-alpha - 2011-05-0?
+
+ Tor 0.2.3.1-alpha adds some new experimental features, including support
+ for an improved network IO backend, IOCP networking on Windows,
+ microdescriptor caching, "fast-start" support for streams, and automatic
+ home router configuration. There are also numerous internal improvements
+ to try to make the code easier for developers to work with.
+
+ o Major features
+ - Tor can now optionally build with the "bufferevents" buffered IO
+ backend provided by Libevent 2. To use this feature, make sure you
+ have the latest possible version of Libevent, and pass the
+ --enable-bufferevents flag to configure when building Tor from source.
+ Using this feature will make our networking code more flexible, let us
+ stack layers on each other, and let us use more efficient zero-copy
+ transports where available.
+ - As an experimental feature, Tor can use IOCP for networking on Windows.
+ Once this code is tuned and optimized, it promises much better
+ performance than the select-based backend we've used in the past. To
+ try this feature, you must build Tor with Libevent 2, configure Tor
+ with the "bufferevents" buffered IO backend, and add "DisableIOCP 0" to
+ your torrc. There are known bugs here: only try this if you can help
+ debug it as it breaks.
+ - The EntryNodes option can now include country codes like {de} or IP
+ addresses or network masks. Previously we had disallowed these options
+ because we didn't have an efficient way to keep the list up to
+ date. Fixes bug 1982.
+ - Exit nodes now accept and queue data on not-yet-connected streams.
+ Previously, the client wasn't allowed to send data until the stream was
+ connected, which slowed down all connections. This change will enable
+ clients to perform a "fast-start" on streams and send data without
+ having to wait for a confirmation that the stream has opened. (Patch
+ from Ian Goldberg; implements the server side of Proposal 174.)
+ - Tor now has initial support for automatic port mapping on on the many
+ home routers that support NAT-PMP or UPnP. (Not yet supported on
+ Windows). To build the support code, you'll need to have libnatpnp
+ library and/or the libminiupnpc library, and you'll need to enable the
+ feature specifically by passing "--enable-upnp" and/or
+ "--enable-natpnp" to configure. To turn it on, use the new
+ PortForwarding option.
+ - Caches now download, cache, and sever multiple "flavors" of the
+ consensus, including a flavor that describes microdescriptors.
+ - Caches now download, cache, and serve microdescriptors -- small
+ summaries of router descriptors that are authenticated by all of the
+ directory authorities. Once enough caches are running this code,
+ clients will be able to save significant amounts of directory bandwidth
+ by downloading microdescriptors instead of router descriptors.
+
+ o Minor features:
+ - Make logging resolution configurable and change default from 1
+ millisecond to 1 second. Implements enhancement 1668.
+ - We log which torrc file we're using on startup. Implements ticket 2444.
+ - Ordinarily, Tor does not count traffic from private addresses (like
+ 127.0.0.1 or 10.0.0.1) when calculating rate limits or accounting.
+ There is now a new option, CountPrivateBandwidth, to disable this
+ behavior. Patch from Daniel Cagara.
+ - New --enable-static-tor configure option for building Tor as statically
+ as possible. Idea, general hackery and thoughts from Alexei Czeskis,
+ John Gilmore, Jacob Appelbaum. Implements ticket 2702.
+ - If you set the NumCPUs option to 0, Tor will now try to detect how many
+ CPUs you have. This is the new default behavior.
+ - Turn on directory request statistics by default and include them in
+ extra-info descriptors. Don't break if we have no GeoIP database.
+ - Relays that set "ConnDirectionStatistics 1" write statistics on the
+ bidirectional use of connections to disk every 24 hours.
+ - Add a GeoIP file digest to the extra-info descriptor. Implements
+ enhancement 1883.
+ - Add a new 'Heartbeat' log message type to periodically log a message
+ describing Tor's status at level Notice. This feature is meant for
+ operators who log at notice, adn want to make sure that their Tor
+ server is still working. Implementation by George Kadianakis.
+
+ o Minor bugfixes (on 0.2.2.25-alpha):
+ - When loading the microdesc journal, remember its current size.
+ In 0.2.2, this helps prevent the microdesc journal from growing
+ without limit on authorities (who are the only ones to use it in
+ 0.2.2). Fixes a part of bug 2230; bugfix on 0.2.2.6-alpha.
+ Fix posted by "cypherpunks."
+ - The microdesc journal is supposed to get rebuilt only if it is
+ at least _half_ the length of the store, not _twice_ the length
+ of the store. Bugfix on 0.2.2.6-alpha; fixes part of bug 2230.
+ - Authorities now clean their microdesc cache periodically and when
+ reading from disk initially, not only when adding new descriptors.
+ This prevents a bug where we could lose microdescriptors. Bugfix
+ on 0.2.2.6-alpha.
+
+ o Minor features (controller)
+ - Add a new SIGNAL event to the controller interface so that
+ controllers can be notified when Tor handles a signal. Resolves
+ issue 1955. Patch by John Brooks.
+ - Add a new GETINFO option to get total bytes read and written. Patch
+ from pipe, revised by atagar. Resolves ticket 2345.
+ - Implement some GETINFO controller fields to provide information about
+ the Tor process's pid, euid, username, and resource limits.
+
+ o Build changes
+ - Our build system requires automake 1.6 or later to create the
+ Makefile.in files. Previously, you could have used 1.4.
+ This only affects developers and people building Tor from git;
+ people who build Tor from the source distribution without changing
+ the Makefile.am files should be fine.
+ - Our autogen.sh script uses autoreconf to launch autoconf, automake, and
+ so on. This is more robust against some of the failure modes
+ associated with running the autotools pieces on their own.
+
+ o Minor packaging issues:
+ - On OpenSUSE, create the /var/run/tor directory on startup if it is not
+ already created. Patch from Andreas Stieger. Fixes bug 2573.
+
+ o Code simplifications and refactoring:
+ - A major revision to our internal node-selecting and listing logic.
+ Tor already had at least two major ways to look at the question of
+ "which Tor servers do we know about": a list of router descriptors,
+ and a list of entries in the current consensus. With
+ microdescriptors, we're adding a third. Having so many systems
+ without an abstraction layer over them was hurting the codebase.
+ Now, we have a new "node_t" abstraction that presents a consistent
+ interface to a client's view of a Tor node, and holds (nearly) all
+ of the mutable state formerly in routerinfo_t and routerstatus_t.
+ - The helper programs tor-gencert, tor-resolve, and tor-checkkey
+ no longer link against Libevent: they never used it, but
+ our library structure used to force them to link it.
+
+ o Removed features:
+ - Removed some old code to work around even older versions of Tor that
+ used forked processes to handle DNS requests. Such versions of Tor
+ are no longer in use as servers.
+
+ o Documentation fixes:
+ - Correct a broken faq link in the INSTALL file. Fixes bug 2307.
+
+
Changes in version 0.2.2.25-alpha - 2011-04-29
Tor 0.2.2.25-alpha fixes many bugs: hidden service clients are more
robust, routers no longer overreport their bandwidth, Win7 should crash
diff --git a/changes/automake_required b/changes/automake_required
deleted file mode 100644
index bb50355..0000000
--- a/changes/automake_required
+++ /dev/null
@@ -1,6 +0,0 @@
- o Build changes
- - Our build system requires automake 1.6 or later to create the
- Makefile.in files. Previously, you could have used 1.4.
- This only affects developers and people building Tor from git;
- people who build Tor from the source distribution without changing
- the Makefile.am files should be fine.
diff --git a/changes/autoreconf b/changes/autoreconf
deleted file mode 100644
index c08cc7a..0000000
--- a/changes/autoreconf
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor build changes:
- - Use autoreconf to launch autoconf, automake, etc from autogen.sh.
- This is more robust against some of the failure modes associated
- with running the autotools chain on its own.
-
diff --git a/changes/bufferevent-support b/changes/bufferevent-support
deleted file mode 100644
index e39c36f..0000000
--- a/changes/bufferevent-support
+++ /dev/null
@@ -1,12 +0,0 @@
- o Major features
- - Tor can now optionally build with the "bufferevents" buffered IO
- backend provided by Libevent, when building with Libevent 2.0.7-rc
- or later. To use this feature, make sure you have the latest possible
- version of Libevent, and run autoconf with the --enable-bufferevents
- flag. Using this feature will make our networking code more flexible,
- lets us stack layers on each other, and let us use more efficient
- zero-copy transports where available.
- - As an experimental feature, when using the "bufferevents" buffered
- IO backend, Tor can try to use Windows's IOCP networking API. This
- is off by default. To turn it on, add "DisableIOCP 0" to your torrc.
-
diff --git a/changes/bug1982 b/changes/bug1982
deleted file mode 100644
index 30ce2df..0000000
--- a/changes/bug1982
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major features:
- - Allow EntryNodes to include country codes like {de} or IP addresses
- or network masks. Previously we had disallowed these options
- because we didn't have an efficient way to keep the list up to
- date. Resolves bug 1982.
diff --git a/changes/bug2444 b/changes/bug2444
deleted file mode 100644
index 405e8dc..0000000
--- a/changes/bug2444
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features:
- - If we did find a configuration file, log a message saying where we found
- it during startup. Implements ticket 2444.
-
diff --git a/changes/bug2559 b/changes/bug2559
deleted file mode 100644
index 9715eaf..0000000
--- a/changes/bug2559
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor features:
- - Ordinarily, Tor does not count traffic from private addresses
- (like 127.0.0.1 or 10.0.0.1) when calculating rate limits or
- accounting. There is now a new option, CountPrivateBandwidth, to
- disable this behavior. Patch from Daniel Cagara.
-
diff --git a/changes/bug2573 b/changes/bug2573
deleted file mode 100644
index 7a2a802..0000000
--- a/changes/bug2573
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor packaging issues
- - Create the /var/run/tor directory on startup on OpenSUSE if it is
- not already created. Patch from Andreas Stieger. Fixes bug 2573.
diff --git a/changes/bug2702 b/changes/bug2702
deleted file mode 100644
index b119f69..0000000
--- a/changes/bug2702
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor features:
- - Implements --enable-static-tor for configure time. Implements ticket
- 2702. Idea, general hackery and thoughts from Alexei Czeskis, John
- Gilmore, Jacob Appelbaum.
-
diff --git a/changes/bug507.event b/changes/bug507.event
deleted file mode 100644
index 68ef4b1..0000000
--- a/changes/bug507.event
+++ /dev/null
@@ -1,4 +0,0 @@
- o Code simplifications
- - We no longer need link tor-gencert, tor-resolve, or tor-checkkey
- against libevent; they don't use them, and our code was already
- refactored not to force them to use them.
diff --git a/changes/cpudetect b/changes/cpudetect
deleted file mode 100644
index eeaa492..0000000
--- a/changes/cpudetect
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor features
- - If you set the NumCPUs option to 0, Tor will try to detect how many
- CPUs you have. This is the new default behavior.
diff --git a/changes/dirreq-stats-default b/changes/dirreq-stats-default
deleted file mode 100644
index 673be6a..0000000
--- a/changes/dirreq-stats-default
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features:
- - Turn on directory request statistics by default and include them in
- extra-info descriptors. Don't break if we have no GeoIP database.
-
diff --git a/changes/enhancement1668 b/changes/enhancement1668
deleted file mode 100644
index 0d9f88f..0000000
--- a/changes/enhancement1668
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features:
- - Make logging resolution configurable and change default from 1
- millisecond to 1 second. Implements enhancement 1668.
-
diff --git a/changes/enhancement1819 b/changes/enhancement1819
deleted file mode 100644
index 9a3f2af..0000000
--- a/changes/enhancement1819
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features:
- - Relays that set "ConnDirectionStatistics 1" write statistics on the
- birectional use of connections to disk every 24 hours.
-
diff --git a/changes/enhancement1883 b/changes/enhancement1883
deleted file mode 100644
index fe6bc1a..0000000
--- a/changes/enhancement1883
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features:
- - Add GeoIP file digest to extra-info descriptor. Implements
- enhancement 1883.
-
diff --git a/changes/eventdns_routerinfo_key b/changes/eventdns_routerinfo_key
deleted file mode 100644
index 46dcb52..0000000
--- a/changes/eventdns_routerinfo_key
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor feature removals
- - Removed old code to work around versions of Tor so old that they
- used multiple forked processes to handle DNS requests. Such
- versions of Tor are no longer in use as servers.
diff --git a/changes/feature1955 b/changes/feature1955
deleted file mode 100644
index 169b7fd..0000000
--- a/changes/feature1955
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (controller)
- - Add a new SIGNAL event to the controller interface so that
- controllers can be notified when Tor handles a signal. Resolves
- issue 1955. Patch by John Brooks.
diff --git a/changes/feature2345 b/changes/feature2345
deleted file mode 100644
index 5ab6a0f..0000000
--- a/changes/feature2345
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (controller)
- - Add GETINFO options to get total bytes read and written. Patch
- from pipe, revised by atagar. Resolves ticket 2345.
-
diff --git a/changes/getinfo_process b/changes/getinfo_process
deleted file mode 100644
index c6eb6c0..0000000
--- a/changes/getinfo_process
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor features
- - Implement some GETINFO controller fields to provide information about
- the Tor process's pid, euid, username, and resource limits.
diff --git a/changes/heartbeat b/changes/heartbeat
deleted file mode 100644
index 008d915..0000000
--- a/changes/heartbeat
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor features
- - Add a new 'Heartbeat' log message type to periodically log a
- message describing Tor's status at level Notice. This feature
- is meant for operators who log at notice, adn want to make sure
- that their Tor server is still working. Implementation by
- George Kadianakis.
-
diff --git a/changes/install-fix b/changes/install-fix
deleted file mode 100644
index fb921eb..0000000
--- a/changes/install-fix
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes:
- - Correct a broken faq link in the INSTALL file. Fixes bug 2307.
-
diff --git a/changes/microdesc_dl b/changes/microdesc_dl
deleted file mode 100644
index aca634c..0000000
--- a/changes/microdesc_dl
+++ /dev/null
@@ -1,4 +0,0 @@
- o Major features:
- - Caches now download and cache all the consensus flavors that
- they know about. This allows them to assess which microdescriptors
- they need to fetch.
diff --git a/changes/nodelist b/changes/nodelist
deleted file mode 100644
index 033a6c1..0000000
--- a/changes/nodelist
+++ /dev/null
@@ -1,10 +0,0 @@
- o Code refactorings
- - Unified our node-listing and selecting logic. We had at least
- two major ways to look at the question of "which Tor servers do
- we know about": our list of router descriptors, and the current
- consensus. We're adding a third in microdescriptors. Having
- so many systems without an abstraction layer over them was
- hurting the codebase. Now, we have a new "node_t" abstraction
- that presents a consistent interface to a client's view of
- a Tor node, and holds (nearly) all of the mutable state
- formerly in routerinfo_t and routerstatus_t.
diff --git a/changes/prop174_server b/changes/prop174_server
deleted file mode 100644
index a2fb39f..0000000
--- a/changes/prop174_server
+++ /dev/null
@@ -1,6 +0,0 @@
- o Features:
- - Servers now accept and queue data on not-yet-connected
- streams. Previously, such data wasn't allowed. This forced
- clients to wait for a CONNECTED cell before sending their
- data, thus adding a round trip to stream setup. (Patch from
- Ian Goldberg; implements the server side of Proposal 174.)
diff --git a/changes/tls-hash b/changes/tls-hash
deleted file mode 100644
index 884ff91..0000000
--- a/changes/tls-hash
+++ /dev/null
@@ -1,5 +0,0 @@
- o Code simplifications and refactoring:
- - Use SSL_get_ex_data to map SSL objects to tor_tls_t objects: there's
- no need for a hash table.
-
-
diff --git a/changes/tor-fw-helper b/changes/tor-fw-helper
deleted file mode 100644
index f87d828..0000000
--- a/changes/tor-fw-helper
+++ /dev/null
@@ -1,14 +0,0 @@
- o Major features:
- - Tor now has the ability to wrangle NAT devices like a good network cowbot
- with the tor-fw-helper tool. The tor-fw-helper tool supports Apple's
- NAT-PMP protocol and the UPnP standard for TCP port mapping. This
- optional tool may be enabled at compile time by configuring with
- '--enable-upnp' or '--enable-natpmp' or with both. This tool may be
- called by hand or by Tor. By configuring the PortForwarding option, Tor
- will launch the helper on a regular basis to ensure that the NAT mapping
- is regularly updated. Additionally, a user may also specify an
- alternative helper by using the PortForwardingHelper option. The helper
- may be specified by name or with the full path to the helper. The default
- helper is named 'tor-fw-helper' and any alternative helper must take the
- tor-fw-helper-spec.txt into account.
-