Skip to content

feat: update module github.com/nats-io/nats.go to v1.53.1 - #87

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/github.com-nats-io-nats.go-1.x
Open

feat: update module github.com/nats-io/nats.go to v1.53.1#87
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/github.com-nats-io-nats.go-1.x

Conversation

@renovate

@renovate renovate Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
github.com/nats-io/nats.go v1.36.0v1.53.1 age confidence

Release Notes

nats-io/nats.go (github.com/nats-io/nats.go)

v1.53.1

Compare Source

Changelog

This is a patch release containing no functional changes.

FIXED
  • Version const and the README install line, which were not updated for v1.53.0 (#​2118)
Complete Changes

v1.53.0

Compare Source

Changelog

ADDED
  • JetStream:
    • WithPublishAsyncAckHandler option for JetStream async publish. Thanks @​occamist for the contribution (#​2109)
    • AckFlowControlPolicy to legacy API (#​2091)
  • Micro:
FIXED
  • Core NATS:
  • JetStream:
    • Data race in resetOrderedConsumer when resets overlap (#​2111)
    • Avoid panic in PullSubscribe consumer create path. Thanks @​wyf027 for the contribution (#​2088)
    • Honor per-request JSOpt API prefix across JetStream APIs. Thanks @​wyf027 for the contribution (#​2087)
    • Add nil checks for empty JetStream API responses. Thanks @​colecschmidt for the contribution (#​2073)
  • KeyValue:
    • Recognize error code 10164 for replicated KV CAS conflicts (#​2098)
    • Reject keys with consecutive dots in keyValid and searchKeyValid. Thanks @​c-tonneslan for the contribution (#​2076)
  • Micro:
IMPROVED
  • Performance enhancement when publishing core NATS messages with headers. Thanks @​jonchammer for the contribution (#​2083)
  • Migrate tests to ntf (#​2082)
  • Add docs.nats.io examples to main (#​2106)
  • Improve readme wording for JetStream consumers. Thanks @​trevorah for the contribution (#​2104)
Complete Changes

v1.52.0

Compare Source

Changelog

This release focuses on 2.14 nats-server features support.

ADDED
  • JetStream:
    • Added fast batch stream config field (#​2052)
    • Added message scheduling headers and publish opts (#​2051)
    • Updated StreamConfig with Consumer field and added AckFlowControlPolicy (#​2070)
    • Added reset consumer API (#​2069)
FIXED
  • Core NATS:
IMPROVED
  • Fixed Flaky JS cluster tests (#​2062)
Complete Changes

v1.51.0

Compare Source

Changelog

ADDED
  • Core NATS:
    • Option to customize write buffer size (#​2057)
    • Option to automatically reconnect on write error (#​2055)
    • Accessors for JetStream API level and IsSysAccount from ServerInfo (#​2060)
FIXED
  • Core NATS:
    • Make websocket frame validation more robust (#​2050)
  • JetStream:
    • Fix deadlock in Consume() when calling Stop/Drain from ConsumeErrHandler (#​2059)
IMPROVED
  • Fix typos in tests. Thanks @​deining for the contribution (#​2049)
  • Fix deprecation warnings by bumping GH actions to their latest versions. Thanks @​deining for the contibution (#​2048)
  • Code linting: remove functions min and max. Thanks @​deining for the contribution (#​2047)
Complete Changes

v1.50.0

Compare Source

Changelog

FIXED
  • Core NATS:
    • Fix WebSocket close frame discarding buffered data frames (#​2032)
  • JetStream:
    • Remove status listener in Consume()/Messages() cleanup. Thanks @​txuna for the contribution (#​1993)
    • Fix race condition in orderedSubscription.Drain() (#​2030)
    • Fixed OrderedConsumer.Consume() race in handler (#​2043)
IMPROVED
  • Core NATS:
    • De-flake TestAlwaysReconnectOnAccountMaxConnectionsExceededErr (#​2042)
    • Wrap EOF/connection reset errors with TLS context after handshake (#​2031)
  • JetStream:
    • Reject control characters in stream and consumer names (#​2038)
    • Add missing AccountLimits fields in jetstream package (#​2041)
    • Fix flaky TestConsumerPrioritized/messages test (#​2033)
  • KeyValue:
    • Deduplicate keys in KeyValue.Keys() and document ListKeys behavior (#​2029)
    • Fix flaky TestKeyValueWithSources (#​2036)
CHANGED
Complete Changes

v1.49.0

Compare Source

Changelog

ADDED
  • Core NATS:
    • IgnoreDiscoveredServers option for skipping advertised servers (#​2022)
    • Reconnect to selected server callback option #​1958)
    • Set custom server pool (#​1958)
  • KeyValue:
    • Config() method for KeyValueStatus (#​2014)
FIXED
  • Core NATS:
    • Only remove requested status listener (#​1991)
  • JetStream:
    • Cleanup JS Publisher Status Channel (#​1993)
  • Legacy JetStream:
  • Object store:
    • Use default timeout on object Put when context has no deadline (#​2013)
IMPROVED
Complete Changes

v1.48.0

Compare Source

Changelog

ADDED
  • Core NATS:
    • Add publish subject validation and a connection option to skip it (#​1974, #​1979)
  • KeyValue:
    • Enable custom subject transforms on KV sourcing (#​1960)
FIXED
  • JetStream:
    • Fix function pointer check in js.apiRequestWithContext. Thanks @​svenfoo for the contribution (#​1957)
    • Use QueueSubscribe if DeliverGroup is configured on PushConsumer (#​1966)
  • KeyValue:
    • Fix data race when closing watcher updates channel in kv.go (#​1965)
IMPROVED
  • Remove extraneous PullThresholdMessages type definition from README. Thanks @​PeterBParker for the contribution (#​1959)
  • Fix typo in README for service creation method (#​1962)
  • Mention performance implications of using Consumer.Fetch in docs (#​1983)
Complete Changes

v1.47.0

Compare Source

Changelog

ADDED
  • Core NATS:
FIXED
  • Core NATS:
    • Capture async callbacks before pushing on dispatch queue (#​1955)
  • Object Store:
    • Fixed data race when cancelling context while getting object (#​1949)
  • JetStream:
    • Fixed double channel close on simultaneous Stop and Drain (#​1953)
IMPROVED
  • Clarify MessagesContext.Next() doc (#​1951)
Complete Changes

v1.46.1

Compare Source

Changelog

FIXED
  • JetStream:
    • Add omitempty to AllowMsgTTL and AllowMsgCounter (#​1947)
Complete Changes

v1.46.0

Compare Source

Changelog

Overview

This release enables features introduced in nats-server@v2.12.0.

Some features, while enabled in the client by adding relevant configuration, have APIs exposed in synadia-io/orbit.go, namely:

ADDED
  • JetStream:
    • Stream counters configuration option (#​1932, #​1939)
    • New fields in ClusterInfo (#​1935)
    • AllowAtomicPublish stream configuration option (#​1940)
    • PersistMode stream config option for configurable stream persistence settings (#​1943)
    • AllowMsgSchedules stream configuration option to enable message scheduling (#​1942)
    • Context and timeout options to Messages.Next() plus Fetch context support (#​1938)
    • Support custom name prefix for ordered consumers (#​1928)
    • Prioritized priority policy (#​1937)
  • KeyValue:
    • Added KeyValue bucket metadada support (#​1944)
IMPROVED
  • JetStream:
    • Add max consumers limit error (code=10026). Thanks @​Arlet2 for the contribution (#​1922)
    • Return more specific cons info error on ordered consumer recreation (#​1931)
Complete Changes

v1.45.0

Compare Source

Changelog

ADDED
  • Core NATS:
    • Handling for maximum account active connections exceeded (#​1921)
  • JetStream:
    • WithExpectLastSequenceForSubject publish option (#​1920)
FIXED
  • Core NATS:
    • Track delivered count and auto-unsubscribe for channel subscriptions (#​1913)
    • Clear status listeners map on SubscriptionClosed event to prevent race condition (#​1914)
    • Call ReconnectErrHandler for initial connection failures with RetryOnFailedConnect (#​1915)
  • JetStream:
    • CreateOrUpdateStream preserves domain prefix during updates (#​1917)
    • Handle empty response when creating a consumer (#​1912)
IMPROVED
  • KeyValue:
    • Add test checking KV TTL watcher updates (#​1916)
Complete Changes

v1.44.0

Compare Source

Changelog

Overview

This PR adds a PushConsumer implementation to jetstream, allowing easier migration to new API while maintaining usage of push consumers. For now it only supports the callback-based Consume(), more consuming options will be added in future releases.

ADDED
  • Core NATS:
    • UserCredentialBytes() Conn option (#​1877)
  • JetStream:
    • PushConsumer implementation in jetstream package
    • Expose ClientTrace in JetStreamOptions (#​1886)
  • Service API:
    • Expose WithEndpointPendingLimits option (#​1899)
  • Legacy KeyValue:
    • Error() method to KeyLister and KeyWatcher interfaces (#​1889)
FIXED
  • Core NATS:
    • Fix timeoutWriter not recovering after first error (#​1896)
  • JetStream:
    • Consumer.Next() hangs after connection is closed (#​1883)
    • Fixed stream info request for strict mode (#​1887)
    • Ordered consumer not closing on connection close (#​1885)
    • Return a more appropriate error when Subject Transform is not supported (#​1416)
    • Fix subject transform comparison. Thanks @​erikmansson for the contribution (#​1907)
  • Legacy JetStream:
    • Use timeout from JetStreamContext if no deadline is set on ctx (#​1909)
  • KeyValue:
    • Keys() and ListKeys() returning duplicates (#​1884)
    • Fix subject prefix for the Create/Update operation in KV store. Thanks @​SalvaChiLlo for the contribution (#​1903)
CHANGED
  • Change DefaultSubPendingMsgsLimit (#​998)
Complete Changes

v1.43.0

Compare Source

Changelog

ADDED
  • Core NATS:
    • Add nc.LocalAddr, similar to nc.ConnectedAddr (#​1877)
FIXED
  • Service API:
    • Fix stopping service not unsubscribing from all endpoints. Thanks @​arunsworld for the contribution (#​1872)
    • Remove fmt.Println from Service.Stop() (#​1880)
  • Legacy KeyValue:
    • Fix possible race setting timer in kv.WatchFiltered (#​1879)
Complete Changes

v1.42.0

Compare Source

Changelog

Overview

This release adds per-key TTL functionality to key-value stores. It adds:

  1. LimitMarkerTTL config option to enable automatic tombstone deletion.
  2. KeyTTL option to kv.Create()
  3. PurgeTTL() option to kv.Purge()
ADDED
  • KeyValue:
    • Added KeyValue per key TTL support and limit markers (#​1864)
Complete Changes

v1.41.2

Compare Source

Changelog

ADDED
  • Core NATS:
    • Add nc.RemoveStatusListener() method (#​1856)
FIXED
  • Legacy JetStream:
    • Fix Fetch and FetchBatch memory leak (#​1856)
  • Legacy KeyValue:
    • Use context in when purging stream in kv.PurgeDeletes() (#​1858)
  • Bump golang.org/x/crypto to fix vulnerability (#​1857)
Complete Changes

v1.41.1

Compare Source

Changelog

FIXED
  • ObjectStore:
    • Use default timeout for ObjectStore.Get when no deadline is set on ctx (#​1850)
IMPROVED
  • Remove golang.org/x/text dependency (#​1849)
Complete Changes

v1.41.0

Compare Source

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:
    • Consumer priority groups with pinned and overflow policies (#​1826)
    • WithDefaultTimeout option for JetStream API requests (#​1843)
Fixed
  • KeyValue:
    • Ensure timer is stopped when watcher is stopped (#​1838)
  • ObjectStore:
    • Ensure object watcher stop closes the updates channel (#​1844)
  • Core NATS:
    • Data race when reading current status in sub.StatusChanged and nc.StatusChanged (#​1841)
    • Reset channel after closing in ForceReconnect to avoid panic on subsequent ForceReconnect calls (#​1842, #​1846)
Changed
Improved
  • Legacy JetStream:
    • Cancel Fetch and FetchBatch on reconnect (#​1840)
  • JetStream:
    • Invalid default in documentation for OrderedConsumerConfig.InactiveThreshold (#​1845)
  • KeyValue:
    • Stop the watcher before performing the purge operations for PurgeDeletes (#​1839)
Complete Changes

v1.40.1

Compare Source

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)
Complete Changes

v1.40.0

Compare Source

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:
    • Pause and resume JetStream consumer. Thanks @​yordis for the contribution (#​1571)
    • Per message TTL option for JetStream publish (#​1825)
    • Timeout option for async publish (#​1819)
  • 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 in deleteMsg. 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

v1.39.1

Compare Source

Changelog

Fixed
  • KeyValue:
Improved
  • Remove stale experimental comment in Service API (#​1805)
Complete Changes

v1.39.0

Compare Source

Changelog

Overview

This release bumps the minimal go version in go.mod to 1.22.

Added
  • JetStream:
    • Added PullMaxMessagesWithBytesLimit option for Consume and Messages (#​1789)
    • Added Metadata to OrderedConsumerConfig. Thanks @​mwain for the contribution (#​1737)
    • Added JetStream.Options() and JetStream.Conn() methods to JetStream interface (#​1792)
  • KeyValue:
    • Added ListKeysFiltered for listing keys with multiple filters. Thanks @​somratdutta for the contribution (#​1711)
Fixed
  • JetStream:
    • Fixed invalid heartbeat timer for Consumer.Messages() (#​1786)
  • ObjectStore:
    • Fixed invalid error being returned from DeleteObjectStore (#​1762)
  • 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
Improved
  • Fixed typo in JetStream docs. Thanks @​davydog187 for the contribution (#​1758)
  • Improved documentation of JetStream Consume and Messages options (#​1770)
  • Removed obsolete build tags (#​1787)
Complete Changes

v1.38.0

Compare Source

Changelog

Added
  • Core NATS:
    • Added UserInfoHandler for dynamically setting user/password (#​1713)
    • Added PermissionErrOnSubscribe option, causing SubscribeSync to return nats.ErrPermissionViolation on NextMsg() if there was a permission error (#​1728)
    • Added Msgs() method on Subscription, returning an iterator (iter.Seq2[*nats.Msg, error]) for the subscription. This method is only available for go version >=1.23 (#​1728)
  • KeyValue:
  • Added WatchFiltered method to watch for updates with multiple filters (#​1739)
Fixed
  • Core NATS:
  • JetStream:
    • Fixed PublishAsync not closing done and stall channels after failed retries (#​1719)
    • Set valid fetch sequence in ordered consumer's Fetch() and Next() after timeout (#​1705)
    • Do not overwrite ordered consumer deliver policy if start time is set (#​1742)
    • Fixed race condition in MessageBatch (#​1743)
  • Legacy JetStream:
    • Fixed race condition in MessageBatch (#​1743)
Changed
  • Legacy Jetstream:
Improved
Complete Changes

v1.37.0

Compare Source

Changelog

Added
  • JetStream:
    • CleanupPublisher method for removing internal JetStream subscription (#​1690)
    • ConsumeContext.Closed() method for waiting for consume to be closed/drained (#​1691)
Fixed
  • JetStream:
    • Fix deadlock when accessing subscriptions map on a consumer (#​1671)
    • Fix panic in OrderedConsumer (#​1686)
    • Fix setting deliver policy in Fetch() for OrderedConsumer (#​1693)
  • Legacy JetStream:
    • Change Fetch and FetchBatch client timeout to a higher value (#​1689)
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

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies label Sep 3, 2026
@renovate

renovate Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 7 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.22 -> 1.25.0
github.com/klauspost/compress v1.17.9 -> v1.18.5
github.com/nats-io/nkeys v0.4.7 -> v0.4.15
golang.org/x/crypto v0.24.0 -> v0.49.0
golang.org/x/net v0.26.0 -> v0.51.0
golang.org/x/sys v0.21.0 -> v0.42.0
golang.org/x/text v0.16.0 -> v0.35.0
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d -> v0.42.0

@codecov

codecov Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 55.06%. Comparing base (3cf2082) to head (75b0c18).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #87      +/-   ##
==========================================
+ Coverage   54.81%   55.06%   +0.24%     
==========================================
  Files          25       25              
  Lines        1609     1609              
==========================================
+ Hits          882      886       +4     
+ Misses        630      627       -3     
+ Partials       97       96       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants