Update net/zeromq to 4.2.1.
0MQ version 4.2.1 stable, released on 2016/12/31
* New DRAFT (see NEWS for 4.2.0) Socket Monitor events:
These events trigger when the ZMTP security mechanism handshake is
completed. See doc/zmq_socket_monitor.txt for more information.
* New DRAFT (see NEWS for 4.2.0) Context options:
See doc/zmq_ctx_get.txt for more information.
* Fixed #2268 - improved compatibility with mingw32
* Fixed #2254 - ZMQ_PUB compatibility with libzmq 2.x broken
* Fixed #2245 - added support for VS2017, Windows SDK 10.0.14393.0, toolset v141
* Fixed #2242 - file descriptors leaks on fork+exec
* Fixed #2239 - retired poller item crash from reaper thread
* Fixed #2234 - improved compatibility with AIX 7.1
* Fixed #2225 - cannot pick select for poller
* Fixed #2217 - CMake build uses library version as the ABI version
* Fixed #2208 - added support for ZMQ_TOS on IPv6
* Fixed #2200 - no documentation for ZMQ_SOCKS_PROXY
* Fixed #2199 - no documentation for zmq_curve_public
* Fixed #2196 - fixed build and runtime errors on kFreeBSD
0MQ version 4.2.0 stable, released on 2016/11/04
* For Pieter. Thanks for making all of this possible.
"Tell them I was a writer.
A maker of software.
A humanist. A father.
And many things.
But above all, a writer.
Thank You. :)"
- Pieter Hintjens
* This release introduces new APIs, but it is ABI compatible with
libzmq 4.1.2 and up.
* Note for ARM and SPARC users: an alignment problem in zmq_msg_t that could in
some cases and on some CPUs cause a SIGBUS error was solved, but it requires
a rebuild of your application against the 4.2.0 version of include/zmq.h.
To clarify, this change does not affect the internals of the library but only
the public definition of zmq_msg_t, so there is no ABI incompatibility.
* Security with Curve is now available by default thanks to Tweetnacl sources:
Libsodium is still fully supported but has to be enabled with the build flag
--with-libsodium. Distribution and package maintainers are encouraged to use
libsodium so that the security implementation can be audited and maintained
* New Context options:
See doc/zmq_ctx_set.txt and doc/zmq_ctx_get.txt for details.
* New Socket options:
See doc/zmq_setsockopt.txt and doc/zmq_getsockopt.txt for details.
* New CURVE helper function to derive z85 public key from secret key:
* New cross-platform atomic counter helper functions:
zmq_atomic_counter_new, zmq_atomic_counter_set, zmq_atomic_counter_inc,
zmq_atomic_counter_dec, zmq_atomic_counter_value, zmq_atomic_counter_destroy
See doc/zmq_atomic_*.txt for details.
* New DRAFT APIs early-release mechanism. New APIs will be introduced early
in public releases, and until they are stabilized and guaranteed not to
change anymore they will be unavailable unless the new build flag
--enable-drafts is used. This will allow developers and early adopters to
test new APIs before they are finalized.
NOTE: as the name implies, NO GUARANTEE is made on the stability of these APIs.
They might change or disappear entirely. Distributions are recommended NOT to
build with them.
New socket types have been introduced in DRAFT state:
ZMQ_SERVER, ZMQ_CLIENT, ZMQ_RADIO, ZMQ_DISH, ZMQ_GATHER, ZMQ_SCATTER,
All these sockets are THREAD SAFE, unlike the existing socket types. They do
NOT support multipart messages (ZMQ_SNDMORE/ZMQ_RCVMORE).
ZMQ_RADIO, ZMQ_DISH and ZMQ_DGRAM also support UDP as transport,
both unicast and multicast. See doc/zmq_udp.txt for more details.
New methods to support the new socket types functionality:
zmq_join, zmq_leave, zmq_msg_set_routing_id, zmq_msg_routing_id,
See doc/zmq_socket.txt for more details.
New poller mechanism and APIs have been introduced in DRAFT state:
zmq_poller_new, zmq_poller_destroy, zmq_poller_add, zmq_poller_modify,
zmq_poller_remove, zmq_poller_wait, zmq_poller_wait_all, zmq_poller_add_fd
and a new supporting struct typedef: zmq_poller_event_t
They support existing socket type, new thread-safe socket types and file
Documentation will be made available in the future before these APIs are declared
New cross-platform timers helper functions have been introduced in DRAFT state:
zmq_timers_new, zmq_timers_destroy, zmq_timers_add, zmq_timers_cancel,
zmq_timers_set_interval, zmq_timers_reset, zmq_timers_timeout,
and a new supporting callback typedef: zmq_timer_fn
* Many, many bug fixes. The most important fixes are backported and captured in the
4.1.x and 4.0.x changelogs.
0MQ version 4.2.0 rc1, released on 2016/11/01
* Many changes, see ChangeLog.
0MQ version 4.1.6 stable, released on 2016/11/01
* Fixed #2051 - getifaddrs can fail with ECONNREFUSED
* Fixed #2091 - testutil.hpp fails to build on Windows XP
* Fixed #2096 - add tests/CMakeLists.in and version.rc.in to dist tar
* Fixed #2107 - zmq_connect with IPv6 "source:port;dest:port" broken
* Fixed #2117 - ctx_term assert with inproc zmq_router connect-before-bind
* Fixed #2158 - Socket monitor uses internal Pair from multiple threads
* Fixed #2161 - messages dropped due to HWM race
* Fixed #1325 - alignment issue with zmq_msg_t causes SIGBUS on SPARC and ARM
0MQ version 4.1.5 stable, released on 2016/06/17
* Fixed #1673 - CMake on Windows put PDB in wrong directory.
* Fixed #1723 - Family is not set when resolving NIC on Android.
* Fixed #1608 - Windows 7 TCP slow start issue.
* Fixed #1806 - uninitialised read in curve getsockopt.
* Fixed #1807 - build broken with GCC 6.
* Fixed #1831 - potential assertion failure with latest libsodium.
* Fixed #1850 - detection issues with tweetnacl/libsodium.
* Fixed #1877 - Avoid terminating connections prematurely
* Fixed #1887 - zmq_bind IPv4 fallback still tries IPv6
* Fixed #1866 - fails to build on SunOS 5.10 / Solaris 10
* Fixed #919 - ZMQ_LINGER (related to #1877)
* Fixed #114 - cannot unbind with same endpoint with IPv6 enabled.
* Fixed #1952 - CMake scripts not part of release tarballs
* Fixed #1542 - Fix a crash on Windows when port 5905 is in use.
* Fixed #2021 - Fix building on sparc32.