aboutsummaryrefslogtreecommitdiff
path: root/RELEASE_NOTES.adoc
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2020-02-29 20:58:35 -0800
committerGarrett D'Amore <garrett@damore.org>2020-02-29 20:58:35 -0800
commit168c5ee72c50b12ff87d659686d00f46059e699b (patch)
tree443f52670306eb8a8a6cef7506dae6a5424d0c11 /RELEASE_NOTES.adoc
parent0f9b46affd338a52ec8d361bf0cf337c4a0546ea (diff)
downloadnng-168c5ee72c50b12ff87d659686d00f46059e699b.tar.gz
nng-168c5ee72c50b12ff87d659686d00f46059e699b.tar.bz2
nng-168c5ee72c50b12ff87d659686d00f46059e699b.zip
1.3.0 release prep.
Diffstat (limited to 'RELEASE_NOTES.adoc')
-rw-r--r--RELEASE_NOTES.adoc67
1 files changed, 67 insertions, 0 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.