ext/zeromq/NEWS in rbczmq-1.7.1 vs ext/zeromq/NEWS in rbczmq-1.7.2

- old
+ new

@@ -1,5 +1,135 @@ +0MQ version 4.1.0, released on 2014/xx/xx +========================================= + + +0MQ version 4.0.0 (RC1), released on 2013/09/20 +=============================================== + +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, + 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: + 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: + tests/test_inproc_connect.cpp. + +* 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: + 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 + 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: + tests/test_req_relaxed.cpp. + +* 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. + +* 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 +"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 + 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, + 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 + 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_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: + +* zmq_z85_encode, zmq_z85_decode. + +Other issues addressed in this release +-------------------------------------- + +* LIBZMQ-525 Multipart upstreaming from XSUB to XPUB + + +0MQ version 3.2.4 stable, released on 2013/09/20 +================================================ + +* LIBZMQ-84 (Windows) Assertion failed: Address already in use at signaler.cpp:80 +* LIBZMQ-456 ZMQ_XPUB_VERBOSE does not propagate in a tree of XPUB/XSUB devices +* LIBZMQ-532 (Windows) critical section not released on error +* LIBZMQ-569 Detect OpenPGM 5.2 system library +* LIBZMQ-563 Subscribers sometimes stopped receiving messages (aka LIBZMQ-541) +* LIBZMQ-XXX Added support for Travis Continuous Integration +* LIBZMQ-XXX Several improvements to MSVC support + + 0MQ version 3.2.3 stable, released on 2013/05/02 ================================================ Issues addressed in this release -------------------------------- @@ -27,10 +157,9 @@ * LIBZMQ-448 Builds fail on older versions of GCC * LIBZMQ-449 Builds fail on AIX * LIBZMQ-450 lt-test_monitor: fails with assertion at test_monitor.cpp:81 * LIBZMQ-451 ZMQ_ROUTER_MANDATORY blocks forever * LIBZMQ-452 test_connect_delay.cpp:175:12: error: 'sleep' was not declared in this scope -* LIBZMQ-456 ZMQ_XPUB_VERBOSE does not propagate in a tree of XPUB/XSUB devices * LIBZMQ-458 lt-test_router_mandatory fails with assertion at test_router_mandatory.cpp:53 * LIBZMQ-459 Assertion failed: encoder (stream_engine.cpp:266 * LIBZMQ-464 PUB socket with HWM set leaks memory * LIBZMQ-465 PUB/SUB results in 80-90% of CPU load * LIBZMQ-468 ZMQ_XPUB_VERBOSE & unsubscribe