Skip to content

Releases: nats-io/nats.go

Release v1.51.0

14 Apr 12:42
17b6fd1

Choose a tag to compare

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...v1.51.0

Release v1.50.0

25 Mar 16:01
a76c5a9

Choose a tag to compare

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

  • Bump go version to 1.25 and update dependencies (#2044, #2039)

Complete Changes

v1.49.0...v1.50.0

Release v1.49.0

23 Feb 14:26
d85a35e

Choose a tag to compare

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:
    • Fix nil pointer dereference in ConsumerInfo. Thanks @olde-ducke for the contribution (#1987)
  • Object store:
    • Use default timeout on object Put when context has no deadline (#2013)

IMPROVED

Complete Changes

v1.48.0...v1.49.0

Release v1.48.0

17 Dec 13:35
a0e7b70

Choose a tag to compare

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...v1.48.0

Release v1.47.0

14 Oct 12:18
01f1814

Choose a tag to compare

Changelog

ADDED

  • Core NATS:
    • Support sending custom WebSocket headers on connect. Thanks @saurabhojha for the contribution (#1919)

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...v1.47.0

Release v1.46.1

30 Sep 13:25
4dc7f1e

Choose a tag to compare

Changelog

FIXED

  • JetStream:
    • Add omitempty to AllowMsgTTL and AllowMsgCounter (#1947)

Complete Changes

v1.46.0...v1.46.1

Release v1.46.0

22 Sep 16:42

Choose a tag to compare

Changelog

Overview

This release enables features introduced in [email protected].

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...v1.46.0

Release v1.45.0

20 Aug 05:01
0ed8647

Choose a tag to compare

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...v1.45.0

Release v1.44.0

29 Jul 16:36
7a260b8

Choose a tag to compare

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...v1.44.0

Release v1.43.0

03 Jun 08:23
8a48023

Choose a tag to compare

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...v1.43.0