aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RELEASE_NOTES.adoc67
-rw-r--r--include/nng/nng.h2
2 files changed, 68 insertions, 1 deletions
diff --git a/RELEASE_NOTES.adoc b/RELEASE_NOTES.adoc
new file mode 100644
index 00000000..932907d4
--- /dev/null
+++ b/RELEASE_NOTES.adoc
@@ -0,0 +1,67 @@
+= NNG Release Notes
+
+== Release 1.3.0 (since 1.2.6)
+
+=== Features
+
+* Support for TLS 1.3 and external TLS providers.
+ There is now an API whereby external "`engines`" can be developed
+ for different TLS implementations. The first of these, for wolfSSL,
+ is available. Set this with the `NNG_TLS_ENGINE` cmake option.
+ The default is still to use Mbed TLS. The wolfSSL plugin is
+ available under a different license (GPLv3 or commercial), and also
+ provides support for TLS 1.3 and FIPS 140-2 capable solutions.
+
+* Message cloning and related performance improvements. This is not
+ a feature, so much as a rather large improvement in terms of performance.
+ All workloads will see some benefit -- some will see substantial benefits.
+
+* Numerous other performance improvements. Much effort was made to
+ reducing allocations, improving cache effectiveness, and eliminating
+ extra context switches. This work is not yet done, but this is a big
+ step in the right direction.
+
+* HTTP Server support for "non-exclusive" registration -- a given handler
+ may be registered as a fallback handler (e.g. for a directory), even if
+ more specific handlers are registered.
+
+* Performance test programs grew more options to select different
+ protocols and to change the URL to test across different transports.
+
+=== Notable Bug Fixes
+
+* Thread count is limited.
+ Previously we would spawn potentially vast numbers of threads based on the
+ number of available cores. By default we set an upper limit on this that
+ is about 20 threads. Tune this with the `NNG_MAX_TASKQ_WORKERS` cmake option.
+
+* Raw mode fixes for XREQ and XRESPONDENT. These protocols used the raw mode
+ inconsistently, leaving the header in the message body. This is corrected
+ and the protocol headers are kept in the message headers. There is some small
+ risk that some applications broken, but we are not aware of any that used
+ RAW mode to parse message headers.
+
+* HTTP Server root URL handling had a few issues which are resolved.
+
+* Some platforms had difficult building due to inconsistencies in the
+ handling of atomics.
+
+* Numerous test suites uncovered small (rare) races, etc. The tests
+ themselves were often racy. Fixes to both NNG and the tests have been
+ made, while increasing overall test coverage.
+
+* REP protocol with SENDFD was inconsistent (#1088).
+
+=== Other Changes
+
+* Polyamorous Pair v1 mode is changed, such that a new API call is needed
+ to use it. Further, this mode will likely be removed in a future release.
+ Note that this mode also does not work with other implementations, nor
+ does it support operation with `nng_device()`.
+
+* Maximum hop count across `nng_device()` proxies is now limited to 15.
+ This limit should be sufficient for all reasonable configurations,
+ and forcing this allowed us to to inline the header for performance
+ reasons.
+
+* The nng_msg_options support was removed. It was not used for anything.
diff --git a/include/nng/nng.h b/include/nng/nng.h
index 7cbc756d..c26cb5b7 100644
--- a/include/nng/nng.h
+++ b/include/nng/nng.h
@@ -53,7 +53,7 @@ extern "C" {
#define NNG_MAJOR_VERSION 1
#define NNG_MINOR_VERSION 3
#define NNG_PATCH_VERSION 0
-#define NNG_RELEASE_SUFFIX "dev" // if non-empty, this is a pre-release
+#define NNG_RELEASE_SUFFIX "" // if non-empty, this is a pre-release
// Maximum length of a socket address. This includes the terminating NUL.
// This limit is built into other implementations, so do not change it.