Skip to content

Releases: nats-io/nats.deno

v1.25.0

09 May 18:27
8fe83cc
Compare
Choose a tag to compare

What's Changed

  • [FEAT] [JS] [CONSUMERS] added name_prefix option to ordered consumer that specifies an user-provided prefix to add to generated consumer names by @aricart in #697

Full Changelog: v1.24.0...v1.25.0

v1.24.0

03 May 14:44
99e3f2e
Compare
Choose a tag to compare

What's Changed

The following fixes are related to ordered push consumers and watchers for KV and ObjectStore.

  • [FIX] more robust watcher in case consumer is recreated while the cluster is flapping by @aricart in #693
  • [FIX] legacy order consumer subscription leak by @aricart in #694
  • [BUMP] deno to 1.43.1 and client version by @aricart in #695

Full Changelog: v1.23.0...v1.24.0

v1.23.0

22 Apr 20:09
66a47b9
Compare
Choose a tag to compare

What's Changed

This release has some small set of important enhancements and fixes for the Nats-Base-Library:

  • Kv watcher reliability is improved in cases where the server may restart.
  • Kv watchers/history support multiple filters

In more detail:

  • [FIX] [JETSTREAM] [KV] Kv Watcher reliability during server restarts by @aricart in #689
  • [FEAT] [JETSTREAM] [KV] support multiple key filters on watchers/history by @aricart in #681
  • [INTERNAL] mechanism to retrieve connection info by @aricart in #684
  • [FIX] exposed Publisher type for downstream consumption by @aricart in #685
  • [FEAT] [CORE] added the ability to publish by providing a Msg argument by @aricart in #686
  • [CHANGE] moved nanos() and millis() to nats-base-client as they are referenced by the base library by @aricart in #687

Full Changelog: v1.22.0...v1.23.0

v1.22.0

10 Apr 14:35
ef8ada0
Compare
Choose a tag to compare

What's Changed

This release adds the connection option handshakeFirst which enables the client to connect with a nats-server that has been configured with a handshake_first tis option set to true. And has one important fix to JetStream ackAck().

  • [FIX] [JS] fix incorrect type in implementation of jetstream() api - it is correct in the interface. by @aricart in #675
  • [FIX] [JS] ackAck() always not always waiting for proper response and could return false by @aricart in #676
  • [BUMP] deno to 1.42.1, and std to 0.221.0 by @mtmk in #678
  • [DOC] updated docs by @aricart in #677
  • [TEST] cleanup of test data and configurations by @aricart in #679
  • [CI] cleanup of test data and configurations by @aricart in #680
  • [FEAT] [CORE] handshake_first support by @aricart in #682
  • [DOC] added handshakeFirst tls option by @aricart in #683

New Contributors

  • @mtmk made their first contribution in #678

Full Changelog: v1.21.0...v1.22.0

v1.21.0

26 Mar 22:56
948f2fa
Compare
Choose a tag to compare

What's Changed

This release slightly changes the behavior of consumers under the new consumer API for fetch() and next(). These operations are now succeptible to consumer deleted type errors. Since these operations are expected to finish at some point (when the number of requested messages is retrieved or when the operation expires) it seems appropriate to telegraph these errors. If your service expects to recover, it can re-issue the next() or fetch request again. For consume(), a new option was added abort_on_missing_resource which instructs the client to cancel if it detects that the stream or the consumer are gone. By default the client will attempt to consumer again.. These options are rejected for order consumer. For more information see #667

Also notable is the addition of a bind option for consume(), fetch(), and next(). This option will NOT check the status of the consumer or if there's an error during a request for messages. Note that in most cases if the consumer is deleted these will surface as heartbeats missed on the consumer status. For fetch() and next() these will result on no messages. Note that when this option is issued the client cannot provide a more precise status. Note that this option is not applicable to ordered consumers. For more information see #668

  • [FEAT] [JS] [KV] allow internal kv watch consumer to use filtered consumer api by @aricart in #662
  • [CHANGE] [JS] [CONSUMERS] fetch()/next() can fail on consumer/stream errors by @aricart in #667
  • [FEAT] [JS] [CONSUMERS] added a bind option to the consume(), fetch(), next() - note this option is not supported in ordered consumers. by @aricart in #668
  • [FEAT] [JS] jetstream options also support jsm options by @ramonberrutti in #666 and #669
  • [FIX] [JS] jetstreamManager(checkAPI) overrode the checkAPI option incorrectly by @aricart in #672
  • [TEST] fix timer leak detected by tests on consumer reset by @aricart in #664
  • [FEAT] [CORE] enhancements to downstream iterator use to determine if the iterator failed by @aricart in #665

New Contributors

Full Changelog: v1.20.1...v1.21.0

v1.20.1

12 Mar 16:30
d045fd7
Compare
Choose a tag to compare

What's Changed

  • [FIX] [BUILD] tsc issue affecting downstream clients that rely on tsc for building. by @aricart in #659
  • [FEAT] [KV] delete and purge at seq by @aricart in #656
  • [LINTER] fixed linter and deprecation warnings by @aricart in #660
  • [FIX] [KV] bind doesn't auto-initiate stream info by @aricart in #661

Full Changelog: v1.20.0...v1.20.1

v1.20.0

11 Mar 14:59
0718202
Compare
Choose a tag to compare

