GNUnet 0.7.2 released

GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. A first service implemented on top of the networking layer allows anonymous censorship-resistant file-sharing. GNUnet uses a simple, excess-based economic model to allocate resources. Peers in GNUnet monitor each others behavior with respect to resource usage; peers that contribute to the network are rewarded with better service.

Download GNUnet 0.7.2 here. gnunet-gtk is a separate download and can be found here.

GNUnet 0.7.2 is largely compatible with GNUnet 0.7.1. Updating should be unproblematic, requireing only minor changes to the configuration file. Read the UPDATING file for details. GNUnet 0.7.2 peers should be able to communicate with 0.7.1-peers (but not with 0.7.0 peers). The compatibility transport, tcp_old, is no longer supported (you must update your configuration file to remove it). Please note that this is still a beta release; the first actually stable version will be called 1.0.0 and is likely to still be at least a year away.
The main change for 0.7.2 is the addition of support for non-anonymous downloads using direct connections and a distributed hash table (DHT). When you upload a file with anonymity-level zero this new method will be used if the user on the other side also specifies anonymity-level zero for search and download. Non-anonymous operations are also always used concurrently; shaing a file with anonymity-level zero will also make it available for anonymous download. Similarly, a file shared with non-zero anonymity-level will be found during a search with anonymity-level zero. In general, for any file the largest anonymity-level specified by both sender and receiver will be used for the transfer.
Most of the smaller changes made for 0.7.2 have focused on adding automatic testcases and improving stability and correctness. Furthermore, all features that were removed from gnunet-gtk as part of the major changes for the 0.7.0 release have been added back. Developers should note that there were some minor API changes and extensions (for example, to support gnunet-fuse).
Noteworthy improvements since GNUnet 0.7.1:
  • Implemented non-anonymous file-sharing (anonymity-level zero) using DHT
  • Implemented tracking of history of our interaction with a particular URI (this is used to highlight which files have been successfully downloaded in the past, or which downloads were aborted previously)
  • Implemented heuristic for better packing of gnunet-directories
  • Added new API to make it easier to start a dozen gnunetd processes when writing testcases
  • Added support for namespaces to gnunet-gtk
  • Added peer tab showing gnunet-peer-info-like information in gnunet-gtk
  • Fixed many bugs in testcases
  • Fixed issues with the handling of certain command-line options (-L, -H)
  • Fixed various bugs causing problems with peers not connecting properly
  • Fixed bug in routing algorithm that reduced its effectiveness
  • Fixed (rare) deadlock in gnunet-gtk
GNUnet 0.7.3 is supposed to be released in August, and hopefully will have the chat support basics. Check the extensive roadmap here.