After a very long time indeed (over 2 years!), we are happy to announce v1.6.0 of NNG!
This document has the following sections:
-
Notable Changes
-
End of Feature Announcements
Numerous critical bugs were fixed; some of these led to seg faults, crashes, and memory leaks. See bugs #1523, #1713, #1702, #1657, #1347, #1518, #1526, #1541, #1638, #1543, #1657, #1658
Significant performance optimizations have been made, especially to the BUS protocol, the
nng_sendmsg()
and nng_recvmsg()
functions, when connecting and disconnecting lots of pipes,
and when using very different expiration times with vast numbers of requests.
New APIs were added for nng_aio_busy()
, nng_ctx_sendmsg()
, nng_ctx_recvmsg()
, nng_device_aio()
.
A CMake tunable for limiting the number of threads use for request expiration is provided
via the NNG_MAX_EXPIRE_THREADS
option.
Additionally various fixes for compilation problems, documentation errata, test case, and so forth have been applied.
NNG no longer officially claims support for Windows Vista, Windows 7, Windows 8, or Windows 8.1. We have no ability to build or test these versions, and Microsoft no longer supports them. Continued use of these systems may be possible, but future changes may break compatibity with these systems wihout further notice.
A future release of NNG may make the ipc:// URL format operate over UNIX domain sockets by default. We plan to do this for the other projects we control, such as mangos, as well.
Should this occur, it will be breaking for Windows versions older than Windows 10 17063.
NNG no longer officially supports macOS versions older than 10.12. Future versions of NNG may depend on features not available on versions of macOS older than 10.12.
A future release of NNG may restructure the documentation to make it more approachable for more users. This would break the organization as UNIX manual pages, and would also drop the ability to format them as UNIX nroff source. The best way to view this documentation is on the NNG website, or with the PDF or printed manual.
A future release of NNG may break compatibility for applications built using earlier versions of NNG when using the ZeroTier transport. ZeroTier support is an experimental feature.
A future release of NNG may remove Pair 1 Polyamorous support, but only if a suitable replacement is provided. Pair1 Polyamorous mode is an experimental feature.
Alternatively we may change the Pair1 wire protocol in a way that breaks compatibility with earlier versions of Pair1 Polyamorous mode.