🔖 Version 3.0.1 improves the performance of the REQ protocol, particularly when used with very large messages, by reducing data copies. It also contains a fix which could lead to a panic when REP peers disconnect while they are holding a request for service.
🚀 This release starts from the last version 2.0 release, but introduces a new import URL located on our own vanity server. If using this, import from "go.nanomsg.org/mangos/v3" Note that this requires modules, or at least a module aware version of the go toolchain.
🚀 This is version 2.0.8, principally a bug fix release. Yes, we said v2.0.7 was going to the be the last v2.0.x release. We lied (but we didn't mean to!)
🚀 This bug fix release addresses two bugs, but it includes a potential significant performance boost, particularly for PUB/SUB and SURVEYOR uses with many subscribers or respondents. (BUS and STAR also benefit.)
- 🛠 fixes #175 Use reference counting on messages to reduce copying
- 🛠 fixes #177 OptionSubscribe topic uses reference instead of copy
- 🛠 fixes #179 Panic in Message.Dup
📚 Some minor documentation fixups were included as well. If all goes according to plan, this will be the last v2.0.x release. (Famous last words...)
👯 Note that two new APIs were introduced for Message, the MakeUnique and Clone API. Callers are discouraged from using them in application code -- these are intended for use in protocol and transport implementations to reduce data copies. Incorrect use can lead to data corruption.
🚀 This release includes yet more testing, to cover every single line of code in the project (though occasionally due to differences in timing some difficult to reach corner cases will not be tested on every single test run.)
✅ As a result, we've made a number of additional fixes -- the pipe redialing in particular was fairly busted, and it should be rock solid now. As a result of this testing we are also injecting protocol errors, and so we have a high level of confidence in mangos being robust against a remote attacker.
🚀 macat grew some new flags (--count, --format) as well. Technically that probably should have warranted a minor release, but as that's not part of the API, we felt this safe. Also, macat now uses my new optopia (github.com/gdamore/optopia) library for parsing command line options.
🚀 This will be the last release of 2.0,x, as the next set of updates planned are targetted at making the library easier to use by adding a number of additional API features -- hence needing a minor 2.1 release.
⚡️ This update includes sweeping changes intended to fix numerous bugs in the transports and protocols. Literally thousands of lines of code have been introduced, nearly all of them test suites -- but as a result of adding these test suites we have found and squashed a horde of bugs.
Updating is highly recommended.
🔒 NOTE: This fix addresses a security problem in the websocket transport. If you use ws:// or wss:// then you are strongly encouraged to upgrade.
- 🔒 Require v1.4.1 of Gorilla WebSocket to address DoS security fix
- ♻️ Significant refactoring of close handling for pipes and sockets -- should reduce lock contention and improve readability.
- ✅ Work on expanded test coverage for protocols (start of work, will be ongoing)
🚀 This release principally fixes a regression introduced (well uncovered really) in the v2.0.3 release.
🔖 Version 2.0.3 has fixes for some common problems. No new functionality.
v2.0.2December 01, 2018
v2.0.1December 01, 2018