Release Notes: This versions adds proper OpenSSL support for authenticated/encrypted client-server TCP connections. OpenSSL support can be enabled by compiling with -DMUSCLE_ENABLE_SSL and then providing a public key for the clients and a private key for the server.
Release Notes: This version improves C++11 move-constructor optimization support in the Queue and Hashtable classes (available when compiling with -DMUSCLE_USE_CPLUSPLUS) and fixes a number of potential bugs that were reported when compiling the code with clang++'s scan-build static analyzer tool. It also adds some SFINAE logic to make muscleSwap() more efficient for types that implement a SwapContents() method, and includes some fixes for compilation under Android.
Release Notes: This minor release fixed a bug in the -DMUSCLE_USE_MUTEXES_FOR_ATOMIC_OPERATIONS implementation, and improved Android and Qt compatibility.
Release Notes: This release adds a number of enhancements, including thread-safe-by-default HashtableIterators and MessageFieldNameIterators, improved AtomicCounter functionality, better UDP support in the MessageIOGateway classes, an optional LRU cache for GetHostByName() results, better pthreads-compatibility for thread IDs, and a number of bugfixes and efficiency improvements.
Release Notes: This release adds better logging of Message parsing errors, fixes the WSAPoll() implementation of SocketMultiplexer, and fixes a bug in ZLibCodec::Deflate() which could cause very large (e.g., 40+MB) buffers to be compressed incorrectly.
Release Notes: This release adds spaces around macro names so that the code will compile under C++11. It adds some initial C++11 support (active only if -DMUSCLE_USE_CPLUSPLUS11 is specified). StringMatcher's numeric-range feature can now handle multiple numeric ranges in a string (e.g. "<1-5,20,30-32>"). Functions have been added to convert GetRunTime64()-style timestamp values to GetCurrentTime64()-style and vice-versa. This release fixes some deprecation warnings under OS X 10.8.x. It fixes a syntax issue that would prevent ByteBuffer.cpp from compiling on a big-endian host. There are other minor tweaks and bugfixes.
Release Notes: This is a very minor release. It just fixes one bug related to IP address string formatting, adds a couple of convenience functions, and includes some code cleanup.
Release Notes: This version updates the Hashtable class to use less memory when the hash table's array size is less than 65,535 entries.
Release Notes: This is a minor release. The main change is that the ZlibUtilityFunctions implementation now uses ThreadLocalStorage to store its internal state, rather than sharing ZLibCodec objects across threads. This has the advantages of allowing greater parallelism and avoiding any chance of deadlocks.
Release Notes: The main change in this release is the addition of the MicroMessage API, a super-lightweight set of C function calls to support the sending and receiving of Message objects in very constrained environments. In particular, this API does absolutely no dynamic memory allocations, and almost no data copying -- instead, the flattened-data representation is read from or written to directly on demand. This release also adds some additional methods to the C++ Message class, inlines some methods in the String class, and fixes a few minor bugs.