[zeromq-dev] ZeroMQ/4.0.0 rc1 is now available

AJ Lewis aj.lewis at quantum.com
Fri Sep 20 17:17:41 CEST 2013


I'm seeing this compiling on Red Hat 5 x86_64:

  CXX    libzmq_la-stream.lo
make[3]: *** No rule to make target `stream_engine.cpp', needed by
`libzmq_la-stream_engine.lo'.  Stop.
make[3]: Leaving directory
`/mypath/zeromq-4.0.0/src'
make[2]: *** [all] Error 2

On Fri, Sep 20, 2013 at 04:49:56PM +0200, Pieter Hintjens wrote:
> Hi all,
> 
> I'm happy to announce that ZMQ/4.0 is out the door, as a release candidate.
> 
> You'll find the packages at the usual place.
> 
> The changes are summarized here: http://zeromq.org/docs:changes-4-0-0.
> This release should be API and network compatible with 3.2 stable, and
> network compatible with 2.2 and 2.1 stable.
> 
> Thanks to everyone who helped on this!
> 
> -Pieter
> 
> 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
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

-- 
AJ Lewis
Software Engineer
Quantum Corporation

Work:    651 688-4346
email:   aj.lewis at quantum.com

----------------------------------------------------------------------
The information contained in this transmission may be confidential. Any disclosure, copying, or further distribution of confidential information is not permitted unless such privilege is explicitly granted in writing by Quantum. Quantum reserves the right to have electronic communications, including email and attachments, sent across its networks filtered through anti virus and spam software programs and retain such messages in order to comply with applicable data security and retention requirements. Quantum is not responsible for the proper and complete transmission of the substance of this communication or for any delay in its receipt.



More information about the zeromq-dev mailing list