Skip to content

Commit

Permalink
Merge pull request #124 from hintjens/master
Browse files Browse the repository at this point in the history
Updated NEWS for release 4.0.7
  • Loading branch information
hintjens committed Jun 15, 2015
2 parents 3f6936e + e8c4e77 commit ba8f58e
Showing 1 changed file with 42 additions and 36 deletions.
78 changes: 42 additions & 36 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
0MQ version 4.0.7 stable, released on 2015/06/15
================================================

* Fixed #1428 - regression on single-socket proxies.


0MQ version 4.0.6 stable, released on 2015/06/02
================================================

Expand Down Expand Up @@ -77,7 +83,7 @@ Bug Fixes
Bug Fixes
---------

* Fixed LIBZMQ-583 - improved low-res timer for Windows
* Fixed LIBZMQ-583 - improved low-res timer for Windows
* Fixed LIBZMQ-578 - z85_decode was extremely slow
* Fixed LIBZMQ-577 - fault in man pages.
* Fixed LIBZMQ-574 - assertion failure when ran out of system file handles
Expand Down Expand Up @@ -138,100 +144,100 @@ Major changes

* New wire level protocol, ZMTP/3.0, see http://rfc.zeromq.org/spec:23.
Does not yet implement the SUBSCRIBE, CANCEL, PING, and PONG commands.
* New security framework, from plain user+password to strong encryption,

* New security framework, from plain user+password to strong encryption,
see section below. See http://hintjens.com/blog:49 for a tutorial.
* New ZMQ_STREAM socket type for working as a TCP client or server. See:

* New ZMQ_STREAM socket type for working as a TCP client or server. See:
tests/test_stream.cpp.

Improvements
------------

* You can now connect to an inproc:// endpoint that does not already
exist. This means inproc:// no longer needs careful set-up, but it may
break code that relied on the old behaviour. See:
break code that relied on the old behaviour. See:
tests/test_inproc_connect.cpp.
* Libzmq now checks socket types at connection time, so that trying to

* Libzmq now checks socket types at connection time, so that trying to
connect a 'wrong' socket type will fail.

* New zmq_ctx_shutdown API method will shutdown a context and send ETERM
to blocking calls, without blocking. Use zmq_ctx_term to finalise the
process.

* The regression test suite has been significantly extended and improved.
* Contexts can now be terminated in forked child processes. See:

* Contexts can now be terminated in forked child processes. See:
tests/test_fork.cpp.

* zmq_disconnect now respects the linger setting on sockets.

* New zmq_send_const API method to send constant data (without copying).
See: tests/test_inproc_connect.cpp.

* Added CMake support for static libraries.

* Added test cases for socket semantics as defined in RFCs 28, 29, 30, 31.
See: tests/test_spec_*.cpp.

* New socket option, ZMQ_PROBE_ROUTER triggers an empty message on connect.
See: tests/test_probe_router.cpp.
* New socket option, ZMQ_REQ_CORRELATE allows for correlation of replies

* New socket option, ZMQ_REQ_CORRELATE allows for correlation of replies
from a REP socket. See: tests/test_req_correlate.cpp.
* New socket option, ZMQ_REQ_RELAXED, lets you disable the state machine
on a REQ socket, so you can send multiple requests without waiting for
replies, and without getting an EFSM error. See:

* New socket option, ZMQ_REQ_RELAXED, lets you disable the state machine
on a REQ socket, so you can send multiple requests without waiting for
replies, and without getting an EFSM error. See:
tests/test_req_relaxed.cpp.
* New socket option, ZMQ_CONFLATE restricts the outgoing and incoming

* New socket option, ZMQ_CONFLATE restricts the outgoing and incoming
socket buffers to a single message. See: tests/test_conflate.cpp.

Deprecated Options
------------------

* ZMQ_IPV4ONLY deprecated and renamed to ZMQ_IPV6 so that options are
consistently "off" by default.
consistently "off" by default.

* ZMQ_DELAY_ATTACH_ON_CONNECT deprecated, and renamed to ZMQ_IMMEDIATE.
See: tests/test_immediate.cpp.

Security Framework
------------------

Based on new ZMTP wire level protocol that negotiates a security
Based on new ZMTP wire level protocol that negotiates a security
"mechanism" between client and server before exchanging any other data.

Security mechanisms are extensible. ZMTP defines three by default:

* NULL - classic ZeroMQ, with no authentication. See
* NULL - classic ZeroMQ, with no authentication. See
http://rfc.zeromq.org/spec:23.

* PLAIN - plain-text username + password authentication. See
http://rfc.zeromq.org/spec:24.

* CURVE - secure authentication and encryption based on elliptic curve
cryptography, using the Curve25519 algorithm from Daniel Bernstein and
based on CurveCP's security handshake. See http://rfc.zeromq.org/spec:25,
* CURVE - secure authentication and encryption based on elliptic curve
cryptography, using the Curve25519 algorithm from Daniel Bernstein and
based on CurveCP's security handshake. See http://rfc.zeromq.org/spec:25,
http://rfc.zeromq.org/spec:26, and http://curvecp.org.

Authentication is done by pluggable "authenticators" that connect to libzmq
over an inproc endpoint, see http://rfc.zeromq.org/spec:27.

Socket options to configure PLAIN security on client or server:

* ZMQ_PLAIN_SERVER, ZMQ_PLAIN_USERNAME, ZMQ_PLAIN_PASSWORD. See
* ZMQ_PLAIN_SERVER, ZMQ_PLAIN_USERNAME, ZMQ_PLAIN_PASSWORD. See
tests/test_security_plain.

Socket options to configure CURVE security on client or server:

* ZMQ_CURVE_SERVER, ZMQ_CURVE_PUBLICKEY, ZMQ_CURVE_SECRETKEY,
* ZMQ_CURVE_SERVER, ZMQ_CURVE_PUBLICKEY, ZMQ_CURVE_SECRETKEY,
ZMQ_CURVE_SERVERKEY. See tests/test_security_curve.cpp.

Socket options to configure "domain" for ZAP handler:

* ZMQ_ZAP_DOMAIN, see tests/test_security_null.cpp.

Support for encoding/decoding CURVE binary keys to ASCII:
Expand Down

0 comments on commit ba8f58e

Please sign in to comment.