Skip to content

Commit 9e52806

Browse files
committed
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.
1 parent 932cc82 commit 9e52806

1 file changed

Lines changed: 105 additions & 0 deletions

File tree

NEWS

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,108 @@
1+
0MQ version 4.2.0 stable, released on 2016/11/xx
2+
=============================================
3+
4+
* For Pieter. Thanks for making all of this possible.
5+
6+
"Tell them I was a writer.
7+
A maker of software.
8+
A humanist. A father.
9+
And many things.
10+
But above all, a writer.
11+
Thank You. :)"
12+
- Pieter Hintjens
13+
14+
* This release introduces new APIs, but it is ABI compatible with
15+
libzmq 4.1.2 and up.
16+
17+
* Note for ARM and SPARC users: an alignment problem in zmq_msg_t that could in
18+
some cases and on some CPUs cause a SIGBUS error was solved, but it requires
19+
a rebuild of your application against the 4.2.0 version of include/zmq.h.
20+
To clarify, this change does not affect the internals of the library but only
21+
the public definition of zmq_msg_t, so there is no ABI incompatibility.
22+
23+
* Security with Curve is now available by default thanks to Tweetnacl sources:
24+
https://tweetnacl.cr.yp.to/index.html
25+
Libsodium is still fully supported but has to be enabled with the build flag
26+
--with-libsodium. Distribution and package maintainers are encouraged to use
27+
libsodium so that the security implementation can be audited and maintained
28+
separately.
29+
30+
* New Context options:
31+
- ZMQ_MAX_MSGSZ
32+
See doc/zmq_ctx_set.txt and doc/zmq_ctx_get.txt for details.
33+
34+
* New Socket options:
35+
- ZMQ_HANDSHAKE_IVL
36+
- ZMQ_SOCKS_PROXY
37+
- ZMQ_XPUB_NODROP
38+
- ZMQ_BLOCKY
39+
- ZMQ_XPUB_MANUAL
40+
- ZMQ_XPUB_WELCOME_MSG
41+
- ZMQ_STREAM_NOTIFY
42+
- ZMQ_INVERT_MATCHING
43+
- ZMQ_HEARTBEAT_IVL
44+
- ZMQ_HEARTBEAT_TTL
45+
- ZMQ_HEARTBEAT_TIMEOUT
46+
- ZMQ_XPUB_VERBOSER
47+
- ZMQ_CONNECT_TIMEOUT
48+
- ZMQ_TCP_MAXRT
49+
- ZMQ_THREAD_SAFE
50+
- ZMQ_MULTICAST_MAXTPDU
51+
- ZMQ_VMCI_BUFFER_SIZE
52+
- ZMQ_VMCI_BUFFER_MIN_SIZE
53+
- ZMQ_VMCI_BUFFER_MAX_SIZE
54+
- ZMQ_VMCI_CONNECT_TIMEOUT
55+
- ZMQ_USE_FD
56+
See doc/zmq_setsockopt.txt and doc/zmq_getsockopt.txt for details.
57+
58+
* New CURVE helper function to derive z85 public key from secret key:
59+
zmq_curve_public
60+
61+
* New cross-platform atomic counter helper functions:
62+
zmq_atomic_counter_new, zmq_atomic_counter_set, zmq_atomic_counter_inc,
63+
zmq_atomic_counter_dec, zmq_atomic_counter_value, zmq_atomic_counter_destroy
64+
See doc/zmq_atomic_*.txt for details.
65+
66+
* New DRAFT APIs early-release mechanism. New APIs will be introduced early
67+
in public releases, and until they are stabilized and guaranteed not to
68+
change anymore they will be unavailable unless the new build flag
69+
--enable-drafts is used. This will allow developers and early adopters to
70+
test new APIs before they are finalized.
71+
NOTE: as the name implies, NO GUARANTEE is made on the stability of these APIs.
72+
They might change or disappear entirely. Distributions are recommended NOT to
73+
build with them.
74+
75+
New socket types have been introduced in DRAFT state:
76+
ZMQ_SERVER, ZMQ_CLIENT, ZMQ_RADIO, ZMQ_DISH, ZMQ_GATHER, ZMQ_SCATTER,
77+
ZMQ_DGRAM
78+
All these sockets are THREAD SAFE, unlike the existing socket types. They do
79+
NOT support multipart messages (ZMQ_SNDMORE/ZMQ_RCVMORE).
80+
All these sockets minus ZMQ_SERVER and ZMQ_CLIENT also support UDP as transport.
81+
New methods to support the new socket types functionality:
82+
zmq_join, zmq_leave, zmq_msg_set_routing_id, zmq_msg_routing_id,
83+
zmq_msg_set_group, zmq_msg_group
84+
See doc/zmq_socket.txt for more details.
85+
86+
New poller mechanism and APIs have been introduced in DRAFT state:
87+
zmq_poller_new, zmq_poller_destroy, zmq_poller_add, zmq_poller_modify,
88+
zmq_poller_remove, zmq_poller_wait, zmq_poller_wait_all, zmq_poller_add_fd
89+
zmq_poller_modify_fd, zmq_poller_remove_fd
90+
and a new supporting struct typedef: zmq_poller_event_t
91+
They support existing socket type, new thread-safe socket types and file
92+
descriptors (cross-platform).
93+
Documentation will be made available in the future before these APIs are declared
94+
stable.
95+
96+
New cross-platform timers helper functions have been introduced in DRAFT state:
97+
zmq_timers_new, zmq_timers_destroy, zmq_timers_add, zmq_timers_cancel,
98+
zmq_timers_set_interval, zmq_timers_reset, zmq_timers_timeout,
99+
zmq_timers_execute
100+
and a new supporting callback typedef: zmq_timer_fn
101+
102+
* Many, many bug fixes. The most important fixes are backported and captured in the
103+
4.1.x and 4.0.x changelogs.
104+
105+
1106
0MQ version 4.2.0 rc1, released on 2016/11/01
2107
=============================================
3108

0 commit comments

Comments
 (0)