All Versions
Latest Version
Avg Release Cycle
63 days
Latest Release
1079 days ago

Changelog History
Page 1

  • v3.1.3

    October 09, 2020
  • v3.1.2 Changes

    October 05, 2020

    ๐Ÿ”– Version 3.1.1 introduced a serious compilation bug, this fixes it.

  • v3.1.1 Changes

    October 05, 2020

    ๐Ÿš€ This release simply makes the option symbols for some IPC options available universally at compile time. Using these options where not supported (e.g. trying to set UNIX style ownership on a Windows named pipe) still fails, but this allows portable code to be written that can cope with these differences at run time, hopefully reducing friction in their use.

    ๐Ÿš€ (This release is busted, DO NOT USE.)

  • v3.1.0 Changes

    October 05, 2020

    ๐Ÿš€ This minor release principally adds support for improved handling of credentials on UNIX systems.

    • ๐Ÿง On Linux and illumos/Solaris systems, it is possible to obtain IPC peer credentials and process ID from the pipe. See OptionPeerPID, OptionPeerUID, etc.
    • ๐Ÿ’… On all UNIX style systems, it is possible to set the socket permission and ownership using ipc.OptionIpcSocketPermissions, ipc.OptionSocketOwner, and ipc.OptionSocketGroup.
  • v3.0.2 Changes

    September 05, 2020

    ๐Ÿš€ This release addresses fixes for two edge cases in the REQ/REP protocol. Specifically #195 and #201.

  • v3.0.1 Changes

    March 24, 2020

    ๐Ÿ”– 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.

  • v3.0.0 Changes

    March 24, 2020

    ๐Ÿš€ 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 "" Note that this requires modules, or at least a module aware version of the go toolchain.

  • v2.0.9 Changes

    August 18, 2020

    ๐Ÿš€ This is a bug fix release, and includes three fixes that were backported from the v3 (master) branch.

    ๐Ÿ›  This brings v2 inline with v3.0.1, at least as far as bug fixes and core functionality is concerned.
    ๐ŸŽ (Test suites and the performance tests were not updated however.)

    ๐ŸŽ These all relate to improvements in the stability and performance of the REQ protocol.

  • v2.0.8 Changes

    January 15, 2020

    ๐Ÿš€ 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.

  • v2.0.7 Changes

    December 20, 2019

    ๐Ÿš€ 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 ( 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.