Release Notes: This release fixed a rather embarrassing bug that would prevent the PR_COMMAND_REMOVEPARAMETERS command handler from removing subscriptions that had wildcards in their subscription-path string. This could cause old subscriptions to build up over time, eventually leading to high memory usage and/or poor performance.
Release Notes: This release improves the optional C++11 support (by adding move-constructors to the Ref and ConstRef classes), improves the handling of socket inheritance under Windows, fixes bugs in the Queue and DetectNetworkConfigChangesSession classes, and adds an optional current-directory-path argument to the sub-process launch commands of the ChildProcessDataIO class. It also adds a number of convenience methods in various places.
Release Notes: This minor releases fixes bugs in the MemMem() function and the DataNode recycling mechanism, adds various convenience methods, and refines the detection of wildcard strings to be less conservative.
Release Notes: This release is a very minor update. It adds a few convenience methods to the String class, and adds some minor new functionality to the DetectNetworkConfigChangesSession class. It also adds copper-detection support to the NetworkInterfaceInfo class.
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.