diff --git a/NEWS b/NEWS index f3a68268..5e7f2961 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,31 @@ +0MQ version 4.0.3 stable, released on 2013/11/24 +================================================ + +Bug Fixes +--------- + +* Fixed test_many_sockets case, which failed when process socket limit + was 1024. + + +0MQ version 4.0.2 stable, released on 2013/11/24 +================================================ + +Bug Fixes +--------- + +* Fixed LIBZMQ-583 - improved low-res timer for Windows +* Fixed LIBZMQ-578 - z85_decode was extremely slow +* Fixed LIBZMQ-577 - fault in man pages. +* Fixed LIBZMQ-574 - assertion failure when ran out of system file handles +* Fixed LIBZMQ-571 - test_stream failing in some cases +* Fixed LIBZMQ-569 - Socket server crashes with random client data and when + talking to 2.2 versions +* Fixed LIBZMQ-39 - Bad file descriptor during shutdown +* Pulled expected failing test_linger.cpp from release +* Reduced pause time in tests to allow "make check" to run faster + + 0MQ version 4.0.1 stable, released on 2013/10/08 ================================================ @@ -493,7 +521,403 @@ Distribution or via apt-get. -Older versions -============== +0MQ version 2.2.0 (Stable), released on 2012/04/04 +================================================== -* See NEWS in ZeroMQ 2.1.x repository at http://github.com/zeromq/zeromq2-1. +Changes +------- + +* Fixed issue 349, add send/recv timeout socket options. + +Bug fixes +--------- + +* Fixed issue 301, fix builds on HP-UX 11iv3 when using either gcc or aCC. + +* Fixed issue 305, memory leakage when using dynamic subscriptions. + +* Fixed issue 332, libzmq doesn't compile on Android NDK. + +* Fixed issue 293, libzmq doesn't follow ZMTP/1.0 spec. + +* Fixed issue 342, cannot build against zmq.hpp under C++11. + + +0MQ version 2.1.11 (Stable), released on 2011/12/18 +=================================================== + +Bug fixes +--------- + +* Fixed issue 290, zmq_poll was using system time instead of monotonic + clock (Mika Fischer). + +* Fixed issue 281, crash on heavy socket creation - assertion failure in + mutex.hpp:91. (Mika Fischer). + +* Fixed issue 273, O_CLOEXEC flag used in ip.cpp:192 is supported only + on Linux kernels 2.6.27+ + +* Fixed issue 261, assertion failure in kqueue.cpp:76. + +* Fixed issue 269, faulty diagnostic code in 2.1.10. + +* Fixed issue 254, assertion failure at tcp_socket.cpp:229 on ENOTCONN. + +Changes +------- + +* Now builds properly on AIX 6.1 (AJ Lewis). + +* Builds using libdcekt on HP-UX (AJ Lewis). + +* New upstream OpenPGM maintenance release 5.1.118. + +* Enabled debugging on assertion failure on Windows (Paul Betts). + + +0MQ version 2.1.10 (Stable), released on 2011/10/03 +=================================================== + +Bug fixes +--------- + +* Fixed issue 140, SWAP failed with assertion failure in pipe.cpp:187 + if the current directory was not writeable. Behavior now is to return + -1 at zmq_setsockopt in this situation. + +* Fixed issue 207, assertion failure in zmq_connecter.cpp:48, when an + invalid zmq_connect() string was used, or the hostname could not be + resolved. The zmq_connect() call now returns -1 in both those cases. + +* Fixed issue 218, sockets not opened with SOCK_CLOEXEC, causing fork/exec + to sit on sockets unnecessarily. + +* Fixed issue 250, build errors on Windows (Mikko Koppanen). + +* Fixed issue 252, assertion failure in req.cpp:87 and req.cpp:88 (Mikko + Koppanen). + + +0MQ version 2.1.9 (Stable), released on 2011/08/29 +================================================== + +Bug fixes +--------- + +* Fixed issue 240, assertion failure in pgm_socket.cpp:437. + +* Fixed issue 238, assertion failure in zmq.cpp:655, when zmq_poll is + used on an empty set, on Windows. + +* Fixed issue 239, assertion failure in zmq.cpp:223, when ZMQ_SWAP was + used with explicit identities and multiple SUB sockets. + +* Fixed issue 236, zmq_send() and zmq_recv() did not always return + error conditions such as EFSM properly. This bug was introduced in + version 2.1.8 by the backport of changes for issue 231. + +Building +-------- + +* 0MQ support for Android added (Bill Roberts, Mikko Koppanen). + + +0MQ version 2.1.8 (RC), released on 2011/07/28 +============================================== + +Bug fixes +--------- + +* Fixed issue 223, assertion failure in tcp_connecter.cpp:300 when + connecting to a server that is on an unreachable network (errno is + equal to ENETUNREACH). + +* Fixed issue 228, assertion failure at rep.cpp:88 when HWM was reached. + +* Fixed issue 231, assertion failure at mailbox.cpp:183 when too many + pending socketpair operations were queued (major backport from 3.0). + +* Fixed issue 234, assertion failure at mailbox.cpp:77 when Ctrl-C was + used (only affected git master following backport for 231). + +* Fixed issue 230, SIGPIPE killing servers when client disconnected, hit + OS/X only. + +Note: this release was renamed "release candidate" due to issue 236, +fixed in 2.1.9. + + +0MQ version 2.1.7 (Stable), released on 2011/05/12 +================================================== + +Bug fixes +--------- + +* Fixed issue 188, assert when closing socket that had unread multipart + data still on it (affected PULL, SUB, ROUTER, and DEALER sockets). + +* Fixed issue 191, message atomicity issue with PUB sockets (an old issue). + +* Fixed issue 199 (affected ROUTER/XREP sockets, an old issue). + +* Fixed issue 206, assertion failure in zmq.cpp:223, affected all sockets + (bug was introduced in 2.1.6 as part of message validity checking). + +* Fixed issue 211, REP socket asserted if sent malformed envelope (old issue + due to abuse of assertions for error checking). + +* Fixed issue 212, reconnect failing after resume from sleep on Windows + (due to not handling WSAENETDOWN). + +* Properly handle WSAENETUNREACH on Windows (e.g. if client connects + before server binds). + +* Fixed memory leak with threads on Windows. + +Changes +------- + +* Checks zmq_msg_t validity at each operation. + +* Inproc performance tests now work on Windows. + +* PGM wire format specification improved in zmq_pgm(7) + +* Added thread latency/throughput performance examples. + +* Added "--with-system-pgm" configure option to use already installed + OpenPGM. + +* Runtime checking of socket and context validity, to catch e.g. using a + socket after closing it, or passing an invalid pointer to context/socket + methods. + +* Test cases moved off port 5555, which conflicts with other services. + +* Clarified zmq_poll man page that the resolution of the timeout is 1msec. + + +0MQ version 2.1.6 (Broken), released on 2011/04/26 +================================================== + +Note that this version contained a malformed patch and is not usable. +It is not available for download, but is available in the git via the +2.1.6 tag. + +0MQ version 2.1.5 (Broken), released on 2011/04/20 +================================================== + +Note that this version contained a malformed patch and is not usable. +It is not available for download, but is available in the git via the +2.1.5 tag. + + +0MQ version 2.1.4 (Stable), released on 2011/03/30 +================================================== + +Bug fixes +--------- + +* Fix to OpenPGM which was asserting on small messages (Steven McCoy). + +Changes +------- + +* Upgraded OpenPGM to version 5.1.115 (Pieter Hintjens). + +* OpenPGM build changed to not install OpenPGM artifacts. + + +0MQ version 2.1.3 (Stable), released on 2011/03/21 +================================================== + +Bug fixes +--------- + +* Fix to PUSH sockets, which would sometimes deliver tail frames of a + multipart message to new subscribers (Martin Sustrik). + +* Fix to PUB sockets, which would sometimes deliver tail frames of a + multipart message to new subscribers (Martin Sustrik). + +* Windows build was broken due to EPROTONOSUPPORT not being defined. This + has now been fixed (Martin Sustrik). + +* Various fixes to make OpenVMS port work (Brett Cameron). + +* Corrected Reference Manual to note that ZMQ_LINGER socket option may be + set at any time, not just before connecting/binding (Pieter Hintjens). + +* Fix to C++ binding to properly close sockets (Guido Goldstein). + +* Removed obsolete assert from pgm_socket.cpp (Martin Sustrik). + +Changes +------- + +* Removed stand-alone devices (/devices subdirectory) from distribution. + These undocumented programs remain available in older packages (Pieter + Hintjens). + +* OpenPGM default rate raised to 40mbps by default (Steven McCoy). + +* ZMQ_DEALER and ZMQ_ROUTER macros provided to ease upgrade to 0MQ/3.0. + These are scheduled to replace ZMQ_XREQ and ZMQ_XREP (Pieter Hintjens). + +* Added man page for zmq_device(3) which was hereto undocumented (Pieter + Hintjens). + +* Removed zmq_queue(3), zmq_forwarder(3), zmq_streamer(3) man pages + (Pieter Hintjens). + +OpenPGM Integration +------------------- + +* Upgraded OpenPGM to version 5.1.114 (Steven McCoy, Mikko Koppanen). + +* Build system now calls OpenPGM build process directly, allowing easier + future upgrades of OpenPGM (Mikko Koppanen). + +* Build system allows configuration with arbitrary versions of OpenPGM + (./configure --with-pgm=libpgm-x.y.z) (Mikko Koppanen). + +* OpenPGM uses new PGM_ODATA_MAX_RTE controlling original data instead of + PGM_TXW_MAX_RTE covering entire channel (Steven McCoy). + +Building +-------- + +* 0MQ builds properly on FreeBSD (Mikko Koppanen). + + +0MQ version 2.1.2 (rc2), released on 2011/03/06 +=============================================== + +Bug fixes +--------- + +* 0MQ now correctly handles durable inproc sockets; previously it ignored + explicit identities on inproc sockets. + +* Various memory leaks were fixed. + +* OpenPGM sender/receiver creation fixed. + + +0MQ version 2.1.1 (rc1), released on 2011/02/23 +=============================================== + +New functionality +----------------- + +* New socket option ZMQ_RECONNECT_IVL_MAX added, allows for exponential + back-off strategy when reconnecting. + +* New socket option ZMQ_RECOVERY_IVL_MSEC added, as a fine-grained + counterpart to ZMQ_RECOVERY_IVL (for multicast transports). + +* If memory is exhausted, 0MQ warns with an explicit message before + aborting the process. + +* Size of inproc HWM and SWAP is sum of peers' HWMs and SWAPs (Douglas + Greager, Martin Sustrik). + +Bug fixes +--------- + +* 0MQ no longer asserts in mailbox.cpp when multiple peers connect with + the same identity. + +* 0MQ no longer asserts when rejecting an oversized message. + +* 0MQ no longer asserts in pipe.cpp when the swap fills up. + +* zmq_poll now works correctly with an empty poll set. + +* Many more. + +Building +-------- + +* 0MQ now builds correctly on CentOS, Debian 6, and SunOS/gcc3. + +* Added WithOpenPGM configuration into MSVC builds. + +Known issues +------------ + +* OpenPGM integration is still not fully stable. + + +0MQ version 2.1.0 (Beta), released on 2010/12/01 +================================================ + +New functionality +----------------- + +* New semantics for zmq_close () and zmq_term () ensure that all messages + are sent before the application terminates. This behaviour may be + modified using the new ZMQ_LINGER socket option; for further details + refer to the reference manual. + +* The new socket options ZMQ_FD and ZMQ_EVENTS provide a way to integrate + 0MQ sockets into existing poll/event loops. + +* Sockets may now be migrated between OS threads, as long as the + application ensures that a full memory barrier is issued. + +* The 0MQ ABI exported by libzmq.so has been formalised; DSO symbol + visibility is used on supported platforms to ensure that only public ABI + symbols are exported. The library ABI version has been set to 1.0.0 for + this release. + +* OpenPGM has been updated to version 5.0.92. This version no longer + depends on GLIB, and integration with 0MQ should be much improved. + +* zmq_poll() now honors timeouts precisely, and no longer returns if no + events are signaled. + +* Blocking calls now return EINTR if interrupted by the delivery of a + signal; this also means that language bindings which previously had + problems with handling SIGINT/^C should now work correctly. + +* The ZMQ_TYPE socket option was added; this allows retrieval of the socket + type after creation. + +* Added a ZMQ_VERSION macro to zmq.h for compile-time API version + detection. + +* The ZMQ_RECONNECT_IVL and ZMQ_BACKLOG socket options have been added. + +Bug fixes +--------- + +* Forwarder and streamer devices now handle multi-part messages correctly. + +* 0MQ no longer asserts when malformed data is received on the wire. + +* 0MQ internal timers now work correctly if the TSC jumps backwards. + +* The internal signalling functionality (mailbox) has been improved + to automatically resize socket buffers on POSIX systems. + +* Many more. + +Building +-------- + +* 0MQ now builds correctly with many more non-GCC compilers (Sun Studio, + Intel ICC, CLang). + +* AIX and HP-UX builds should work now. + +* FD_SETSIZE has been set to 1024 by default for MSVC builds. + +* Windows builds using GCC (MinGW) now work out of the box. + +Distribution +------------ + +* A simple framework for regression tests has been added, along with a few + basic self-tests. The tests can be run using "make check".