- Improved TypeScript compatibility by supplying version-specific types for situations where generated TypeScript typings are not backwards compatible. This reduces the minimum required TypeScript version to 3.0.
-
BREAKING: When inadvertedly executing two concurrent send() or receive() operations the errno attribute of the error thrown is now EBUSY instead of EAGAIN.
-
Error messages for EBUSY are more specific.
-
Compatibility mode will now provide an implementation for bindSync()/unbindSync() if the 'deasync' package is available.
-
Produce a warning when messages are still queued at process exit and context termination takes more than 500ms.
-
Bump version requirement to Node.js 10.2, but reduce N-API version to 3 to support more 10.x Node.js versions.
-
Check if properties are defined before defining them. This ensures compatibility with alternative file loaders, notably by the Jest test framework.
-
Performance of calling methods & validating arguments has been improved.
-
Header files from node-addon-api are now bundled to reduce runtime depedencies.
-
Break out of busy loops automatically when the number of synchronous I/O operations moves beyond a built-in threshold. This avoids the ZeroMQ background I/O process(es) starving the Node.js event loop when it can process messages faster than the application. This could have caused decreased responsiveness and/or high memory usage. This only happens when sending/receiving messages as quickly as possible, such as in a benchmark or in test code.
-
Fixed a memory leak in socket construction that would manifest itself when repeatedly creating many sockets.
-
Error details have been added to the "handshake:error:protocol" and "handshake:error:auth" events.
-
Reading from event observers now prevents the Node process from exiting, even if the underlying socket is no longer being used.
-
Reading or writing on unbound and unconnected sockets now prevents the Node process from exiting.
- Fix omission of "zeromq/v5-compat" export.
- BREAKING: Complete rewrite of ZeroMQ.js with a modern and safe API. This version is based on ZeroMQ-NG version v5.0.0-beta.27. A compatibility layer for existing users of versions 5.x or earlier of ZeroMQ.js is available as "zeromq/v5-compat".
-
See https://github.com/rolftimmermans/zeromq-ng/blob/master/CHANGELOG.md for the changelog of the next generation API before the merge back into ZeroMQ.js.
-
See https://github.com/zeromq/zeromq.js/blob/5.x/History.md for the changelog of the previous API before the merge of ZeroMQ-NG.