What's Changed

  • [FEAT] [KV] Start a watcher at a specific revision, added KvWatchOptions.resumeFromRevision by @aricart in #651
  • [FIX] [KV] KvWatchInclude was exported as a typescript type, but it shouldn't have been - it is an enum. by @aricart in #658
  • [FIX] [JS] [ORDERED CONSUMER] Replay policy not re-set when recreating by @aricart in #655
  • [FEAT] [JS] Create a paused consumer and JSM APIs to pause and resume a consumer - this feature requires nats-server 2.11.0 or better by @aricart in #653
  • [FEAT] [JS] [INTERNAL] Direct batch by @aricart in #654
  • [FIX] Remove initialization from nuid module creation until invoked. by @aricart in #649

Full Changelog: v1.19.0...v1.20.0

v1.19.0

05 Dec 00:14
51025de
Compare
Choose a tag to compare

What's Changed

  • [DOC] Add nats by example link by @Jarema in #635
  • [FIX] [JETSTREAM] stream names lister streams fails with NPE when no streams are defined by @aricart in #636
  • [DEBUG] close trace by @aricart in #640
  • [FIX] [JETSTREAM] prevent consumer deleted from stopping iterator by @aricart in #641
  • [FIX] [JETSTREAM] added a status notification if the stream is deleted while a consumer in a disconnect cycle by @aricart in #638
  • [FIX] Allow downstream implementations of url parse to know whether we are connected securely or not by @aricart in #642
  • [FEAT] cluster tool enhancements and features by @aricart in #643, #639 and #644
  • [BUMP] client version by @aricart in #645

Full Changelog: v1.18.0...v1.19.0

v1.18.0

02 Nov 20:45
5f9c225
Compare
Choose a tag to compare

What's Changed

The most notable features in this release are:

  • More reliable JetStream simplified consumers
  • A new connect option noAsyncTraces which greatly improves the performance of request reply and JetStream publishers. This option is opt-in, so please read about it below.

Core NATS

  • [FEAT] sync iterator utility syncIterator() by @aricart in #602
  • [FEAT] [PERF] added connect option noAsyncTraces to disable async trace extra information on requests - this significantly improves performance but makes request failures harder to trace. This option is false by default - to increate performance, you must set it to true. Note this also improves JetStream publisher performance as those are implemented as requests by @aricart in #622 and #627
  • [FEAT] [EXPERIMENTAL] exposed a mechanism to force a reconnect by @aricart in #632
  • [FIX] added last() to MsgHeaders to retrieve the last value in the case that the header may be repeated multiple times. Made JetStream direct apis read last header value. Fix #586 by @aricart in #619

JetStream

  • [FEAT] [JETSTREAM] [OS] ObjectStore compatibility and tests by @Jarema in #604 and #605
  • [FEAT] [JETSTREAM] added creation option to nc.jetstreamManager() to prevent checking if the JetStream API is available. by @aricart in #607
  • [FIX] [JETSTREAM] Made simplfied consumers significantly more resilent - ordered consumers can now report status() changes by @aricart in #615
  • [FEAT] [JETSTREAM] [KV] [OS] kv and os compression by @aricart in #625 and #631
  • [FEAT] [JETSTREAM] added reason to JsMsg#term - this feature requires 2.11.0 by @aricart in #630

Other

  • [DOC] regenerated docs by @aricart in #603
  • [CI] update nats-server by @aricart in #611
  • [LIC] updated dependencies.md by @aricart in #610
  • [REPO] issue forms - simplify and relax issue forms further by @bruth in #616
  • [TEST] launcher changes to set deterministic monitoring port on first node. by @aricart in #608
  • [TEST] made some tests less likely to flap by @aricart in #609
  • [TEST] tweaks to locally flapping tests by @aricart in #612
  • [TEST] make chaos suspendable and restartable by @aricart in #620
  • [TEST] changed source transforms test to not be order sensitive by @aricart in #618
  • [TEST] fix some time sensitive tests that flap on faster machines by @aricart in #621
  • [TEST] speed up parallel tests by @aricart in #623
  • [FIX] linter by @aricart in #626
  • [BUMP] client version for release by @aricart in #633
  • [CHORE] tsc compiler pacification by @aricart in #634

Full Changelog: v1.17.0...v1.18.0

v1.17.0

20 Sep 20:44
5d15adc
Compare
Choose a tag to compare

What's Changed

This release removes the preview notice on object-store, adds new configuration options to stream configuration, and enhances KV and service APIs.

  • [FEAT] [CORE] [SRV] allow service (micro) API to specify a queue name by @aricart in #590

  • [FEAT] [JETSTREAM] stream compression option by @aricart in #595

  • [FEAT] [JETSTREAM] consumer limits by @aricart in #597

  • [FIX] [JETSTREAM] added JetStreamSubscriptionInfoable to types, as it was needed downstream by @aricart in #576

  • [FEAT] [JETSTREAM] implements support for subject_transforms on StreamSources/Mirrors by @aricart in #589

  • [CHANGE] [JETSTREAM] require consumer/stream names to not contain spaces, newlines, carriage returns or tabs by @aricart in #585

  • [FIX] [JETSTREAM] Fix PullConsumerMessagesImpl not respecting inboxPrefix by @oscarwcl in #580 and @aricart in #581

  • [CHANGE] [JETSTREAM] removed configuration subject_transform_dest - this configuration was not released server and it is superseded by subject_transforms. If you were experimenting with with 2.10.0 features, you will need to migrate to use subject_transforms in 2.10.0 by @aricart in #592

  • [FEAT] [JETSTREAM] [KV] added options for watcher support for all history, last values or updates as well as get notifications on deletes by @aricart in #577

  • [FEAT] [JETSTREAM] [OS] removed preview notice from objectstore functionality. Note that this release implements some changes to the handling of links by @aricart in #596

Other minor fixes

New Contributors

Full Changelog: v1.16.0...v1.17.0