package zmq
OCaml bindings for ZeroMQ 4.x
Install
dune-project
Dependency
Authors
Maintainers
Sources
zmq-6.0.0.tbz
sha256=bee1f735172a0d62f9a17901389d3300f0d756df9d0267ecda30242e190da4e2
sha512=ae6cfa7a7071d3cdd52620ca70436b26ad8ea670a175598beab72fcb4860c48f0cd204bf10e22ab8bdcf368a4d32a1e92edf81559fd91fb1afbeac3eb27afbbe
doc/CHANGES.html
6.0.0: 2026-09-27
- Fix Eio multipart sending:
send_allandsend_msg_allnow pass their messages correctly and use the sender queue. Add multipart send/receive coverage (#132, @ComanderP). Handle EINTR without leaving sockets in an inconsistent multipart state:
- ZMQ operations automatically retry on EINTR, except context termination, polling, and proxying, which remain interruptible.
- Async and Lwt multipart operations can resume after EAGAIN, and their event loop handles EAGAIN while reading socket events.
- Add EINTR regression tests for the core, Async, Lwt, and Eio packages. Thanks to @rand00 for reporting and working on the multipart problems.
- Allow other OCaml threads to run while
Context.terminatewaits for all sockets to close. - Keep the Async bindings compatible with Async v0.15 while suppressing the deprecation warning for
Async_kernel.Ivar.fill.
5.3.0
- Add eio binding in zmq-eio (#126, @andersfugmann)
5.2.2
- Fix race in monitor test (#129, @andersfugmann)
5.2.1
- Forward compatibility with Lwt 6.0 (#122, @andersfugmann)
- Fix wrong fd type for zmq-async, effecting s390x (#123, @andersfugmann)
5.2.0
- Remove dependency on StdInt (#121, @andersfugmann)
- Silence warnings about
const char*when writing to the inside of an allocated string value (#116, @Leonidas-from-XIV)
5.1.5
- fix bug in
STREAMsockets (#114, @c-cube)
5.1.4
- Add poll helpers:
mask_in,mask_out,mask_in_out - Fix build with OCaml 4.13 (#108, #110, @Leonidas-from-XIV)
- Fix
Xpubtypo (#107, @roddyyaga)
5.1.3
- Support building with dune 1.x and 2.x (#104)
- Bring back support for OCaml 4.03 for
zmqandzmq-lwt(#101, #102)
5.1.2
- Use unix sockets in tests to avoid permission problems when running in a sandbox environment.
- Make monitor test more reliable by explictly waiting for each event to arrive.
5.1.1
- Fix
EINVALwhen attempting to get the curve encryption keys (#85, #86, #91) - Do not depend on
configuratoranymore (#96) - Depend on v0.11 versions of Jane Street packages to not fail on
makedevissue. This requires us to drop support for OCaml 4.03 (#93)
5.1.0
- Implement
Msg.gets(#87, #90) - Improve support for OCaml 4.08+ (#83, #89)
- Properly allocate right size of caml block (#88)
- Update build config to use new dune syntax
- Remove configurator in favor of dune.configurator. This removes the build time dependency on the configurator and base packages.
5.0.0
- Change build system to use jbuilder instead of oasis. This also adds proper support for pkg-config installed zmq.
- Import zmq-async and zmq-lwt. The old bindings async-zmq and lwt-zmq are now deprecated.
- Refactor zmq-async and zmq-lwt to be supported out of a single code base. This regularizes the interface, and dramatically improves and stability.
- Add support for and reading & writing bigarrays. This interfaces allows the user to reduce needless copying of packets sent by the bindings.
- Rename module ZMQ to Zmq.
4.0-8
- Add threading example by Stavros Polymenis
- Minor addition to API documentation
- Remove OCaml version requirement in opam package (strictly not part of this release, but still)
4.0-7
- Fixes compilation errors when compiling with 4.03 (and 4.04)
- Fixes a generic problem with deallocating resources though finalisers. As a result no resources are automatically released though finalisers. However a warning will be printed to stdout if resources are leaked
- Include oasis autogenerated files, removing the dependency on oasis when installing
4.0-5
- The build system now also looks for ZMQ headers and libraries in
/usr/local
4.0-4
- Compatibility with ZeroMQ 4.1
4.0-3
- Fixed error when GC collecting contexts freed by
ZMQ.Context.terminate - Fixed overflow bug in
get_bytes_option
3.2-2
- Remove
get_identity/set_identitysocket-type restrictions