Commit c90d3a11 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

put the changelog stanzas in time order

parent 12f9c91c
Changes in version 0.2.3.1-alpha - 2011-05-05
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.
This is the first alpha release in a new series, so expect there to be
bugs. Users who would rather test out a more stable branch should
stay with 0.2.2.x for now.
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. 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, but see bug 2798 for an unresolved issue here.
- 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 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 serve 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 with a new LogGranularity
option, and change the 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, and 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.
- If as an authority we fail to compute the identity digest of a v3
legacy keypair, warn, and don't use a buffer-full of junk instead.
Bugfix on 0.2.1.1-alpha; fixes bug 3106.
- 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:
- Remove 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.
- Add missing documentation for the authority-related torrc options
RephistTrackTime, BridgePassword, and V3AuthUseLegacyKey. Resolves
issue 2379.
Changes in version 0.2.2.27-beta - 2011-05-18
Tor 0.2.2.27-beta fixes a bridge-related stability bug in the previous
release, and also adds a few more general bugfixes.
......@@ -300,6 +156,150 @@ Changes in version 0.2.2.26-beta - 2011-05-17
bug 3022.
 
 
Changes in version 0.2.3.1-alpha - 2011-05-05
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.
This is the first alpha release in a new series, so expect there to be
bugs. Users who would rather test out a more stable branch should
stay with 0.2.2.x for now.
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. 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, but see bug 2798 for an unresolved issue here.
- 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 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 serve 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 with a new LogGranularity
option, and change the 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, and 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.
- If as an authority we fail to compute the identity digest of a v3
legacy keypair, warn, and don't use a buffer-full of junk instead.
Bugfix on 0.2.1.1-alpha; fixes bug 3106.
- 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:
- Remove 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.
- Add missing documentation for the authority-related torrc options
RephistTrackTime, BridgePassword, and V3AuthUseLegacyKey. Resolves
issue 2379.
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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment