Non-bug fix changes from 0.96.6:
21 March 2010, Version 0.96.8 Released
Version 0.96.8 is a stable release, containing critical bug fixes for
the previous release 0.96.7
Under the Hood
* Fixed Makefile to ensure proper compilation under Gentoo's build scripts.
* Push-proxy client support now makes sure there is a space after a leading
GET or HEAD word in the HTTP request.
* The DIME parsing layer now given more information in case of an error.
* Let THEX downloads peruse any supplied Content-Length information from
the server (applicable only when the output is not chunked).
* The VMM layer is now smarter at identifying foreign pages when allocating
blocks larger than a single page.
* When sending BYE messages, do not shutdown the socket layer if using TLS.
* Compilation cleanup for SunOS, Sun Studio, and versions of GTK 2.5.0.
07 March 2010, Version 0.96.7 Released
Improvements
* Better resuming of downloads on session restarts.
* Increased success rate on downloads from firewalled hosts.
* Completed support for DHT publishing: DHT is now fully functional.
* DHT bandwidth usage is now disaplayed in the GUI.
* Added support for GGEP XQ (eXtended Query) as used by LimeWire for search
terms longer than about 30 characters.
* Try to decipher incorrectly encoded query flags from buggy Shareaza.
* Parse incorrectly formatted X-Alt header from buggy Shareaza.
* Implemented PFSP 1.0a: now emits and handles new X-Available header.
* Added some MIME types and file extension mappings.
* Added comand-line switch --compile-info to print some information that is
hardcoded at compile-time.
* Persist known TTH roots in magnets.
* Swapped leaf and ultrapeer slots for GGEP UP in compliance with LimeWire
which does not follow the published specification (so we don't either now but
we are compliant with the de-facto standard).
* Will now remove uncompressed ultra connections when full and getting a
new compressed one.
* Whitelist can now support TLS hosts and will refresh DNS mappings
regularily.
* Improved granularity of the background task used to scan the library in
order to prevent noticeable processing freezes as much as possible.
* Redesigned the output of the shell status command to show more
information and display status flags (shown as icons in the GUI).
* Added liberal parsing of urn:sha1: and urn:bitprint to cope with clueless
sites using hexadecimal instead of base32 to encode the hashes.
* Added -v option to the shell command props to also display values along.
* Added real shell-like string parsing, and fixed escaping to work
correctly.
* Added the ';' separator to be used to separate mutiple shell commands.
* Allow crashes and fast assertions soft failures to be timestamped.
* Don't answer to UDP pings from bad nodes, which include alien hosts.
* Loop through the TCP push-proxies more quickly until one can relay our
push.
* Passively revitalize PUSH routes and wakeup starving downloads.
* Attempt to collect push-proxies passively from relayed query hits.
* A completed file waiting for being moved accross filesystems will now be
flagged as such in the GUI Downloads pane.
* Detect and fix improper 503 HTTP status code replies when 416 was meant
(broken HTTP replies from Foxy, Shareaza, and maybe others).
Under the Hood
* DHT (Distributed Hash Table) is now enabled by default.
* Reduced blackout period between two DNS server name lookups to 30 minutes.
* Updated PFSP specifications (partial file sharing) to version 1.0a.
* More statistics.
* Always use exact time when logging, not the cached time.
* Align to LimeWire's settings for DHT expiration and republishing periods.
* Do not emit any PFSP header when seeding a finished file.
* Even if bandwidth is tight, force emission of the X-Hostname header under
certain circumstances because this information is precious.
* No longer constantly monitors for unsolicited UDP traffic, which will
save precious CPU cycles.
* Improved malloc tracking by reporting symbolic names in stack frames.
* Optimized ultrapeer TX compression settings to reduce memory
requirements, saving 288 KiB of RAM per Gnutella node connection (leaf or
ultra).
* Increased default amount of ultrapeer connections to 42.
* Optimized memory footprint of the simple hashtable and allow it to be
downsized as well.
* Consider a HEAD Ping message to be unsolicited UDP traffic.
* New shell command memory dump available when malloc stats compiled in.
* Some documentation held in SVN cannot be packaged on Debian, so it was
moved to a separate directory that is left out from the packaging manifest.
* SDBM improvements for greater runtime performance and data consistency.
* Added DHT root node caching (k-closest nodes of a target KUID).
* Tuned DHT node lookups for more