summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorMartin Lucina <martin@lucina.net>2012-01-23 08:53:35 +0100
committerMartin Lucina <martin@lucina.net>2012-01-23 08:53:35 +0100
commite645fc2693acc796304498909786b7b47005b429 (patch)
tree4118cd4c7b9eba3ba1d6892800c79669ea94c4e9 /NEWS
parent2c416a793ea781273a5da6742211f5f01af13a2b (diff)
Imported Upstream version 2.1.3upstream/2.1.3
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS575
1 files changed, 115 insertions, 460 deletions
diff --git a/NEWS b/NEWS
index 930ac3e..b081165 100644
--- a/NEWS
+++ b/NEWS
@@ -1,537 +1,192 @@
-0MQ version 2.0.10 (Stable), released on 2010/10/15
-===================================================
-
-New functionality
------------------
-* Upgrade OpenPGM to 2.1.28~dfsg (Martin Lucina)
-* Added a ZMQ_VERSION macro to zmq.h for compile-time API version
- detection (Martin Sustrik, Gonzalo Diethelm, Martin Lucina)
-
-Bug fixes:
-----------
-* Fix memory leak under Windows (Taras Shpot)
-* Makefile.am: Add missing files to distribution, improve
- maintainer-clean (Martin Lucina)
-* Add support for RHEL6 in the spec file (Sebastian Otaegui)
-* configure.in: Do not patch libtool rpath handling (Martin Lucina)
-* Fixing the Red Hat packaging (Martin Sustrik)
-* zmq_msg_move called on uninitialised message in xrep_t::xrecv -- fixed
- (Max Wolf)
-* crash when closing an ypipe -- fixed (Dhammika Pathirana)
-* REQ socket can die when reply is delivered on wrong unerlying
- connection -- fixed (Martin Sustrik)
-* if TSC jumps backwards (in case of migration to a different CPU core)
- latency peak may occur -- fixed (Martin Sustrik)
-* values of RATE, RECOVERY_IVL and SWAP options are checked for negative
- values (Martin Sustrik)
-
-
-0MQ version 2.0.9 (Stable), released on 2010/09/04
+0MQ version 2.1.3 (Stable), released on 2011/03/21
==================================================
Bug fixes
---------
-* Broken device numbering fixed.
-* HP-UX/AIX build fixed.
-* Handling multi-part messages in forwarder and streamer devices fixed.
-* Couple of minor bug fixes, see the ChangeLog for details.
+* 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).
-0MQ version 2.0.8 (Stable), released on 2010/08/25
-==================================================
+* Re-add PGM_TXW_MAX_RTE in order to have rate limiting on pgm transport
+ over OpenPGM (Steven McCoy).
-New functionality
------------------
+* Windows build was broken due to EPROTONOSUPPORT not being defined. This
+ has now been fixed (Martin Sustrik).
-* The ZMQ_SWAP functionality has now been implemented for all socket types.
+* Various fixes to make OpenVMS port work (Brett Cameron).
-Bug fixes
----------
-
-* Many bug fixes (about 30), see the ChangeLog for details.
+* 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).
-Documentation
--------------
+* Removed obsolete assert from pgm_socket.cpp (Martin Sustrik).
-* zmq_device(3) is now documented and describes the built-in devices.
+Changes
+-------
-* The ZMQ_XREQ and ZMQ_XREP socket types are now documented in zmq_socket(3).
+* 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).
-Interface
----------
+* 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).
-* By popular demand, the zmq_stopwatch_start, zmq_stopwatch_stop and zmq_sleep
- functions have been added back into distribution. This API is now in a
- separate include file, zmq_utils.h.
+* Added man page for zmq_device(3) which was hereto undocumented (Pieter
+ Hintjens).
-* The ZMQ_UPSTREAM and ZMQ_DOWNSTREAM socket types have been renamed to
- ZMQ_PULL and ZMQ_PUSH for clarity. The old names are still defined for
- compatibility reasons and will be removed in a future version.
+* Removed zmq_queue(3), zmq_forwarder(3), zmq_streamer(3) man pages
+ (Pieter Hintjens).
-* API calls that expect non-null parameters now return -1 and set errno to
- EFAULT if null parameters are passed.
+OpenPGM Integration
+-------------------
+* Upgraded OpenPGM to version 5.1.114 (Steven McCoy, Mikko Koppanen).
-Thanks to
----------
+* Build system now calls OpenPGM build process directly, allowing easier
+ future upgrades of OpenPGM (Mikko Koppanen).
-Everyone.
-
-
-0MQ version 2.0.7 (Beta), released on 2010/06/04
-================================================
-
-
-Distribution
-------------
-
-* The core documentation has been updated with many clarifications, especially
- in the description of the functionality provided by the different socket
- types.
-
-* The version of OpenPGM bundled with 0MQ has been updated to the 2.1.26 release.
+* 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
--------
-* GCC-isms have been removed from the code and build system across the board;
- 0MQ should now build with no issues when using compilers other than GCC.
+* 0MQ builds properly on FreeBSD (Mikko Koppanen).
+
+0MQ version 2.1.2 (rc2), released on 2011/03/06
+===============================================
-Interface
+Bug fixes
---------
-* The zmq_init() function now has only a single parameter; the number of 0MQ
- I/O threads to create in the context being initialised. The app_threads and
- flags parameters have been removed.
+* 0MQ now correctly handles durable inproc sockets; previously it ignored
+ explicit identities on inproc sockets.
-* The ZMQ_P2P socket type has been renamed to ZMQ_PAIR.
+* Various memory leaks were fixed.
-* The ZMQ_LWM socket option has been removed; the low water mark for a socket
- is now computed automatically by 0MQ.
+* OpenPGM sender/receiver creation fixed.
-* A zmq_getsockopt() function has been added.
+0MQ version 2.1.1 (rc1), released on 2011/02/23
+===============================================
New functionality
-----------------
-* Multi-hop request/reply is fully supported. This feature allows the insertion
- of device(s) between ZMQ_REQ and ZMQ_REP sockets thus enabling scenarios
- such as multi-threaded server, shared service queue, and other interesting
- messaging topologies. The entire infrastructure is transparent to
- applications.
+* New socket option ZMQ_RECONNECT_IVL_MAX added, allows for exponential
+ back-off strategy when reconnecting.
-* Multi-part messages. A 0MQ message may now be composed of 1 or more message
- parts; each message part is an independent zmq_msg_t in its own right. 0MQ
- ensures atomic delivery of messages; peers shall receive either all message
- parts of a message or none at all.
+* New socket option ZMQ_RECOVERY_IVL_MSEC added, as a fine-grained
+ counterpart to ZMQ_RECOVERY_IVL (for multicast transports).
- This feature allows for seamless zero-copy message passing when data are
- scattered in memory, and is an important building block for multi-hop
- messaging topologies.
+* If memory is exhausted, 0MQ warns with an explicit message before
+ aborting the process.
-* Context termination and ETERM. The zmq_term() function has been
- changed to interrupt any blocking operations on open sockets, causing them to
- return the newly defined ETERM error code. This allows for orderly
- application termination, especially when multiple application threads are
- involved.
+Bug fixes
+---------
+* 0MQ no longer asserts in mailbox.cpp when multiple peers connect with
+ the same identity.
-0MQ version 2.0.6 (Beta), released on 2010/03/16
-================================================
+* 0MQ no longer asserts when rejecting an oversized message.
+* 0MQ no longer asserts in pipe.cpp when the swap fills up.
-Distribution
-------------
+* zmq_poll now works correctly with an empty poll set.
-* The 0MQ core distribution has been slimmed down to include only the core
- C library and C++ language binding. Pointers to other language bindings can
- be found on the website. Examples have also been removed from the
- core and can be found elsewhere. Performance tests specific to a language
- binding can be found bundled with that language binding.
+* Many more.
-* The 0MQ reference manual supplied with the distribution has been
- extensively rewritten, and is now provided in HTML as well as UNIX
- manpage format.
+Building
+--------
-* Commencing with this release, a 0MQ version numbering scheme has been
- introduced. The numbering scheme used is MAJOR.MINOR.PATCH. The "Beta" or
- "Stable" label is informative only and does not constitute
- part of the library version number, therefore this release is numbered
- 2.0.6 as the sixth release of 2.0.
+* 0MQ now builds correctly on CentOS, Debian 6, and SunOS/gcc3.
-* The version of OpenPGM bundled with 0MQ has been updated to the stable
- 2.0.24 release.
+* Added WithOpenPGM configuration into MSVC builds.
+Known issues
+------------
-Building
---------
+* OpenPGM integration is still not fully stable.
-* Many portability fixes, including support for new platforms: FreeBSD,
- NetBSD, HP-UX and Cygwin.
-* Invocation of configure has been simplified, all functionality is now
- built by default with the exception of OpenPGM.
+0MQ version 2.1.0 (Beta), released on 2010/12/01
+================================================
+New functionality
+-----------------
-Interface
----------
+* 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 udp transport has been renamed to epgm to avoid confusion with
- unreliable unicast.
+* The new socket options ZMQ_FD and ZMQ_EVENTS provide a way to integrate
+ 0MQ sockets into existing poll/event loops.
-* A ZMQ_POLLERR constant has been added to allow for polling on errors on
- Berkeley sockets with zmq_poll().
+* Sockets may now be migrated between OS threads, as long as the
+ application ensures that a full memory barrier is issued.
-* The zmq_version() function has been introduced and returns the version
- number of the 0MQ library.
+* 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.
-* The zmq_flush() function and ZMQ_NOFLUSH flag of zmq_send() have been
- deprecated and will be removed in a future 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.
-Wire format
------------
+* 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 0MQ wire format has been changed. A flags field has been added to
- allow for future extensions.
+* 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.
-New functionality
------------------
+* The ZMQ_RECONNECT_IVL and ZMQ_BACKLOG socket options have been added.
-* The experimental ZMQ_P2P socket type has been implemented.
+Bug fixes
+---------
-* Flow control has been implemented for all socket types. For details see
- the ZMQ_HWM and ZMQ_LWM socket options.
+* Forwarder and streamer devices now handle multi-part messages correctly.
-* Subscription filters are internally matched with O(1) complexity.
+* 0MQ no longer asserts when malformed data is received on the wire.
+* 0MQ internal timers now work correctly if the TSC jumps backwards.
-Licensing
----------
+* The internal signalling functionality (mailbox) has been improved
+ to automatically resize socket buffers on POSIX systems.
-* iMatix corporation has granted the following exception regarding static
- linking with the 0MQ library:
+* Many more.
- As a special exception, iMatix gives you permission to link this
- library with independent modules to produce an executable,
- regardless of the license terms of these independent modules, and
- to copy and distribute the resulting executable under terms of
- your choice, provided that you also meet, for each linked
- independent module, the terms and conditions of the license of
- that module. An independent module is a module which is not
- derived from or based on this library. If you modify this
- library, you must extend this exception to your version of the
- library.
+Building
+--------
+* 0MQ now builds correctly with many more non-GCC compilers (Sun Studio,
+ Intel ICC, CLang).
-Thanks to
----------
+* AIX and HP-UX builds should work now.
-This release of 0MQ was made possible by many contributors from the community,
-including:
+* FD_SETSIZE has been set to 1024 by default for MSVC builds.
-* Adrian von Bidder <avbidder@fortytwo.ch>, for contributing Debian packages.
+* Windows builds using GCC (MinGW) now work out of the box.
+
+Distribution
+------------
-* Aleksey Yeschenko <aleksey@yeschenko.com>, for contributing a Lua binding.
-
-* Alessio Spadaro <alessio.spadaro@finservice.com>, for help with porting to
- HP-UX.
-
-* Bernd Prager <bernd@prager.ws>, for help with porting to Cygwin.
-
-* Brian E. Granger <ellisonbg@gmail.com>, for maintaining the Python binding.
-
-* Martin Hurton <hurtonm@gmail.com>, for implementing flow control.
-
-* Martin Lucina <mato@kotelna.sk>, for rewriting the 0MQ reference manual and
- many portability fixes.
-
-* Michael Santy <Michael.Santy@dynetics.com>, for testing this release with
- Infiniband.
-
-* Steven McCoy <steven@miru.hk>, for help with OpenPGM.
-
-* Toralf Wittner <toralf.wittner@gmail.com>, for contributing a Haskell
- binding.
-
--------------------------------------------------------------------------------
-
-Version 2.0-beta2
-
-ZMQII-29 Add timeout to zmq_poll function
-ZMQII-30 Build fails on MacOS X
-ZMQII-31 memory leak in zmq_poll (on timeout)
-ZMQII-33 zmq_poll may exceed timeout if signal interrupts the waiting
-ZMQII-34 ensure that poll won't return POLLIN event when the message will be filtered out anyway
-ZMQII-36 Chat example & forwarder broken because of changes subscribe semantics
-ZMQII-37 SIGSEGV when polling on REQ socket
-ZMQII-38 Compiler complains about missing virtual constructors
-ZMQII-39 Implement IPC transport
-
-Version 2.0-beta1
-
-ZMQII-27 Allow setting SNDBUF and RCVBUF size from 0MQ API
-ZMQII-22 Deadlock on zmq_close
-ZMQII-25 Implement streamed request/reply
-ZMQII-24 SEGFAULT when anonymous session disconnects
-ZMQII-26 Use zero-copy for large messages
-ZMQII-19 add --disable-eventfd configure option
-
-Version 2.0-alpha3
-
-ZMQII-17 Allow multiple senders for sigle mcast group aka multicast bus.
-ZMQII-16 Change "struct zmq_msg_t" to "zmq_msg_t" in C binding.
-ZMQII-15 Implement REQ/REP sockets.
-ZMQII-14 Change default for ZMQ_MCAST_LOOP to true.
-
-Version 2.0-alpha2
-
-ZMQII-11 Implement forwarder device
-ZMQII-10 Make connections interrupted during the init phase be closed silently
-ZMQII-8 Failure during orphan pipe deallocation
-ZMQII-7 Pipe detach fails on shutdown
-ZMQII-6 connection refused in tcp_connecter::connect leads to assert
-ZMQII-5 Only one consumer in a process gets the message
-ZMQII-4 Failure in dev/poll poller
-ZMQII-3 Implement message filtering
-ZMQII-2 SIGSEGV in zmq_connecter_init_t::read
-ZMQII-1 Win32 - failure on shutdown
-
-Version 2.0-alpha1
-
-Large scale refactoring of the code and new socket-like API.
-
-Version 1.0.1
-
-ZMQ-289 Return -1 from bind when remote object is not registered in zmq_server
-ZMQ-288 Return -1 from create_exchange /queue when object can not be created
-ZMQ-287 Disabling receiving messages from queue
-ZMQ-286 create handle_t class with == and != operators
-ZMQ-285 multiple listeners listening on the same machine with UDP encap.
-ZMQ-284 mask function inaccessible via Java on Windows
-ZMQ-283 Lua binding for 0MQ
-ZMQ-282 Cannot send message containing zero byte via Ruby
-ZMQ-281 Publisher restart fails on PGM and Win/Linux
-ZMQ-280 Broken build using MSVC 2005
-ZMQ-278 Load-balancing exchange doesn't load balance
-ZMQ-277 TCL binding
-ZMQ-276 Check for pkg-config in autogen.sh script
-ZMQ-275 Check for eventfd by running test program during ./configure
-ZMQ-274 can not compile estimate_cpu_freq with PERF_CPU_FREQUENCY set
-ZMQ-273 gcc (GCC) 4.4.0 invalid conversion from const char* to char*
-ZMQ-272 make sure message content is created properly
-
-Version 1.0.0
-
-ZMQ-271 Build OpenPGM with 0MQ build system
-ZMQ-270 0MQ windows pgm support
-ZMQ-269 Constness is better for the zmq_send data_ argument
-ZMQ-267 assert in api_thread.cpp384 void zmqapi_thread_tprocess_command
-ZMQ-266 Memory coruption in api_thread_tcreate
-ZMQ-265 Missing librbzmq.vcproj file
-ZMQ-264 Java examples can not be run on OpenVMS
-ZMQ-263 Warning preventing compilation of chat example
-ZMQ-262 CLONE -QNX port -- working in 6.4.0?
-ZMQ-261 add --with-rubydir configure option
-ZMQ-260 syntax error caught by gcc 4.4
-ZMQ-253 Allow to establish arbitrary AMQP wiring on connection startup
-ZMQ-249 Handle EAGAIN and EWOULDBLOCK as the same error
-ZMQ-248 Call in/out events directly from I/O thread
-ZMQ-247 Move physical thread from poller to individual I/O threads
-ZMQ-240 Pack Java classes into a .jar
-ZMQ-239 make --with-clr imply --with-c
-ZMQ-237 Java extension not working with Win32 package
-ZMQ-235 JAVA build fails if PATH is not set to JDK/bin
-ZMQ-228 Make java documentation via JavaDoc
-ZMQ-226 Move Jzmq to org.zmq package
-ZMQ-204 Use non-blocking accept
-ZMQ-130 Optimise mux_t for large number of idle connections
-
-Version 0.6.1
-
-ZMQ-254 Race condition in pipe_twriter_terminated
-ZMQ-255 Python perf tests broken
-ZMQ-257 pgm build fails various declared errors
-ZMQ-259 Ruby extension for libzmq
-
-Version 0.6
-
-ZMQ-73 Redesign MT throughput test
-ZMQ-102 Move load-balancing functionality from 0.3.3 branch to the trunk
-ZMQ-136 Check I/O threads for rm_fd(x) followed by add_fd(x) behavior
-ZMQ-138 Avoid exporting 0MQ symbols from libs using 0MQ on Windows
-ZMQ-147 Python app hang-up, unresponsive to Ctrl+C
-ZMQ-164 Add reconnection functionality to PGM
-ZMQ-166 Slow down the reconnection process
-ZMQ-176 Update examples to reflect the auto-reconnect feature
-ZMQ-179 Implement OS-agnostic time measurement
-ZMQ-180 What happens if queue is full & disconnection occurs?
-ZMQ-183 Change OpenPGM to PGM in build options
-ZMQ-185 Move msg_store to the trunk
-ZMQ-186 Write an example to demonstrate load-balancing
-ZMQ-187 Declaring same object (exchange, queue) twice doesn't fail
-ZMQ-188 Schemas used by global object URIs don't conform to RFC3986
-ZMQ-190 Compile libdnzmq with /clr support (no old syntax)
-ZMQ-193 Reconnect on Solaris platform not working
-ZMQ-194 Let sender use RDTSC mechanism for command throttling in MSVC build
-ZMQ-195 Failure during fg
-ZMQ-196 System out of sockets after number of reconnections
-ZMQ-197 Offload signal handling from I/O threads
-ZMQ-198 Timers can never expire
-ZMQ-199 Make receive in libczmq zero-copy
-ZMQ-200 Virtualise global locator
-ZMQ-202 Check out SCTP support on QNX
-ZMQ-203 Add auto-reconnect to AMQP engine
-ZMQ-205 Check handling of async errors on a socket
-ZMQ-206 Make zmq_server not to drop the endpoint info on service disconnect
-ZMQ-207 zmq_server should be able to read endpoint info from XML file
-ZMQ-210 Switch perf tests to load-balancing mode
-ZMQ-211 Port Data Dam functionality to Win32
-ZMQ-212 Integrate add and inc in atomic_counter into a single function
-ZMQ-213 When 0MQ infrastructure is terminated, sockets are not closed correctly
-ZMQ-215 Java on Win32 platform not stopping in case of assertion
-ZMQ-217 zmq_server can be crashed by incorect input data
-ZMQ-218 C# integration not working anymore
-ZMQ-219 Change .NET extesnsion to use CamelCase
-ZMQ-220 Check whether individual APIs conforms to API guidelines document
-ZMQ-221 Allow to create global object w/o specifying the location
-ZMQ-222 SPARC code for atomic_counter broken
-ZMQ-223 Rename czmq/jzmq/dnzmq etc. to simple "zmq"
-ZMQ-225 Application fails when it's connected from telnet
-
-Version 0.5
-
-ZMQ-17 look at pgm_transport_set_recv_only and ...send_only
-ZMQ-26 Allow for "any" network interface
-ZMQ-31 Implement SCTP support
-ZMQ-45 Normalise API vs. I/O thread
-ZMQ-78 Make connection establishment asynchronous
-ZMQ-79 Refactor handling of broken connections
-ZMQ-100 Move flow control and queue limits from 0.3.3 branch to the trunk
-ZMQ-101 Move reconnection functionality from 0.3.3 branch to the trunk
-ZMQ-112 build via cmake (makefile generator)
-ZMQ-115 Identify SPARC V9 microarc and/or availability of CAS instruction
-ZMQ-116 Implement .NET extension
-ZMQ-129 Make engine_source part of the polling object
-ZMQ-139 /dev/poll introduces latency on Solaris
-ZMQ-144 Investigate latency impact of using eventfd instead of socketpair on Linux
-ZMQ-146 Check whether i386 and x86_64 in atomic_ptr can be unified
-ZMQ-148 Change watermarks from int to uint64_t
-ZMQ-149 Virtualise creation of 0MQ connections
-ZMQ-150 Negative numbers in unsigned type in atomic_counter
-ZMQ-151 Modify build system to build SCTP extension
-ZMQ-152 Merge BP/PGM functionality into the trunk
-ZMQ-153 compiler warnings on solaris
-ZMQ-155 Build libzmq with sctp support witch cmake
-ZMQ-160 Get rid of create functions in engines
-ZMQ-162 CMakeLists.txt files not updated with latest changes
-ZMQ-165 Implement reconnection notifications
-ZMQ-169 Return queue id from receive function in libpyzmq
-ZMQ-171 Add AMQP support to 0MQ
-ZMQ-173 Throughput test should accept 2 interface specifications
-ZMQ-174 When application is killed on Win32, zmq_server fails
-ZMQ-175 Chatroom example doesn't pass messages after reconnection
-ZMQ-177 Update language extensions to take advantage of auto-reconnect
-ZMQ-181 Rafactor the code to support multiple notification types
-
-Version 0.4
-
-ZMQ-21 Clean up the command passing code
-ZMQ-36 autogen/configure fails on Solaris
-ZMQ-39 Check whether using CAS for btsr and izte on x86 platform improves latency
-ZMQ-40 Check autogen on FreeBSD
-ZMQ-41 Check autogen on OS X
-ZMQ-43 Use +m instead of memory in atomic operations
-ZMQ-46 Get rid of administrative pseudo-thread
-ZMQ-63 -mcpu=v9 CPPFLAG should be used only at sparc achitecture
-ZMQ-64 gcc 3.4.3 on opensolaris complains about -mcpu flag
-ZMQ-65 No error report when host name resolving fails
-ZMQ-66 Several files use atoi without including stdlib.h
-ZMQ-69 Make stdint.hpp hand-written rather than generated
-ZMQ-71 Virtualise thread management
-ZMQ-72 Remove platform.hpp
-ZMQ-74 Implement win32 version of tcp_socket and tcp_listener
-ZMQ-75 Virtualise mutexes
-ZMQ-76 Implement win32 version of ysemaphore_t
-ZMQ-80 Virtualise polling mechanisms
-ZMQ-81 Implement 'select' polling mechanism
-ZMQ-82 Rename i_context to i_thread
-ZMQ-83 "Resource temporarily unavailable" when running on 266MHz box
-ZMQ-84 zmq_server stops to respond
-ZMQ-89 Make i_pollable derived from i_engine
-ZMQ-94 Report error when malloc fails
-ZMQ-95 Add /dev/poll method of polling
-ZMQ-96 Add support for kqueue method of polling
-ZMQ-97 OpenBSD port
-ZMQ-98 QNX port
-ZMQ-99 use pyexec_LTLIBRARIES primary for libpyzmq
-ZMQ-103 Use non blocking sockets
-ZMQ-106 memory leak when sending message from Java
-ZMQ-111 Get rid of speculative operations
-ZMQ-113 Windows compiler (_MSC_VER 1310) doesn't support strncpy_s function
-ZMQ-117 select_thread doesn't implement rm_fd function
-ZMQ-119 select thread fails on shudown
-ZMQ-121 Fix all I/O threads to handle rm_fd correctly
-ZMQ-124 include gaurd is wrong
-ZMQ-126 Refactor I/O threads implementation to avoid duplication of common functionality.
-ZMQ-131 select_thread fails on Windows
-ZMQ-132 Pointer to poller_t is used before it is fully initialised
-ZMQ-134 Thread management in constructors/destructors
-ZMQ-135 Move retired list to the polling strategy-specific object
-ZMQ-137 Assertion fails at bp_engine, line 132, error_handler is not set
-
-Version 0.3.2
-
-ZMQ-54 Test programs are compiled with --rpath
-
-Version 0.3.1
-
-ZMQ-25 Allow to use network interface name instead of IP address
-ZMQ-29 Implement speculative write to socket
-ZMQ-33 Assign ports to global objects automatically
-ZMQ-34 Message size of zero causes application to hang up
-ZMQ-42 Change locators to deal with a single object type
-ZMQ-44 Some of the objects have non-functional auto-generated copy constructors
-ZMQ-47 Camera example is broken
-ZMQ-48 Sender fails when receiver disconnects
-ZMQ-50 Warning in chat example
-ZMQ-51 Make it possible to use single include (zmq.hpp) for client apps
-ZMQ-53 Segmentation fault when binding to non-existent queue
-ZMQ-55 raw_message_init (data,size,ffn) allocates more memory than needed
-ZMQ-56 zmq_server fails if too many apps disconnect abruptly
-ZMQ-58 Implement C binding for 0MQ
-ZMQ-59 Implement Java binding for 0MQ
-ZMQ-60 Implement Python binding for 0MQ
-ZMQ-62 Write man pages
-
-Version 0.3
-
-ZMQ-1 poll_thread hangs in destructor
-ZMQ-4 Missing -D_REENTRANT command line parameter while compiling 0MQ
-ZMQ-5 Check for buffer overflows in AMQP/0-9 marshaller/unmarshaller
-ZMQ-6 Allow dynamic adding of engines to poll_thread
-ZMQ-7 Implement dynamic assignment of engine IDs to engines
-ZMQ-9 Implement event batching in ysocketpair
-ZMQ-10 Remove remaining references to HAVE_CONFIG_H from the code
-ZMQ-11 Move 'alive' flag to the dispatcher
-ZMQ-12 Move dispatcher signalers into a separate array
-ZMQ-13 Allow up to 63 threads on x86_64 platform
-ZMQ-14 Implement new type of lock-free pipe
-ZMQ-15 Implement an infrastructure to pass arbitrary commands between threads
-ZMQ-16 missing stats_raw_den.R, stats_raw_lat.R in dist package
-ZMQ-20 Sync problem with ypollset/atomic_bitmap
-ZMQ-24 Redundant poll
-ZMQ-30 Implement epoll suport
-ZMQ-37 Identify SPARC V9 microarc and/or availability of CAS instruction
-
-Version 0.2
-
-ZMQ-2 Failure when mutexes are used atomic_uint32
-ZMQ-3 socket hangup at OS X
+* A simple framework for regression tests has been added, along with a few
+ basic self-tests. The tests can be run using "make check".