0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-15 10:18:01 +08:00

Updated NEWS for 4.1.2

This commit is contained in:
Pieter Hintjens 2015-06-15 11:39:27 +02:00
parent d62bf33503
commit 58d8206c05

84
NEWS
View File

@ -1,3 +1,17 @@
0MQ version 4.1.2 stable, released on 2015/06/15
================================================
* Added explicit reference to static link exception in every source file.
* Bumped ABI version to 5:0:0 since 4.1.x changed the ABI.
* Fixed STDINT event interface macros to work with CZMQ 3.0.
* Fixed installation of man pages when BUILD_DOC is not set.
* Fixed #1428 - regression on single-socket proxies.
0MQ version 4.1.1 stable, released on 2015/06/02 0MQ version 4.1.1 stable, released on 2015/06/02
================================================ ================================================
@ -176,38 +190,38 @@ Major changes
* New wire level protocol, ZMTP/3.0, see http://rfc.zeromq.org/spec:23. * 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. 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. 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. tests/test_stream.cpp.
Improvements Improvements
------------ ------------
* You can now connect to an inproc:// endpoint that does not already * 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 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. 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. connect a 'wrong' socket type will fail.
* New zmq_ctx_shutdown API method will shutdown a context and send ETERM * 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 to blocking calls, without blocking. Use zmq_ctx_term to finalise the
process. process.
* The regression test suite has been significantly extended and improved. * 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. tests/test_fork.cpp.
* zmq_disconnect now respects the linger setting on sockets. * zmq_disconnect now respects the linger setting on sockets.
* New zmq_send_const API method to send constant data (without copying). * New zmq_send_const API method to send constant data (without copying).
See: tests/test_inproc_connect.cpp. See: tests/test_inproc_connect.cpp.
* Added CMake support for static libraries. * Added CMake support for static libraries.
* Added test cases for socket semantics as defined in RFCs 28, 29, 30, 31. * Added test cases for socket semantics as defined in RFCs 28, 29, 30, 31.
@ -215,23 +229,23 @@ Improvements
* New socket option, ZMQ_PROBE_ROUTER triggers an empty message on connect. * New socket option, ZMQ_PROBE_ROUTER triggers an empty message on connect.
See: tests/test_probe_router.cpp. 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. from a REP socket. See: tests/test_req_correlate.cpp.
* New socket option, ZMQ_REQ_RELAXED, lets you disable the state machine * 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 on a REQ socket, so you can send multiple requests without waiting for
replies, and without getting an EFSM error. See: replies, and without getting an EFSM error. See:
tests/test_req_relaxed.cpp. 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. socket buffers to a single message. See: tests/test_conflate.cpp.
Deprecated Options Deprecated Options
------------------ ------------------
* ZMQ_IPV4ONLY deprecated and renamed to ZMQ_IPV6 so that options are * 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. * ZMQ_DELAY_ATTACH_ON_CONNECT deprecated, and renamed to ZMQ_IMMEDIATE.
See: tests/test_immediate.cpp. See: tests/test_immediate.cpp.
@ -239,37 +253,37 @@ Deprecated Options
Security Framework 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. "mechanism" between client and server before exchanging any other data.
Security mechanisms are extensible. ZMTP defines three by default: 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. http://rfc.zeromq.org/spec:23.
* PLAIN - plain-text username + password authentication. See * PLAIN - plain-text username + password authentication. See
http://rfc.zeromq.org/spec:24. http://rfc.zeromq.org/spec:24.
* CURVE - secure authentication and encryption based on elliptic curve * CURVE - secure authentication and encryption based on elliptic curve
cryptography, using the Curve25519 algorithm from Daniel Bernstein and cryptography, using the Curve25519 algorithm from Daniel Bernstein and
based on CurveCP's security handshake. See http://rfc.zeromq.org/spec:25, based on CurveCP's security handshake. See http://rfc.zeromq.org/spec:25,
http://rfc.zeromq.org/spec:26, and http://curvecp.org. http://rfc.zeromq.org/spec:26, and http://curvecp.org.
Authentication is done by pluggable "authenticators" that connect to libzmq Authentication is done by pluggable "authenticators" that connect to libzmq
over an inproc endpoint, see http://rfc.zeromq.org/spec:27. over an inproc endpoint, see http://rfc.zeromq.org/spec:27.
Socket options to configure PLAIN security on client or server: 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. tests/test_security_plain.
Socket options to configure CURVE security on client or server: 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. ZMQ_CURVE_SERVERKEY. See tests/test_security_curve.cpp.
Socket options to configure "domain" for ZAP handler: Socket options to configure "domain" for ZAP handler:
* ZMQ_ZAP_DOMAIN, see tests/test_security_null.cpp. * ZMQ_ZAP_DOMAIN, see tests/test_security_null.cpp.
Support for encoding/decoding CURVE binary keys to ASCII: Support for encoding/decoding CURVE binary keys to ASCII: