Skip to content

0.3.6

Compare
Choose a tag to compare
@mreiferson mreiferson released this 25 Sep 14:28
· 697 commits to master since this release

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)