🚀 This release is a minor bug fix release, and includes some improvements to the CMake logic that should make incorporating nanomsg into larger projects easier.
🚀 This release is primarily a bug-fix release for Windows platforms, but it also adds support for building on Android.
🚀 The main change in this release is a fix for the IPC transport on Windows, which was subject to crashing if the remote peer breaks messages into smaller pieces. As some other SP implementations do this to avoid data copies, this fix is very important.
🏁 A fix for leaking handles on Windows is included.
👌 Support for compilation on Android using the NDK and the bundled cmake and toolchain file from Android is now present.
🚀 This is the last planned release for nanomsg. (New effort is focued on the NNG project -- see github.com/nanomsg/nng for details.)
The following changes are present:
- 👀 CMake exported target, easing inclusion in larger projects (see demos/CMakeLists.txt for an example)
- 🏁 Windows no longer uses a single fixed TCP port for eventfd (this should improve reliability)
- 🛠 Fix for an assertion failure in efd_unsignal
- The ABI version is separate from the library version now.
- 🛠 Fixed a crash when calling nn_term without first opening a socket.
- 🛠 Fix for building Windows tests on case-sensitive file systems.
- CI/CD improvements: switch to CircleCI, and use CodeCov for coverage analysis.
🚀 Please let us know if there are any significant problems with this release; thanks!
This is just a very minor compilation fix for version 1.1.1.
🔖 Version 1.1.1 did not compile on Linux, but this version will.
** THIS RELEASE HAS A COMPILE BUG ON LINUX. Use 1.1.2 INSTEAD **
🚀 This is a bug fix release for 1.1.0.
Two main issues are resolved:
nanomsg no longer wakes up every 100 msec even when no I/O is pending
Some users noticed that nanomsg was performing wakeups regardless of
whether I/O was available or not. This had a detrimental effect on power usage.
🏁 nanomsg no longer crashes when accept fails on Windows
In some circumstances an outstanding accept() operation that got aborted
(for example due to the socket closing) could wind up crashing the application.
This was a race, and it is closed now.
🏁 We also fixed a few compilation warnings on Windows.
🚀 This release is primarily a bug fix release for nanomsg, and rolls up a number of stability improvements, particularly for the inproc transport. A port to support Windows Subsystem for Linux is provided as well. There are no changes to the ABI.
🚀 This is the first release candidate of 1.1.0. This release is primarily a bug fix release for nanomsg, and rolls up a number of stability improvements, particularly for the inproc transport. A port to support Windows Subsystem for Linux is provided as well. There are no changes to the ABI.
🚀 This is the first production release of nanomsg. We consider that this version is stable and suitable for use in production by all nanomsg users.
🏗 This corrects (we hope) the problem of "Unknown" versions being reported when building out of source. It also corrects building on systems using MSys2, and adds a few demo programs to the source tree that developers may find useful.
🚀 This is the first release candidate for 1.0.0.
🚀 The changes in this release from earlier releases include:
- cmake is now mandatory (but a configure wrapper script is present to help)
- 🔀 nn_bind() performs the bind() and listen() synchronously (accept is async still) reporting errors back to the caller
- 🔧 a new socket option, NN_MAXTTL, is available to configure the maximum "hops" a message may go through before it is dropped (each device traversal is a hop). This is enforced for REP and RESPONDENT protocols, breaking loops.
- ⚡️ Because cmake doesn't do it automatically, Linux users may need to run ldconfig manually to update the ld.so cache.
The ABI is the same as v0.9 - 5.0.0.
🚀 At this point we are not expecting to make any code changes prior to the 1.0.0 production release. We are contemplating release of binary packages for Windows, MacOS X, and both RedHat and Debian on x86. We hope that this is the very last release of nanomsg before the production 1.0.0 release.