summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS454
1 files changed, 454 insertions, 0 deletions
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..1135575
--- /dev/null
+++ b/NEWS
@@ -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