Freenet 0.7.5
Freenet 0.7.5 was released on 20090612. Features (relative to 0.7):
- The db4o rewrite, which makes Freenet able to have an almost unlimited number of files on the download and upload queues, it starts up quickly, it uses much less memory for large queues, it can insert 4GB files on nodes with low memory, it doesn't crash due to out of memory, and so on.
- Lots of work on usability, for example we now have sub-menus, so we can hide stuff that a user isn't interested in, simple versus advanced mode on most web interface pages, improvements to text, built-in search box using XMLLibrarian on the browse page, etc.
- Get rid of the firefox profile (it was causing severe problems for some users). Warn the user about the need to use a separate browser for Freenet. Show a progress page when loading a page or file in fproxy.
- Security levels: 3 configurable aspects of security: network, friends and physical, asked in the first-time wizard. These determine various options. In particular, HIGH or MAXIMUM network security level requires pure darknet.
- Improvements at the network level: Friend-of-a-Friend routing (faster to find data), make opennet nodes not swap locations (better data persistence), turtling of slow downloads (better bandwidth usage and lower latency), bug fixes to requests etc.
- Opennet improvements: Make bootstrapping work with smaller packets (important for some connections with bad routers etc), announce more quickly, accept our IP address from enough seednodes, important bugfixes, try to reconnect to old opennet peers.
- Lots of low-level optimisations for memory usage, CPU usage and locking problems (e.g. store temporary data in memory rather than in encrypted temp files if possible up to a limit), fix leaks of disk space and memory.
- Transport level changes: more accurate bandwidth limiting, sharing of bandwidth between peers, improvements and bugfixes to connection setup, various changes to avoid losing packets on rekeying, be more robust generally.
- Better compression of files and freesites, using tar for freesites and gzip, bz2 or lzma whichever is smallest for both files and freesites (big improvement on zip and gzip).
- A new datastore implementation which is faster, more robust and lower overhead.
- A new installer for Windows, compatible with Vista.
- All installers now include all required files, so user waits a bit longer to download the installer, but the installer itself completes quickly and works even if there is no HTTP access to freenetproject.org.
- Lots of work on XMLSpider, it persists its progress with a database, has a proper user interface, is faster, etc.
- Lots of work on XMLLibrarian, show progress as the index is downloaded so it doesn't go off into limbo.
- Minor improvements to the content filters.
- Minor FCP changes.
- Improvements to plugins and plugin infrastructure. Require specific versions of plugins in a build, so that they don't get broken, offer to upgrade them over HTTP. (In future this will happen automatically over Freenet except for critical plugins).
- Auto-update freenet-ext.jar, publish the dependancies in both directions and avoid breaking the node by updating one without the other.
- More auto-updating improvements, bugfixes and attack prevention.
- Some minor security improvements: mitigation for FOAF routing (reject if too many peers, don't route more than 30% of requests to one peer), fix predictable CHK padding, minor transport layer fixes.
- Lots of bug fixes! Some of these are fairly substantial such as nasty bugs in the message handling code.
- Internal code cleanups and improvements to unit tests and automated network testing, including a long-term push/pull test to see what data retrievability is over the long term.
- Offer to open Thaw indexes in ThawIndexBrowser in fproxy.
- Minor changes to random number generation, all either add more stuff (entropy), or help with startup, or optimisations.
- Less disruptive USK polling, various improvements to USK code.
- ...
0.7.5 now requires java 1.5.
We now have utilities to use both mercurial and git over Freenet, both of which are being actively used.