Changelog
Go Version
- 1.17.10: Both release executables and Docker images are built with this Go release.
Added
- JetStream:
- Consumer configuration has now
MaxRequestMaxBytes
as aint
to limit a pull request to that many bytes (#3126) - Allow explicit consumer configuration of replica count and memory storage (#3128, #3131). Note: This feature is not compatible or tested in conjunction with modifying the associated stream's replication factor once created (2.7.3+).
- EXPERIMENTAL FEATURE: Stream configuration has now
RePublish
which is aSubjectMapping
with aSource
andDestination
. This enables lightweight distribution of messages to very large number of NATS subscribers (#3129, #3138)
- Consumer configuration has now
- MQTT:
- New configuration parameters
stream_replicas
,consumer_replicas
andconsumer_memory_storage
, which allow the override of the replica count for MQTT streams (which are normally auto-determined base on the cluster size, but capped at 3) and also override the consumer replica count and possibly underlying storage (based on feature added in #3128). Thanks to @ianzhang1988 for the feedback (#3130)
- New configuration parameters
Improved
- JetStream:
- Monitoring:
- A route information in
/routez
will now includestart
,last_activity
,uptime
andidle
fields (#3133)
- A route information in
Fixed
- JetStream:
- Panic due to non loaded message cache during a file compaction (#3110)
- Downstream sourced retention policy streams during server restart have redelivered messages (#3109, #3122)
- Possible lockup due to a missing mutex unlock in some conditions (#3115)
- Panic when processing a consumer create in clustered mode. This was introduced in v2.8.2 (#3117)
- Some data races (#3120, #3134)
- Panic
runtime error: makeslice: cap out of range
on server restart. Thanks to @ajlane for the report (#3121) - A purge with a given subject and a sequence of 1 for a stream with a single message would not work (#3121)
- Some JS API requests handled through routes or gateways may be dropped when there were too many of them at once (#3142)
- Consumer with "deliver new" delivery mode could skip messages in some conditions after a consumer step down or server(s) restart (#3143)
- MQTT:
- Errors deleting consumers will now prevent deletion of the session record, which would otherwise leave orphan consumers. Thanks to @ianzhang1988 for the report (#3144)
- Accounts Export/Import isolation with overlap subjects. Thanks to @JH7 for the report (#3112)