Download tomp2p-all-5.0-Beta8-dist.zip from the Maven repository.

Release notes for TomP2P 5.0-Beta8


Changes
=======

* P2P Challenge Task 2015 release

Remarks
=======

* Hole punching is currently being merged, its not working at the moment

Future Plans
============

* Stabilizing code and documentation on the website

Download tomp2p-all-5.0-Beta7-dist.zip from the Maven repository.

Release notes for TomP2P 5.0-Beta7


Changes
=======

* Implemented efficient broadcast, replacing random walk with structured walk (http://www.hiradastechnika.hu/data/upload/file/2009/2009%20I/Pages_from_HT0901a_2.pdf)
* Added skeleton for tomp2p-social
* Fix buffer leak when using RSync
* Added flag to indicate manual port forwarding (e.g. when using PlanetLab/EmanicsLab)


Remarks
=======

* Hole punching is currently being merged, its not working at the moment

Future Plans
============

* Stabilizing code and documentation on the website

Download tomp2p-all-5.0-Beta6-dist.zip from the Maven repository.

Release notes for TomP2P 5.0-Beta6


Minor changes
=============

* Fixed NAT issues
* Improved memory handling

Remarks
=======

* Testing may not succeed all the time due to timing issues. This will be resolved.

Future Plans
============

* Stabilizing code and documentation on the website
* Hole punching (prototype is working, integration started)
* Android support and push notifications

Download tomp2p-all-5.0-Beta5-dist.zip from the Maven repository.

Release notes for TomP2P 5.0-Beta5


Minor changes
=============

* Fixed filtering of peers
* Fixed bug in replication
* Reverse connection resulted in a failed future - fixed
* Potential memory leak fixes

Remarks
=======

* Testing may not succeed all the time due to timing issues. This will be resolved.

Future Plans
============

* Stabilizing code and documentation on the website
* Hole punching (prototype is working, integration started)
* Android support and push notifications

Download tomp2p-all-5.0-Beta4-dist.zip from the Maven repository.

Release notes for TomP2P 5.0-Beta4


Major changes
=============

* Bug fixes in vDHT

Remarks
=======

* Although all testcases are green, there are still some issues to be resolved (https://github.com/tomp2p/TomP2P/issues)
* This TomP2P release (bug fixes) was requested from the H2H guys (https://github.com/Hive2Hive)

Future Plans
============

* Stabilizing code and documentation on the website
* Hole punching (prototype is working, integration started)
* Android support and push notifications

Download tomp2p-all-5.0-Beta3-dist.zip from the Maven repository.

Release notes for TomP2P 5.0-Beta3


Major changes
=============

* Bug fixes and stabilizing
* All testcases passed (https://travis-ci.org/tomp2p/TomP2P/)

Remarks
=======

* Although all testcases are green, there are still some issues to be resolved (https://github.com/tomp2p/TomP2P/issues)

Future Plans
============

* Stabilizing code and documentation on the website
* Hole punching (prototype is working, integration started)
* Android support and push notifications

Download tomp2p-all-5.0-Beta2-dist.zip from the Maven repository.

Release notes for TomP2P 5.0-Beta2


Major changes
=============

* Bug fixes and stabilizing
* Initial support for hole punching
* Initial support for push notifications on Android
* Routing improvements through RTT measurements

Remarks
=======

-

Future Plans
============

* Stabilizing
* Adapt documentation on the website
* Hole punching (prototype is working, integration started)
* Android support and push notifications

Download tomp2p-all-5.0-Beta1-dist.zip from the Maven repository.

Release notes for TomP2P 5.0-Beta1


Major changes
=============

* Improved API -> method names changed from get*() to *() -> e.g. getPeerMap() to peerMap()
* Implemented relaying and reverse connection setup
* vDHT - added versions to key value pairs for better consistency semantics (http://www.csg.uzh.ch/publications/details.php?id=739)
* Modularization. TomP2P is now split into 6 packages: core, dht, nat, replication, storage, and tracker. Additionally there is an "example" package and package "all", which references all the packages
* Added NAT reflection, and local message delivery

Remarks
=======

Some methods changed from get*() to *() -> getPeerMap() to peerMap(). The API is considered stable, but small changes may happen.

Future Plans
============

* Stabilizing
* Adapt documentation on the website
* Hole punching (prototype is working, integration started)
* Android support and push notifications

Download TomP2P-4.4-dist.zip from the Maven repository.

Release notes for TomP2P 4.4


Major changes
=============

* NAT-PMP timeout fixes
* enhanced default broadcast handler
* fixes in discover()

Remarks
=======

-

Next things to do
=================

* refinement of the API
* application level broadcast
* support ICE/TURN
* support uTP
* automatic network / DHT parameter configuration
* connection aggregation
* upgrade to latest libraries (Netty, JDBM)
* push TomP2P to the official maven repositories

Download TomP2P-4.3-dist.zip from the Maven repository.

Release notes for TomP2P 4.3


Major changes
=============

* indirect replication fixes
* UPnP timing updates
* peermap concurrency fixes
* added bloom filter examples
* many smaller fixes/improvements

Remarks
=======

-

Next things to do
=================

* refinement of the API
* application level broadcast
* support ICE/TURN
* support uTP
* automatic network / DHT parameter configuration
* connection aggregation
* upgrade to latest libraries (Netty, JDBM)
* push TomP2P to the official maven repositories

Download TomP2P-4.2-dist.zip from the Maven repository.

Release notes for TomP2P 4.2


Major changes
=============

* better MapReduce support
* new API for put/get/add
* JDBM 8MB fix
* tons of fixes/improvements
* update to Netty 3.5.2 and latest JDBM

Remarks
=======

Although JDBM runs fine with TomP2P and all the testcases pass, the author of JDBM states that its slow on mulit-core machines. Rather than fixing JDBM 3, which is still considered to be alpha, he started to work on JDBM 4.
Only fixes will be applied to JDBM 3. This means as soon as JDBM 4 is available, I'm going to switch to that version. This may break the file format when upgrading from JDBM 3 to JDBM 4.
One possible scenario in TomP2P is to ship both libraries and convert JDBM 3 to JDBM 4 if necessary on the fly.  

Due to an update in the connection reservation, TomP2P runs with the official Netty and does not require a patched version.
I also started to integrate Netty more deeply into TomP2P, for example Data, or PeerAddress now accepts ChannelBuffer as an argument.

I'm also staring to change the naming scheme from [x].[y].[z] to [x].[y]. In the past, [y] meant that the API may change, while [z] were fixes, and [x] were ground breaking changes.
From the next release, [x] means that API may change and [y] are fixes. The current release 4.2 is a mix of both and the 4.2 release changes API.
The next version where API is changed will be 5.0 and bugfixes for the current version will go into 4.3.

Next things to do
=================

* refinement of the API
* application level broadcast
* performance improvements
* make proper formatting (change to the sun standard)
* enable checkstyle
* push this library to the official maven repositories
* documentation

Download TomP2P-4.1.2-preview-dist.zip from the Maven repository.

Changelog for TomP2P 4.1.2-preview

* upgrade to latest JDBM
* switched to logback for logging
* added support for Bloom filters in get() and digetst()
* better handling of "connection reset by peer"
* fixed PeerConnection
* improved success evaluation for futures
* added examples for similarity search, distributed segment trees, and Bloom filters

Please note that there are still open issues with storing more than 8MB on disk. There is an other issue with too many open files in system which is under investigation.

Download TomP2P-4.1.1-preview-dist.zip from the Maven repository.

Changelog for TomP2P 4.1.1-preview

* TCP options set in try-catch to suppress warning if an option could not be set
* suppress "connection reset by peer" in Windows
* expose storage.map() to user
* fixed CacheMap and ConcurrentCacheMap
* improved bootstrapping, which includes connecting to random peers
* fixed tracker replication
* added more examples

Please note that there are still open issues with storing more than 8MB on disk. There is an other issue with too many open files in system which is under investigation.

Download TomP2P-4.1.0-preview-dist.zip from the Maven repository.

Changelog for TomP2P 4.1.0-preview

* Removed Guava, switched back to Java collections
* Removed BerkeleyDB, switched to JDBM, rewrote storage
* Added build-pattern to create peers
* Switched from Java5 to Java6
* Many, many bugs fixed
* Added new examples
* Further preparation for MapReduce

Please note that there are still open issues with storing more than 8MB on disk and two failed replication testcases. The reason for this release is that I need this version for the P2P lecture I'm giving at UZH.

Download from TomP2P-4.0.7-dist.zip from the Maven repository.

Changelog for TomP2P 4.0.7

* Preparation for MapReduce
* Changes for SimGrid integration
* Potential peer discovery fix for multiple interfaces
* TomP2P-4.0.7-dist.zip now contains all the required dependencies

Download from TomP2P-4.0.6-dist.zip and TomP2P-4.0.6-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 4.0.6

* Timeouts for DHT operations, use Peer.setFutureTimeout() to set a timeout for any future object.
* Fixes in tracker code and peer exchange
* Exposed DistributedHashHashMap.parallelRequests() (was DistributedHashHashMap.loop()). There is an example in TestDHT.testCompareAndPut() how to use it.
* Added flag to enforce UDP or TCP for RPC calls.
* Updated to latest Netty to fix issue with Android.

Download from TomP2P-4.0.5-dist.zip and TomP2P-4.0.5-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 4.0.5

* Initial support for SimGrid (not quite ready yet)
* Fixed maintenance thread issues
* Fixed binding bug and added testcase (connection refused)

Download from TomP2P-4.0.4-dist.zip and TomP2P-4.0.4-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 4.0.4

* An RPC for compareAndPut. For more information, see http://lists.tomp2p.net/pipermail/users/2012-January/000088.html
* Moved from SVN to Git. Migration complete.
* Bugfix: Add empty constructor for FutureTracker.
* Upgraded Netty to 3.3.0 with patches.
* Refined connection reservation. The user does not need to reserve connection in advance. In situations where deadlocks can occur, an new thread is started. If too many threads are started, the user is warned.

Download from TomP2P-4.0.3-dist.zip and TomP2P-4.0.3-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 4.0.3

* Cleanup and documentation of package net.tomp2p.connection.
* Fixed bug in add() that behaved as putIfAbsent
* Classcast exception fix for Android
* Fixed bug in handling XMLUtils, which requires to be called synchronized
* Upgraded Netty to 3.2.7
* Added support for digest() and digestAll()

Download from TomP2P-4.0.2-dist.zip and TomP2P-4.0.2-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 4.0.2

* Fixes for Java5 (Android) compatibility

Download from TomP2P-4.0.1-dist.zip and TomP2P-4.0.1-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 4.0.1

* Distinguish in routing between DHT and bootstrap operation to set success or failure correctly
* New facades (PeerAddress and Peer.remove)
* Added evaluation of digest information from the routing process to make get() more efficient
* Smaller fixes and cleanups

Download from TomP2P-4.0.0-dist.zip and TomP2P-4.0.0-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 4.0.0

* Better UPNP support and new NAT-PMP (jNAT-PMPlib) support.
* New persistant connections, because the user knows best when a connection should stay open.
* New connection handling and connection reservation.
* Upgraded libraries (Netty, Guava, BerkleyDB).
* Lots of fixes.

Download from TomP2P-3.2.11-dist.zip and TomP2P-3.2.11-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 3.2.11

* Bugfix: endless loop in Peer.java

Download from TomP2P-3.2.10-dist.zip and TomP2P-3.2.10-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 3.2.10

* Set default to not firewalled (no NAT testing), can be enabled with P2PConfiguration.setBehindFirewall().
* putIfAbsent() fixes. No denied message is sent back.
* PeerAddress serialization improvements, removed duplicate code from PeerAddress and MessageCodec.
* Close storage on shutdown, which caused an exception if writing still in progress.
* PeerMap can ignore firewalled peers.
* Configuration cleanup: P2PConfiguration and ConnectionConfiguration.
* Enabling more testcases (needs now -Xmx1024M).

Download from TomP2P-3.2.9-dist.zip and TomP2P-3.2.9-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 3.2.9

* Works again with Android, but be aware that NIO is broken in Harmony. Please use Gingerbread (2.3), which contains important fixes (http://www.jboss.org/netty/community.html#nabble-td6033498).
* Mesh-based distributed tracker improvement. Bloomfilters are used to avoid sending duplicate peers.
* Removed IP information from the packet header.
* IPv6 fixes and tested with Linux
* Removed dead and unused code

Download from TomP2P-3.2.8-dist.zip and TomP2P-3.2.8-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 3.2.8

* Distinguished tracker add/get, which adds itself to close trackers to place itself always on the same peers, and get() tracker, which searches for trackers close to a random id.
* Fixed signature check for entry and domain protection.
* Disabled UPNP behavior that assumes a peer is always behind a NAT. To enable it, use Bindings.setBehindFirewall(true).

Download from TomP2P-3.2.7-dist.zip and TomP2P-3.2.7-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 3.2.7

* Small UPNP fixes and example fixes, which were introduced in TomP2P 3.2.6

Download from TomP2P-3.2.6-dist.zip and TomP2P-3.2.6-dist.tar.bz2 from the Maven repository.

Changelog for TomP2P 3.2.6

* Fixed UPNP and port forwarding detection, which makes TomP2P more NAT friendly. The UPNP library sbbi.net was removed because the project seems to be dead. Since the code is Apache licensed,
I reduced the code to the minimum for UPNP NAT traversal based on "rugl":http://code.google.com/p/rugl/.
* Updated Netty to 3.2.4 and Berkeley DB 4.1.7

Download from TomP2P-3.2.5-dist.zip and TomP2P-3.2.5-dist.tar.bz2 the Maven repository.

Changelog for TomP2P 3.2.5

* Added support for broadcasting on layer 2. The disadvantage is that it breaks Java5 compatibility.
* pingBroadcast works with any ports (not only default ports
* Added another example how to use TomP2P.

Download from TomP2P-3.2.4-dist.zip and TomP2P-3.2.4-dist.tar.bz2 the Maven repository.

Changelog for TomP2P 3.2.4

* Removed the beta label
* Fixes in the neighbor list
* Release management uses Maven
* Added support for OSGi