From 9e528067249dfe417d894d21aff0815945b1de9c Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Wed, 2 Nov 2016 17:34:16 +0000 Subject: [PATCH] Problem: no NEWS for 4.2.0 Solution: add an overview of the new socket options, new APIs, DRAFT mechanism (and DRAFT APIs). And a dedication. --- NEWS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/NEWS b/NEWS index 7895383f..4e54d8e4 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,108 @@ +0MQ version 4.2.0 stable, released on 2016/11/xx +============================================= + +* 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: + https://tweetnacl.cr.yp.to/index.html + 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 + separately. + +* New Context options: + - ZMQ_MAX_MSGSZ + See doc/zmq_ctx_set.txt and doc/zmq_ctx_get.txt for details. + +* New Socket options: + - ZMQ_HANDSHAKE_IVL + - ZMQ_SOCKS_PROXY + - ZMQ_XPUB_NODROP + - ZMQ_BLOCKY + - ZMQ_XPUB_MANUAL + - ZMQ_XPUB_WELCOME_MSG + - ZMQ_STREAM_NOTIFY + - ZMQ_INVERT_MATCHING + - ZMQ_HEARTBEAT_IVL + - ZMQ_HEARTBEAT_TTL + - ZMQ_HEARTBEAT_TIMEOUT + - ZMQ_XPUB_VERBOSER + - ZMQ_CONNECT_TIMEOUT + - ZMQ_TCP_MAXRT + - ZMQ_THREAD_SAFE + - ZMQ_MULTICAST_MAXTPDU + - ZMQ_VMCI_BUFFER_SIZE + - ZMQ_VMCI_BUFFER_MIN_SIZE + - ZMQ_VMCI_BUFFER_MAX_SIZE + - ZMQ_VMCI_CONNECT_TIMEOUT + - ZMQ_USE_FD + See doc/zmq_setsockopt.txt and doc/zmq_getsockopt.txt for details. + +* New CURVE helper function to derive z85 public key from secret key: + zmq_curve_public + +* 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, + ZMQ_DGRAM + All these sockets are THREAD SAFE, unlike the existing socket types. They do + NOT support multipart messages (ZMQ_SNDMORE/ZMQ_RCVMORE). + All these sockets minus ZMQ_SERVER and ZMQ_CLIENT also support UDP as transport. + New methods to support the new socket types functionality: + zmq_join, zmq_leave, zmq_msg_set_routing_id, zmq_msg_routing_id, + zmq_msg_set_group, zmq_msg_group + 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 + zmq_poller_modify_fd, zmq_poller_remove_fd + and a new supporting struct typedef: zmq_poller_event_t + They support existing socket type, new thread-safe socket types and file + descriptors (cross-platform). + Documentation will be made available in the future before these APIs are declared + stable. + + 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, + zmq_timers_execute + 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 =============================================