nsq v0.3.6 Release Notes

Release Date: 2015-09-25 // over 4 years ago
  • Upgrading from 0.3.5 : Binaries contain no backwards incompatible changes.

    We've adopted the Contributor Covenant 1.2 Code of Conduct (#593). Help us keep NSQ open and inclusive by reading and following this document.

    We closed a few longstanding issues related to nsqadmin, namely (#323, et al.) converting it to an API and single-page app (so that it is much easier to develop), displaying fine-grained errors (#421, #657), and enabling support for --tls-required configurations (#396).

    🐎 For nsqd, we added support for deferred publishing aka DPUB (#293), which allows a producer to specify a duration of time to delay initial delivery of the message. We also addressed performance issues relating to large numbers of topics/channels (#577) by removing some per-channel goroutines in favor of a centralized, periodic, garbage collection approach.

    🚀 In order to provide more flexibility when deploying NSQ in dynamically orchestrated topologies, nsqd now supports the ability to configure nsqlookupd peers at runtime via HTTP (#601), eliminating the need to restart the daemon.

    As part of the large nsqadmin refactoring, we took the opportunity to cleanup the internals for all of the daemon's HTTP code paths (#601, #610, #612, #641) as well as improving the test suite so that it doesn't leave around temporary files (#553).

    🔋 Features:

    • #593 - add code of conduct
    • #323/#631/#632/#642/#421/#649/#650/#651/#652/#654 - nsqadmin: convert to API / single-page app
    • #653 - nsqadmin: expand notification context
    • #293 - nsqd: add deferred pub (DPUB)
    • 👷 #577 - nsqd: drop per-channel queue workers in favor of centralized queue GC
    • 🐎 #584 - nsqlookupd: improve registration DB performance (thanks @xiaost)
    • 🔧 #601 - nsqd: HTTP endpoints to dynamically configure nsqlookupd peers
    • 👍 #608 - nsqd: support for filtering /stats to topic/channel (thanks @chrusty)
    • 🌲 #601/#610/#612/#641 - improved HTTP internal routing / log HTTP requests
    • 🚤 #628 - nsqd: clarify help text for --e2e-processing-latency-percentile
    • #640 - switch --{consumer,producer}-opt to nsq.ConfigFlag

    🐛 Bugs:

    • ⚡️ #656 - nsqadmin: update statsd prefix to stats.counters
    • #421/#657 - nsqadmin: display upstream/partial errors
    • 👍 #396 - nsqdamin/nsqd: support for --tls-required
    • 🐳 #558 - don't overwrite docker root FS
    • #582 - nsqd: ignore benign EOF errors
    • #587 - nsqd: GUID error handling / catch errors if GUID goes backwards (thanks @mpe)
    • 👷 #586 - nsqd: fix valid range for --worker-id
    • #550/#602/#617/#618/#619/#620/#622 - nsqd: fix benchmarks (thanks @Dieterbe)
    • #553 - cleanup test dirs
    • #600 - nsqd: enforce diskqueue min/max message size (thanks @twmb)