ChangeLog.md (nsq-1.2.0) | : | ChangeLog.md (nsq-1.2.1) | ||
---|---|---|---|---|
# NSQ Changelog | # NSQ Changelog | |||
## Releases | ## Releases | |||
### 1.2.1 - 2021-08-15 | ||||
**Upgrading** | ||||
* #1227 - bump dependencies, officially drop `dep` support, drop Go `1.9` suppo | ||||
rt | ||||
Features: | ||||
* #1347 - `nsqadmin`: switch to go:embed for static assets | ||||
* #1355 / #1364 - arm64 builds (thanks @danbf) | ||||
* #1346 - `nsqd`: ability to skip ephemeral topics/channels in statsd output | ||||
* #1336 / #1341 / #1343 - `nsqd`: ability to configure auth endpoint path (than | ||||
ks @tufanbarisyildirim) | ||||
* #1307 - remove `Context` to use stdlib `context` | ||||
* #1295 / #1296 - switch to GitHub Actions CI | ||||
* #1292 - `nsqd`: minimize allocations on message send (thanks @imxyb) | ||||
* #1289 - optimize `uniq` (thanks @donutloop) | ||||
* #1230 / #1232 - `nsqd`: ability to omit memory stats from `/stats` (thanks @c | ||||
reker) | ||||
* #1226 - `nsqd`: only update internal `RDY` count for client when it changes ( | ||||
thanks @andyxning) | ||||
* #1221 / #1363 - test against more recent versions of Go | ||||
* #1209 - `nsqd`: bump `go-diskqueue` (interface change) (thanks @bitpeng) | ||||
* #1206 - prefer idiomatic `sort.Ints` over `sort.Sort` (thanks @lelenanam) | ||||
* #1197 / #1362 - Dockerfile: update Alpine base image, use /data by default | ||||
* #1178 - `nsqd`: configurable queue scan worker pool (thanks @andyxning) | ||||
* #1159 - `nsqd`: don't buffer messages when `--mem-queue-size=0` (thanks @bitp | ||||
eng) | ||||
* #1073 / #1297 - `nsqd`: support separate broadcast ports for TCP and HTTP (th | ||||
anks @shyam-king) | ||||
Bugs: | ||||
* #1347 - `nsqadmin`: fix graphite key for ephemeral topics/channels | ||||
* #765 / #1195 / #1203 / #1205 - fix build on illumos (thanks @i-sevostyanov) | ||||
* #1333 - fix race detector tests on non-bash shells | ||||
* #1330 - fix `log_level` support in configuration file (thanks @edoger) | ||||
* #1319 / #1331 / #1361 - `nsqd`: handle SIGTERM | ||||
* #1287 - `nsqadmin`: fix `--proxy-graphite` support (thanks @fanlix) | ||||
* #1270 / #1271 - `nsqlookupd`: fix incorrect error message for HTTP listener ( | ||||
thanks @TangDH03) | ||||
* #1264 - fix benchmark script | ||||
* #1251 / #1314 / #1327 - `nsqd`: fix live lock for high churn ephemeral topic/ | ||||
channel reconnections (thanks @slayercat) | ||||
* #1237 - Dockerfile: add `nsswitch.conf` to ensure go resolver uses `/etc/host | ||||
s` first | ||||
* #1217 / #1220 - `nsqd`: improve error message when `--data-path` does not exi | ||||
st (thanks @mdh67899) | ||||
* #1198 / #1190 / #1262 - synchronize close of all connections on Exit (thanks | ||||
@benjsto) | ||||
* #1188 / #1189 - `nsqadmin`: fix channel delete, fix source-maps in Firefox (t | ||||
hanks @avtrifanov) | ||||
* #1186 - `nsqadmin`: fix nodes list with ipv6 addresses (thanks @andyxning) | ||||
### 1.2.0 - 2019-08-26 | ### 1.2.0 - 2019-08-26 | |||
**Upgrading** | **Upgrading** | |||
* #1055 - `nsqd`: removed support for old metadata scheme used in v0.3.8 and ea rlier | * #1055 - `nsqd`: removed support for old metadata scheme used in v0.3.8 and ea rlier | |||
* you cannot upgrade directly from v0.3.8 to v1.2.0, you must go through v1.0 .0-compat or v1.1.0 | * you cannot upgrade directly from v0.3.8 to v1.2.0, you must go through v1.0 .0-compat or v1.1.0 | |||
* #1115 - manage dependencies with go modules | * #1115 - manage dependencies with go modules | |||
* `dep` support still present for now, but deprecated | * `dep` support still present for now, but deprecated | |||
Features: | Features: | |||
skipping to change at line 355 | skipping to change at line 398 | |||
NOTE: the bundled utilities are built against [`go-nsq` `v1.0.4`][go-nsq_104] an d include all of | NOTE: the bundled utilities are built against [`go-nsq` `v1.0.4`][go-nsq_104] an d include all of | |||
those features/fixes. | those features/fixes. | |||
[go-nsq_104]: https://github.com/nsqio/go-nsq/releases/tag/v1.0.4 | [go-nsq_104]: https://github.com/nsqio/go-nsq/releases/tag/v1.0.4 | |||
### 0.3.2 - 2015-02-08 | ### 0.3.2 - 2015-02-08 | |||
**Upgrading from 0.3.1**: Binaries contain no backwards incompatible changes how ever as of this | **Upgrading from 0.3.1**: Binaries contain no backwards incompatible changes how ever as of this | |||
release we've updated our official Docker images. | release we've updated our official Docker images. | |||
We now provide a single Docker image [`nsqio/nsq`](https://registry.hub.docker.c om/u/nsqio/nsq/) | We now provide a single Docker image [`nsqio/nsq`](https://registry.hub.docker.c om/r/nsqio/nsq/) | |||
that includes *all* of the NSQ binaries. We did this for several reasons, primar ily because the | that includes *all* of the NSQ binaries. We did this for several reasons, primar ily because the | |||
tagged versions in the previous incarnation were broken (and did not actually pi n to a version!). | tagged versions in the previous incarnation were broken (and did not actually pi n to a version!). | |||
The new image is an order of magnitude smaller, weighing in around 70mb. | The new image is an order of magnitude smaller, weighing in around 70mb. | |||
In addition, the impetus for this quick release is to address a slew of reconnec t related bug fixes | In addition, the impetus for this quick release is to address a slew of reconnec t related bug fixes | |||
in the utility apps (`nsq_to_nsq`, `nsq_to_file`, etc.), for details see the [`g o-nsq` `v1.0.3` | in the utility apps (`nsq_to_nsq`, `nsq_to_file`, etc.), for details see the [`g o-nsq` `v1.0.3` | |||
release notes](https://github.com/nsqio/go-nsq/releases/tag/v1.0.3). | release notes](https://github.com/nsqio/go-nsq/releases/tag/v1.0.3). | |||
Features: | Features: | |||
skipping to change at line 513 | skipping to change at line 556 | |||
**Upgrading from 0.2.28**: No backwards incompatible changes. | **Upgrading from 0.2.28**: No backwards incompatible changes. | |||
This release includes a slew of new features and bug fixes, with contributions f rom 8 | This release includes a slew of new features and bug fixes, with contributions f rom 8 | |||
members of the community, thanks! | members of the community, thanks! | |||
The most important new feature is authentication (the `AUTH` command for `nsqd`) , added in #356. | The most important new feature is authentication (the `AUTH` command for `nsqd`) , added in #356. | |||
When `nsqd` is configured with an `--auth-http-address` it will require clients to send the `AUTH` | When `nsqd` is configured with an `--auth-http-address` it will require clients to send the `AUTH` | |||
command. The `AUTH` command body is opaque to `nsqd`, it simply passes it along to the configured | command. The `AUTH` command body is opaque to `nsqd`, it simply passes it along to the configured | |||
auth daemon which responds with well formed JSON, indicating which topics/channe ls and properties | auth daemon which responds with well formed JSON, indicating which topics/channe ls and properties | |||
on those entities are accessible to that client (rejecting the client if it acce sses anything | on those entities are accessible to that client (rejecting the client if it acce sses anything | |||
prohibited). For more details, see [the spec](http://nsq.io/clients/tcp_protocol | prohibited). For more details, see [the spec](https://nsq.io/clients/tcp_protoco | |||
_spec.html) or [the | l_spec.html) or [the | |||
`nsqd` guide](http://nsq.io/components/nsqd.html#auth). | `nsqd` guide](https://nsq.io/components/nsqd.html#auth). | |||
Additionally, we've improved performance in a few areas. First, we refactored in -flight handling in | Additionally, we've improved performance in a few areas. First, we refactored in -flight handling in | |||
`nsqd` to reduce garbage creation and improve baseline performance 6%. End-to-en d processing | `nsqd` to reduce garbage creation and improve baseline performance 6%. End-to-en d processing | |||
latency calculations are also significantly faster, thanks to improvements in th e | latency calculations are also significantly faster, thanks to improvements in th e | |||
[`perks`](https://github.com/bmizerany/perks/pulls/7) package. | [`perks`](https://github.com/bmizerany/perks/pulls/7) package. | |||
HTTP response formats have been improved (removing the redundant response wrappe r) and cleaning up | HTTP response formats have been improved (removing the redundant response wrappe r) and cleaning up | |||
some of the endpoint namespaces. This change is backwards compatible. Clients wi shing to move | some of the endpoint namespaces. This change is backwards compatible. Clients wi shing to move | |||
towards the new response format can either use the new endpoint names or send th e following header: | towards the new response format can either use the new endpoint names or send th e following header: | |||
skipping to change at line 679 | skipping to change at line 722 | |||
**Upgrading from 0.2.23**: No backwards incompatible changes. However, as you'll see below, quite a | **Upgrading from 0.2.23**: No backwards incompatible changes. However, as you'll see below, quite a | |||
few command line flags to the utility apps (`nsq_to_http`, `nsq_to_file`, `nsq_t o_http`) were | few command line flags to the utility apps (`nsq_to_http`, `nsq_to_file`, `nsq_t o_http`) were | |||
deprecated and will be removed in the next release. Please use this release to t ransition over to | deprecated and will be removed in the next release. Please use this release to t ransition over to | |||
the new ones. | the new ones. | |||
NOTE: we are now publishing additional binaries built against go1.2 | NOTE: we are now publishing additional binaries built against go1.2 | |||
The most prominent addition is the tracking of end-to-end message processing per centiles. This | The most prominent addition is the tracking of end-to-end message processing per centiles. This | |||
measures the amount of time it's taking from `PUB` to `FIN` per topic/channel. T he percentiles are | measures the amount of time it's taking from `PUB` to `FIN` per topic/channel. T he percentiles are | |||
configurable and, because there is *some* overhead in collecting this data, it c an be turned off | configurable and, because there is *some* overhead in collecting this data, it c an be turned off | |||
entirely. Please see [the section in the docs](http://nsq.io/components/nsqd.htm l) for | entirely. Please see [the section in the docs](https://nsq.io/components/nsqd.ht ml) for | |||
implementation details. | implementation details. | |||
Additionally, the utility apps received comprehensive support for all configurab le reader options | Additionally, the utility apps received comprehensive support for all configurab le reader options | |||
(including compression, which was previously missing). This necessitated a bit o f command line flag | (including compression, which was previously missing). This necessitated a bit o f command line flag | |||
cleanup, as follows: | cleanup, as follows: | |||
#### nsq_to_file | #### nsq_to_file | |||
* deprecated `--gzip-compression` in favor of `--gzip-level` | * deprecated `--gzip-compression` in favor of `--gzip-level` | |||
* deprecated `--verbose` in favor of `--reader-opt=verbose` | * deprecated `--verbose` in favor of `--reader-opt=verbose` | |||
End of changes. 4 change blocks. | ||||
5 lines changed or deleted | 60 lines changed or added |