diff options
author | Martin Lucina <martin@lucina.net> | 2012-01-23 08:53:19 +0100 |
---|---|---|
committer | Martin Lucina <martin@lucina.net> | 2012-01-23 08:53:19 +0100 |
commit | a15854bd92db69fcd0b4444fe1b8fe3610a7acf6 (patch) | |
tree | 1214b945d0f0033ff318de367c70525ea141ef56 /NEWS |
Imported Upstream version 2.0.7.dfsgupstream/2.0.7.dfsg
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 454 |
1 files changed, 454 insertions, 0 deletions
@@ -0,0 +1,454 @@ +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. + + +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. + + +Interface +--------- + +* 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. + +* The ZMQ_P2P socket type has been renamed to ZMQ_PAIR. + +* The ZMQ_LWM socket option has been removed; the low water mark for a socket + is now computed automatically by 0MQ. + +* A zmq_getsockopt() function has been added. + + +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. + +* 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. + + 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. + +* 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. + + +0MQ version 2.0.6 (Beta), released on 2010/03/16 +================================================ + + +Distribution +------------ + +* 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. + +* The 0MQ reference manual supplied with the distribution has been + extensively rewritten, and is now provided in HTML as well as UNIX + manpage format. + +* 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. + +* The version of OpenPGM bundled with 0MQ has been updated to the stable + 2.0.24 release. + + +Building +-------- + +* 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. + + +Interface +--------- + +* The udp transport has been renamed to epgm to avoid confusion with + unreliable unicast. + +* A ZMQ_POLLERR constant has been added to allow for polling on errors on + Berkeley sockets with zmq_poll(). + +* The zmq_version() function has been introduced and returns the version + number of the 0MQ library. + +* The zmq_flush() function and ZMQ_NOFLUSH flag of zmq_send() have been + deprecated and will be removed in a future release. + + +Wire format +----------- + +* The 0MQ wire format has been changed. A flags field has been added to + allow for future extensions. + + +New functionality +----------------- + +* The experimental ZMQ_P2P socket type has been implemented. + +* Flow control has been implemented for all socket types. For details see + the ZMQ_HWM and ZMQ_LWM socket options. + +* Subscription filters are internally matched with O(1) complexity. + + +Licensing +--------- + +* iMatix corporation has granted the following exception regarding static + linking with the 0MQ library: + + 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. + + +Thanks to +--------- + +This release of 0MQ was made possible by many contributors from the community, +including: + +* Adrian von Bidder <avbidder@fortytwo.ch>, for contributing Debian packages. + +* 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 |