NEWS 4.35 KB
Newer Older
1
OMQ version 3.1.0 (beta), released on 2011/12/18
2 3
================================================

4 5
General information
-------------------
6

7 8 9
Based on community consensus, the 0MQ 3.1.x release reverts a number of
features introduced in version 3.0. The major reason for these changes is
improving backward compatibility with 0MQ 2.1.x.
10

11 12
Development of the 0MQ 3.0.x series will be discontinued, and users are
encouraged to upgrade to 3.1.
13

14
The 0MQ 3.1.x releases use ABI version 3.
15

16 17
Reverted functionality
----------------------
18

19
The following functionality present in 0MQ 3.0 has been reverted:
20

21 22
* Wire format changes. The 0MQ 3.1 wire format is identical to that of 0MQ
  2.1.
23

24
* LABELs and COMMANDs have been removed.
25

26 27
* Explicit identies are re-introduced, however they can be used only for
  explicit routing, not for durable sockets.
28

29 30
* The ZMQ_ROUTER and ZMQ_DEALER socket types are once again aliases for
  ZMQ_XREQ and ZMQ_XREP.
31

32 33
New functionality
-----------------
34

35
* The zmq_getmsgopt() function has been introduced.
36

37 38
* Experimental IPv6 support has been introduced. This is disabled by
  default, see the zmq_setsockopt() documentation for enabling it.
39

40 41
Other changes
-------------
42

43
* The default HWM for all socket types has been set to 1000.
44

45
* Many bug fixes.
46 47 48 49

Building
--------

50
* The dependency on libuuid has been removed.
51

52
* Support for building on Android, and with MSVC 10 has been added.
53

54 55
0MQ version 3.0.0 (alpha), released on 2011/07/12
=================================================
56 57 58

New functionality
-----------------
Martin Sustrik's avatar
Martin Sustrik committed
59

60 61
* POSIX-compliant zmq_send and zmq_recv introduced (uses raw buffer
  instead of message object).
Martin Sustrik's avatar
Martin Sustrik committed
62

63 64
* ZMQ_MULTICAST_HOPS socket option added. Sets the appropriate field in
  IP headers of PGM packets.
65

66 67 68
* Subscription forwarding. Instead of filtering on consumer, the
  subscription is moved as far as possible towards the publisher and
  filtering is done there.
69

70 71
* ZMQ_XPUB, ZMQ_XSUB introduced. Allow to create subscription-
  forwarding-friendly intermediate devices.
72

73 74
* Add sockopt ZMQ_RCVTIMEO/ZMQ_SNDTIMEO. Allow to set timeout for
  blocking send/recv calls.
75

76 77
* A new LABEL flag was added to the wire format. The flag distinguishes
  message parts used by 0MQ (labels) from user payload message parts.
78

79 80 81 82
* There is a new wire format for the REQ/REP pattern. First, the empty
  bottom-of-the-stack message part is not needed any more, the LABEL
  flag is used instead. Secondly, peer IDs are 32-bit integers rather
  than 17-byte UUIDs.
83

84
* The REQ socket now drops duplicate replies.
85

86 87
* Outstanding requests & replies associated with a client are dropped
  when the clients dies. This is a performance optimisation.
88

89 90 91
* Introduced ZMQ_ROUTER and ZMQ_DEALER sockets. These mimic the
  functionality of ZMQ_ROUTER and ZMQ_DEALER in 0MQ/2.1.x. Guarantees
  backward compatibility for exsiting code.
92

93 94
* Removed dependency on OS socketpair buffer size. No more asserts in
  mailbox.cpp because of low system limit of sockepair buffer size.
95

96 97
API improvements
----------------
98

99 100
* Obsolete constants ZMQ_UPSTREAM and ZMQ_DOWNSTREAM removed. Use
  ZMQ_PUSH and ZMQ_PULL instead.
101

102 103
* Timeout in zmq_poll is in milliseconds instead of microseconds. This
  makes zmq_poll() compliant with POSIX poll()
104

105 106
* ZMQ_MCAST_LOOP removed. There's no support for multicast over
  loopback any more. Use IPC or TCP isntead.
107

108
* zmq_send/zmq_recv was renamed zmq_sendmsg/zmq_recvmsg.
109

110 111
* ZMQ_RECOVERY_IVL and ZMQ_RECOVERY_IVL_MSEC reconciled. The new option
  is named ZMQ_RECOVERY_IVL and the unit is milliseconds.
112

113 114
* Option types changed. Most of the numeric types are now represented
  as 'int'.
115

116 117
* ZMQ_HWM split into ZMQ_SNDHWM and ZMQ_RCVHWM. This makes it possible
  to control message flow separately for each direction.
118

119
* ZMQ_NOBLOCK renamed ZMQ_DONTWAIT. That makes it POSIX-compliant.
120

121
Less is More
122 123
------------

124 125
* Pre-built devices and zmq_device() removed. Should be made available
  as a separate project(s).
126

127 128
* ZMQ_SWAP removed. Writing data to disk should be done on top of 0MQ,
  on inside it.
129

130 131
* C++ binding removed from the core. Now it's a separate project, same
  as any other binding.
Martin Lucina's avatar
Martin Lucina committed
132

133
Bug fixes
134 135
---------

136
* Many.
137 138 139 140

Building
--------

141
* Make pkg-config dependency conditional.
142

143 144
Distribution
------------
145

146 147
* Removed Debian packaging, which is now available at packages.debian.org
  or via apt-get.
148 149


150 151
Older versions
==============
152

153
* See NEWS in ZeroMQ 2.1.x repository at http://github.com/zeromq/zeromq2-1.