Releases: nats-io/nats.go
Releases · nats-io/nats.go
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)
Complete Changes
Release v1.37.0
Changelog
Added
- JetStream:
Fixed
- JetStream:
- Legacy JetStream:
- Change
Fetch
andFetchBatch
client timeout to a higher value (#1689)
- Change
Improved
- Trim trailing slash if set on server address which can cause errors during lookup (#1654)
- Fixed README.md formatting. Thanks @patrick-othmer for the contribution (#1692)
Deprecated
- Deprecate encoded connections (#1674)
Complete Changes
Release v1.36.0
Release v1.35.0
Changelog
Added
- Service API:
- Core NATS:
- Added
ForceReconnect
method on connection for manually triggering reconnect (#1624)
- Added
Fixed
- KeyValue:
- JetStream:
- Fixed validation for streams, consumers and KV buckets to avoid protocol errors (#1613)
- Core NATS:
- Fixed
ConnectedCB
not being invoked when usingRetryOnFailedConnect: true
and the initialnats.Connect
fails (#1619)
- Fixed
Improved
- Core NATS:
- Remove unnecessary allocations from
readMIMEHeader
(#1609)
- Remove unnecessary allocations from
- KeyValue:
- Added json tags to KeyValueConfig struct. Thanks @pricelessrabbit for the contribution (#1630)
- Legacy JetStream:
- Added documentation for
StreamConfig
in jsm.go. Thanks @kazmerdome for the contribution (#1625)
- Added documentation for
Complete Changes
Release v1.34.1
Changelog
Fixed
- JetStream:
Complete Changes
Release v1.34.0
Changelog
Added
- Core NATS:
Fixed
- Object Store:
- Add missing
Compression
struct tag (#1559)
- Add missing
- Legacy JetStream:
Fetch
andFetchBatch
will no longer publish a pull request if the subscription is closed or draining (#1582)
- Service API:
- Fixed incorrect error handling when creating a service. Thanks @ramonberrutti for the contribution (#1585)
Improved
- Object Store:
- Bind Object Store bucket stream when getting object. Thanks @dmitryabramov-f3 for the contribution (#1568, #1578)
- Add testing section and format
CONTRIBUTING.md
. Thanks @yordis for the contribution (#1574) - Improved performance of
respToken
in muxer. Thanks for the report @chgz (#1575) - Fixed typos in comments. Thanks @paoloteti for the contribution (#1581)
Complete Changes
Release v1.33.1
Changelog
Overview
This release fixes v1.33.0
release which was re-released with different tag, causing checksum mismatch when running go get github.com/nats-io/nats.go@v1.33.0
.
Complete Changes
Release v1.33.0
Changelog
Overview
This release introduces significant documentation improvements across jetstream
package components (JetStream, Object Store, and KeyValue).
Added
- JetStream:
- Object Store:
- KeyValue:
UpdateKeyValue
andCreateOrUpdateKeyValue
methods (#1549)
Fixed
- JetStream:
- Object Store:
- Fixed hardcoded read deadline when reading an object (#1531)
Improved
- Refactored and improved documentation across
jetstream
package (JetStream, KeyValue and ObjectStore) (#1532, #1537, #1551, #1553, #1555) - Change "unsafe" comment on
nats.Secure
connect option. Thanks to @thorntonmc for the contribution (#1529) - Fixed documentation typos across the codebase. Thanks to @fancycode for the contribution (#1547)
Complete Changes
Release v1.32.0
Changelog
Added
- JetStream:
- ObjectStore is now available as part of
jetstream
package (#1450) Drain
method forConsumeContext
andMessagesContext
. UnlikeStop()
, in addition to unsubscribing and canceling the existing pull requests it will ensure that all messages already stored in client buffer will be available for processing (#1515)- Return account reservations on
AccountInfo
. NOTE: This is only available since nats-server@v2.10.8 (#1511) - Paging
Subjects
onStream.Info()
response whenWithSubjectFilter()
option is used (#1517)
- ObjectStore is now available as part of
- KeyValue:
Compression
option onKeyValueConfig
(#1451)ListKeys
method for efficiently iterating over all keys in KV bucket (#1490)ResumeFromRevision
option for KV watcher. Thanks to @shadow3x3x3 for the contribution (#1489)
Fixed
- Legacy JetStream:
- Fixed and issue where ordered consumer was recreated with different name format than the original (#1449)
- JetStream:
- Fixed an issue where
WithRetryAttempts()
andWithRetryWait()
options were ignored inPublishAsync()
(#1464) - Fixed invalid
PullExpiry
validation inConsumer.Messages()
options (#1468) - Fixed race condition on
Stop()
method forConsumeContext
andMessagesContext
. Thanks to
@evanofslack for the contribution (#1454) - Fixed issues with
Next()
method for ordered consumers (#1471, #1472) - Fixed ignoring a private inbox prefix in
JetStream.Publish()
. Thanks to @oderwat for the contribution (#1474) - Fixed invalid PAF id for
PublishAsync()
(#1476) - Fixed race condition when getting pull subscriptions in ordered consumer (#1497)
- Fixed several issues in
checkPending
logic (#1516)
- Fixed an issue where
- KeyValue:
- Removed
KV_
prefix when listing KeyValue store names (#1487)
- Removed
- Service API:
Improved
- Bumped
nkeys
andcompress
dependencies to latest versions (#1458, #1514) - Fixed broken link in
jetstream/README.md
. Thanks to @sebbbastien for the contribution (#1448) - Improvements for code quality across the library. Thanks to @sashamelentyev for the contribution (#1498, #1500)
- Legacy JetStream:
- Library now attempts to delete ordered consumer before creating new one to avoid piling up consumers on reset (#1449)
- Service API:
- Added compatibility tests for Service API (#1443)
Complete Changes
Release v1.31.0
Changelog
Added
- Core NATS:
TLSHandshakeFirst
option to perform TLS handshake before receiving theINFO
protocol message. Note: This option is not yet available innats-server
(#1433)
- JetStream:
Fixed
- Test (dev) dependencies are no longer added to
go.mod
when usingnats.go
. Thanks to @masumomo for the contribution (#1441) - JetStream:
- Legacy JetStream:
- Panic on
ConsumerInfo()
when empty response and errors are returned (#1426)
- Panic on
Improved
- Fixed typos in
jetstream/README.md
. Thanks @cbrake for the contribution (#1436) - Updated client dependencies list (#1439, #1440)