NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4040 most downloaded on crates.io
High-level bindings to the zeromq library
Last release 4 years ago
no release in 18 months
Ships unpredictably
gaps range from 8 days to 3.1 years
Some releases are documented
notes for 8 of 19 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
19 releases · first in 2014
This release mostly pushes rust-zmq to be on par with upstream zmq 4.3.4 that was released earlier this year, which the major feature there being adde
This release mostly pushes rust-zmq to be on par with upstream zmq 4.3.4 that was released earlier this year, which the major feature there being added websocket support.
We have also worked hard to remove the cmake dependency from this project, meaning that no additional developer setup instructions are needed for downstream users of this crate.
std::error::Error description method implementations by @rotty in #295ZMQ_CONFLATE option receiver-side by @rotty in #297zmq_unbind by @kalcutter in #300test_monitor_events test by @kalcutter in #313Context getters and setters for ZMQ_IO_THREADS by @kalcutter in #311zmq2 by @Jasper-Bekkers in #345metadeps with system-deps successor by @MarijnS95 in #340Full Changelog: v0.9.2...v0.10.0
One column per quarter.
…part of the API, so this is not considered a breaking change.
ZMQ_REQ_RELAXED and ZMQ_REQ_CORRELATE socket
options, implemented in #285.SocketType, Mechanism, and Error can not longer be cast to an
integer type and expected to get the corresponding libzmq C-level
value. The ability to cast to integers and get the C enum values was
never a documented part of the API, so this is not considered a
breaking change.
Unfortunately, the SocketEvent can not be future-proofed in this
way; the monitoring API needs breaking changes to gain a reasonable
level of type-safety.
Message::gets involving messages with
non-UTF8 property values has been fixed; see #288.The Message data type has gained a new constructor with_size, which replaces the now-deprecated, confusingly-named with_capacity constructor. Reported…
Added vendored feature which build libzmq from source via
zeromq-src, see the README for details; discussed in #257
and implemented in #267.
The installed libzmq C library is no longer feature-probed at
build time, and all the wrapped API is exposed. Using features
unsupported by the installed libzmq library will lead to run-time
errors, like they would in C.
This should enable cross-compiling without jumping through additional hoops.
Implemented in #276.
The Message data type now implements From<Box<[u8]>.
The Message data type has gained a new constructor with_size,
which replaces the now-deprecated, confusingly-named with_capacity
constructor. Reported in #215 and fixed in #272.
New functions proxy_steerable and proxy_steerable_with_capture,
which wrap the zmq_proxy_steerable C function. Implemented in
#242.
Message constructors with_capacity_unallocated,
with_capacity and from_slice methods are deprecated, the first
one without a planned alternative (#272).rustc 1.32.0 or newer. Compatibility back to 1.32.0 is now ensured
via CI.The deprecated Constants enum has been removed from the API.
Requires ZeroMQ 4.1+.
The deprecated Constants enum has been removed from the API.
Message allocation, e.g. Message::new() directly returns Message
instead of Result<Message> and will panic on allocation failure,
as is customary in Rust. Reported in #118 and fixed by #130.
Message now implements From for various types that have an
obvious byte-level representation. This is possible due to the
message allocation API change (see above).
Message::send() now works on Into<Message> types, obsoleting
send_msg() and send_str().
Added support for connection timeouts, heartbeats, and xpub welcome messages.
Message::send_msg() and send_str() are deprecated in favor of
Message::send().Support for the zmq_socket_monitor API.
zmq_socket_monitor API.PollItem::set_events, which allows for constructing a PollItem from
arbitrary file descriptors.zmq_has (issue #207).Support for the ZMQ_PROBE_ROUTER and ZMQ_ROUTER_MANDATORY socket options.
ZMQ_PROBE_ROUTER and ZMQ_ROUTER_MANDATORY socket
options.zmq_disconnect is now exposed as Socket::disconnect.EPROTO.EINTR in Error::from_raw (issue #174).zmq_msg_t FFI type fixed.build.rs to portably construct paths, instead of hard-coding
slash as path separator.This release fixes the remaining Windows-specific issues exposed by our test suite, as well as improving API convenience a bit.
This release fixes the remaining Windows-specific issues exposed by our test suite, as well as improving API convenience a bit.
Message now provides the Eq trait.From<Error> is now provided for std::io::Error (issue #136).PollEvents mapping to i16. Use that
instead of i16 to refer to a set of poll events; in 0.9,
PollEvents will become a separate type.PollItem now has methods is_readable, is_writable and
is_error; use those in preference to using bit masking operations
when applicable.mspoller.zmq with Unix
poll(2).There has been a minor API change that was deemed necessary for cross-platform support and to fix broken parts of the API:
RawFd type alias that maps to RawFd on
Unixoids and RawSocket on Windows. Socket::get_fd() and
PollItem::from_fd() now use that instead of i64 and c_int,
respectively.The deprecated close() method has been removed.
This is a feature and bugfix release. The API has changed, partially
in slightly incompatible ways. Typical code, for some suitable value
of "typical", should still compile when it did with 0.7, but expect a
lot of warnings due to reduced mutability requirements for Socket
and Context.
Note that this release adds initial support for the Windows platform (PR #124). While the code now compiles, the test suite is still broken under Windows (issue #125).
Since these release notes have been assembled post-hoc, they are highly likely to be incomplete.
The following methods of Socket changed:
close() method has been removed.to_raw() is now known as into_raw().borrow_raw() is known as as_mut_ptr(), and takes a &mut self
now.Note that the added CURVE and GSSAPI parts of the API are
conditional, depending on the compile-time detected capabilities of
libzmq.
Socket no longer require &mut self.Context now can be shared across threadsMechanism and
CurveKeyPair data types.z85_encode and z85_decode).ZMQ_LAST_ENDPOINTZMQ_IMMEDIATEZMQ_PROBE_ROUTER, ZMQ_ROUTER_MANDATORYZMQ_RCVTIMEO, ZMQ_SNDTIMEOGSSAPI) and encryption-related (aka
CURVE) options.fileio3, msreader, rtdealer, lvcache,
pathopub and pathosub.Constants will be removed from public API in the next release; it
should not be needed in client code, since corresponding functionality
is provided in a higher-level form.
Yes, there have been bugs that were fixed; hopefully for the next releases, a reasonably accurate list of those will be provided.
Some redundancy in error handling and socket option handling has been abstracted over using macros.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →