1.2.7 (2012-08-15):
- Release the handful of SVN changes from the last couple years:
- Fixed Issue 17, where the "not authorized" message was displaying the
incorrect IP address.
- Permit (and ignore) additional fields in the YR/NS handlers. These might
be useful for future extensibility.
- Ignore the "when" timestamp in dconfig, because we never used it.
- Purdue-specific: Add FST to the Locations table.

1.2.6 (2010-01-22):
- After a broadcast message has been forwarded, its ghost sits around
in RAM for a while, so that duplicates can be ignored. I increased this
timeout from 1 minute to 3 minutes, which should eradicate the vast
majority of zombie "chat spoofing" packets that I've observed.
- Also did some cleanup/refactoring, so the message forwarding code is
simpler, and each individual message wastes less RAM.

1.2.5 (2010-01-17):
- Try to fix the "chat spoofing" problem by decreasing a packet's hop
count when it sits in the buffer for multiple seconds.
- Change the bot command echo response to "<*Dtella> You commanded: foo"
- Various cleanups in PingManager.
- Fix an inconsistency when the alternate UDP port fails to bind.
- Fix "'int' is not callable" bug in receivedPrivateMessageAck.
- Make !INVITE produce useful output even when the IP address is unknown.
- Add a note about TCP to the UDP port forward message.
- Include the IP address when showing a "not authorized" message.

1.2.4 (2009-02-14):
- Add support for the Strong/Apex secure connect extension. This fixes
the "Malformed Address" errors which end with an 'S'.
- Fixed a bug which causes background config updates to turn off if a node
connects twice in a 5-minute window.
- Ignore I/O errors when the output terminal goes away. This was affecting
some people on Linux.

1.2.3 (2008-12-02):
- Change the time base on Windows back to time.time(), because we seem to
have observed cases where time.clock() runs faster or slower than UTC.
- Add platform (/W /L /M etc.) to the "Something bad happened" output.
- Build version configuration is centralized into dtella_local.py, instead
of being scattered throughout the Windows/Mac build scripts.

1.2.2 (2008-11-02):
- Fix a nasty bug introduced in 1.2.1; I imported the twisted UDP module
before applying the time source patch, so different parts of Twisted were
using different time bases, resulting in errors that resembled the movie
"Groundhog Day."

1.2.0 (2008-08-05):
- Enabled the logging of messages and errors to a file.
- Added a --port command-line option for specifying a custom TCP port.
- Fixed a bug in the progress bar, where it was possible for the sync to complete before reaching 100%.
- Fixed a bug which could cause a node to request extra bridge blocks.
- Added an !invite command to show your current IP:Port (contributed by CXLS)
- Restructured the code to use packages, with one common executable for bridge and client functions.
- Should now be more robust against the UDP socket getting reset.
- Probably more I forgot to list.

1.0.4 (2007-03-08):
- Added the ability to whitelist an IP for running an offcampus bridge or
ch and file transfer requests are still filtered.)
- bugfix: 'No Online Nodes' case wasn't working right
- bugfix: Sometimes 'Sync Complete' would fire twice in a row.
- Made the state handling code more modular.

1.0.3 (2007-02-27):
- Made the topic formatting more URL-friendly. (i.e. no quotes)
- Added a workaround for the DNSQueryTimeoutError bug in Twisted.

1.0.0 (2007-02-16):
- New bitmap and icon for installer.
- Catch exceptions raised by setTcpNoDelay
- Fix support for some older clients (like StrongDC 1.0) that send $MyINFO
before $GetNickList.
- More agressive sending of NF (Node Failure) messages during the last hop to
a failed node. This should help somewhat to prevent random dropouts.

0.9.3 (2007-02-15):
- Added support for +m (moderated) mode
- Fixed typo which caused an error if !users run while offline.
- bugfix: a failed DNS reply was sometimes tagged as a success; this resulted
in all the bridge traffic becoming invisible
- In uninstaller, removal of dtella.state is now optional.
- "Kill Dtella" link has its own icon now.
- If a DNS query fails, it will now try again periodically while online.

0.9.2 (2007-02-13):
- bugfix: Wasn't trying to reconnect after a connection failure.
- bugfix: Connection didn't proceed in the event of a DNS failure.
- Will now try to impersonate a remote host in order to automatically cancel
an invalid file transfer request.
- Improvements to DNS query and version notification code.
- Simplified the ChatMessageSequencer code

0.9.1 (2007-02-09):
- added new commands: !terminate, !localsearch, !version
- fixed: persistent mode was skipping over the DNS query
- "!debug nbs" now includes average ping times
- fixed a crash in "!debug nodes" when not online
- add support for silent kicks
- fixed: typo in BridgeClient block handler was causing exceptions.
- parsing of version tags, and offline info
- various cleanups

0.9 (2007-02-07):
- First public beta release, with an actual version number
- (There had been a bunch of experimental builds over the last few months)