Releases: nats-io/nats.go
Releases · nats-io/nats.go
Release v1.43.0
Changelog
ADDED
- Core NATS:
- Add
nc.LocalAddr
, similar tonc.ConnectedAddr
(#1877)
- Add
FIXED
- Service API:
- Fix stopping service not unsubscribing from all endpoints. Thanks @arunsworld for the contribution (#1872)
- Remove
fmt.Println
fromService.Stop()
(#1880)
- Legacy KeyValue:
- Fix possible race setting timer in kv.WatchFiltered (#1879)
Complete Changes
Release v1.42.0
Changelog
Overview
This release adds per-key TTL functionality to key-value stores. It adds:
LimitMarkerTTL
config option to enable automatic tombstone deletion.KeyTTL
option tokv.Create()
PurgeTTL()
option tokv.Purge()
ADDED
- KeyValue:
- Added KeyValue per key TTL support and limit markers (#1864)
Complete Changes
Release v1.41.2
Release v1.41.1
Release v1.41.0
Changelog
Overview
This release adds consumer priority groups to JetStream, exposing overflow and pinning policies. For more information on consumer priority groups, see ADR-42.
Added
- JetStream:
Fixed
- KeyValue:
- Ensure timer is stopped when watcher is stopped (#1838)
- ObjectStore:
- Ensure object watcher stop closes the updates channel (#1844)
- Core NATS:
Changed
Improved
- Legacy JetStream:
- Cancel
Fetch
andFetchBatch
on reconnect (#1840)
- Cancel
- JetStream:
- Invalid default in documentation for
OrderedConsumerConfig.InactiveThreshold
(#1845)
- Invalid default in documentation for
- KeyValue:
- Stop the watcher before performing the purge operations for
PurgeDeletes
(#1839)
- Stop the watcher before performing the purge operations for
Complete Changes
Release v1.40.1
Changelog
Overview
This release fixes an issue in legacy JetStream Subscribe
which did not respect user-set context when creating a consumer.
FIXED
- Legacy JetStream:
- Set context from option when creating consumer in
js.Subscribe
(#1835)
- Set context from option when creating consumer in
Complete Changes
Release v1.40.0
Changelog
Overview
This release focuses on adding support for new features from NATS Server v2.11.0. This includes:
- Per message TTLs
- Consumer pause and resume
Batch direct get will be released in orbit. Support for consumer priority groups will be added in the next minor release.
Added
- JetStream:
- Service API
- Support for disabling queue groups at service, group, and endpoint levels (#1797)
- Core NATS:
ReconnectErrCB
for handling failed reconnect attempts in a callback. Thanks @sschleemilch for the contribution (#1804)
Fixed
- JetStream
- Invalid subscription on ordered consumer in leaderless cluster (#1808)
- Ordered consumer not restarting on no responders (#1827)
- Avoid ack id collision in PublishAsync (#1812)
- Possible panic in
Consumer.Fetch
(#1828) - Use
resp.Error
to show NATS error indeleteMsg
. Thanks @imariman for the contribution (#1822)
- KeyValue
- Deadlock when fetching keys from KV while messages are deleted/purged (#1824)
Changed
- Bump go version to 1.23 and update dependencies (#1821)
Complete Changes
Release v1.39.1
Changelog
Fixed
- KeyValue:
- Prevent
ListKeysFiltered
from returning deleted keys. Thanks @kruegernet for the contribution (#1803)
- Prevent
Improved
- Remove stale experimental comment in Service API (#1805)
Complete Changes
v1.39.0
Changelog
Overview
This release bumps the minimal go version in go.mod
to 1.22
.
Added
- JetStream:
- KeyValue:
- Added
ListKeysFiltered
for listing keys with multiple filters. Thanks @somratdutta for the contribution (#1711)
- Added
Fixed
- JetStream:
- Fixed invalid heartbeat timer for
Consumer.Messages()
(#1786)
- Fixed invalid heartbeat timer for
- ObjectStore:
- Fixed invalid error being returned from
DeleteObjectStore
(#1762)
- Fixed invalid error being returned from
- WebSockets:
- Fixed protocol parsing errors with websocket compression and PONGs. Thanks @rsafonseca for the contribution (#1790)
- Core NATS:
- Protect against possible nil pointer panic (#1771)
Changed
- Bump go version to v1.22 (#1773)
Improved
- Fixed typo in JetStream docs. Thanks @davydog187 for the contribution (#1758)
- Improved documentation of JetStream
Consume
andMessages
options (#1770) - Removed obsolete build tags (#1787)
Complete Changes
v1.38.0
Changelog
Added
- Core NATS:
- Added
UserInfoHandler
for dynamically setting user/password (#1713) - Added
PermissionErrOnSubscribe
option, causingSubscribeSync
to returnnats.ErrPermissionViolation
onNextMsg()
if there was a permission error (#1728) - Added
Msgs()
method onSubscription
, returning an iterator (iter.Seq2[*nats.Msg, error]
) for the subscription. This method is only available for go version >=1.23 (#1728)
- Added
- KeyValue:
- Added
WatchFiltered
method to watch for updates with multiple filters (#1739)
Fixed
- Core NATS:
- Fixed closing connections on max subscriptions exceeded (#1709)
- Removed redundant nil checks. Thanks @ramonberrutti for the contribution (#1751)
- Add missing nats prefix to error (#1753)
- JetStream:
- Legacy JetStream:
- Fixed race condition in
MessageBatch
(#1743)
- Fixed race condition in
Changed
- Legacy Jetstream:
- Added client retry for jetstream async publish old API. Thanks @pranavmehta94 for the contribution (#1695)
Improved
- Moved CI to github actions (#1623, #1716)
- Use errors.New instead of fmt.Errorf to improve efficiency. Thanks @canack for the contribution (#1707)
- Fixed invalid schemas in Service API documentation (#1720)
- Added mention of TTL reset in
kv.Update
method. Thanks @fmontorsi-equinix for the contribution (#1727) - Updated installation commands in
README.md
(#1745) - Bump
nkeys
to v0.4.9 (#1750)