JeroMQ v0.4.3 Release Notes
Release Date: 2017-11-17 // over 6 years ago-
โ Added
#470: Added an argument to the ZBeacon constructor to configure datagram socket blocking behavior. The default behavior (non-blocking) is preserved when the argument is omitted.
#474, #475, #477, #479 Added features:
- ZAuth, an actor that manages authentication and handles ZAP requests.
- ZCert, an abstraction for CURVE certificates.
- ZCertStore, a sub-optimal store for certificates.
- ZConfig, to manage the ZPL file format.
- ZMonitor, for simplified socket monitoring.
- Reinstated support for the
ZMQ_MSG_ALLOCATOR
option. Added asetMsgAllocator
method in the ZMQ class for setting a custom message allocator.
#477: Added an overload of
ZAgent.recv
that takes a timeout argument.#498: Implemented
Closable
forZMQ.Poller
, providing a way to call.close()
on a poller when you're done with it and free the selector resource to avoid memory leaks.
It is recommended that you either close a poller or terminate the context when you are done polling.
๐ Changed
๐ Miscellaneous Javadoc documentation tweaks/fixes.
#453, #462, #471: Fixed Android-specific compilation issues.
๐ #454: Fixed an issue where the router was interpreting peers' socket identities as UTF-8 strings instead of raw bytes.
๐ #460: Fixed an issue where CURVE keys were being parsed as strings.
#461, #501: Fixed protocol handshake issues that were causing interoperability problems between applications using different versions of ZeroMQ/JeroMQ.
๐ #465 Various small fixes:
- Fixed an uncaught divide by zero exception (#447).
- ZMQ.Socket class is no longer final.
- Handle interrupt caused by close in ZBeacon.
#468: Fix an issue where sockets would disconnect when network connection was lost.
๐ #469 Various small fixes:
- Fixed an error in comparison of byte arrays in the Mechanism class.
- Handled the possibility of receiving a null message in ZSocket by returning null instead of throwing an uncaught NullPointerException.
- Fixed the return value of ZMQ.setHWM, which indicates the status of the lower-level calls to set the send and receive HWM, but was doing so incorrectly.
๐ #478: Fixed an issue where, when using an XPUB/XSUB proxy, the PUB socket was throwing an error when attempting to send a message if all of the subscriptions have been removed.
#479: Various internal improvements.
๐ #486: Fixed an issue where it was not possible to send two messages in a row without a successful receive in between, even with the RELAXED option set on the REQ socket.
#487 Various improvements:
- Added some method name aliases for compatibility with the jzmq API, in places where the JeroMQ method names differed.
- Miscellaneous internal refactoring to make JeroMQ code more similar to that of jzmq.
- It is not possible to get the values of the ZMQ options
ZMQ_REQ_CORRELATE
andZMQ_REQ_RELAXED
, sogetReqCorrelated
andgetReqRelaxed
are now deprecated and will throw an UnsupportedOperationException when called.
๐ #492: Fixed an issue where a NullPointerException was thrown when trying to bind on an already used port, for example when the socket has a monitor.
#502: Use explicit mutex locks to help prevent problems caused by concurrent access to a ZContext. This makes ZContext behave more like libzmq's zctx.