Skip to content

v2.0.0-alpha.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@gdamore gdamore released this 22 Dec 18:08
· 168 commits to main since this release
9ac2c5a

Summary

This is the first "alpha" release of 2.0.0. Note that this is very much a work in progress, and stability is not guaranteed.
There will be more breaking changes coming. But to help with early adoption and testing, this is posted.

Reminder: If you want stability or need to use in production, please consider the "stable" branch instead.

The main changes here involve these major areas:

  1. New UDP transport
  2. Performance enhancements - fewer allocations, fewer locks -- this is an ongoing effort
  3. Documentation changing to mdbook
  4. Removal of some legacy support and refactoring some others to be less error prone

This version is NOT compatible with NNG 1.x at an API level -- there are breaking changes so please see the migration guide https://github.com/nanomsg/nng/blob/main/docs/ref/migrate/nng1.md.

Known Issues

  1. The docs are a work in progress ... its only about halfway through the mdbook conversion so far
  2. The optional ZeroTier transport is utterly broken (it likely won't even compile) - plan is to remove it, possibly rewriting it entirely later
  3. During tests, it is possible for an occasional object to get leaked (TCP test sometimes leaks a connection object) -- there are races during finalization... note that this is not a "recurring" leak, so its pretty benign.
  4. If you call nng_fini to quickly after setting things up, websocket/http may crash with use after free. The workaround right now is to wait a few dozen msec before calling nng_fini (or don't call it at all for a regular application!). This will be fixed by better use of reference counting in the near future.

What's Changed

New Contributors

Full Changelog: v1.9.0...v2.0.0-alpha.1