Skip to content

Releases: nats-io/nats.deno

v1.29.2

13 Feb 20:25
feb7cd0
Compare
Choose a tag to compare

What's Changed

Important Breaking Change

This release includes an important fix to object store which is a breaking change for old JavaScript clients. The sha-256 library previously used, generated incorrect digests for large payloads (512MB or larger). The library has been replaced with npms js-sha256, but any object that exercised the issue sports an incorrect digest. This issue has not been observed with objects smaller than 512MB.

  • get the object with a different tool or client.
  • or a different tool or client created an object

Since upgrading to this client will calculate hashes differently for the large objects, upgrading will detect objects that previously were correct as corrupt.

Migration Process

  • If you don't use object-store you can ignore this process.
  • If your objects are well below the 500MB limit, it you can possibly skip the migration step (not recommended).
  • If you have large objects that are greater than 500MB you MUST run the migration tool or re-put your objects.

To aid you in migration a new tool is provided that will update hashes that were incorrect and detected to be created by the previous library. Please run this tool on object stores prior to upgrading.
The tool will read all objects in the object store, and calculate a digest using the original (broken sha-256 implementation) and the updated one. If the hashes differ, and the broken digests match, the tool will update the entry's metadata to the correct digest. The tool can run in a check-only mode by providing the --check option.

Note that after updating your object store, old JavaScript clients will detect the large entries as corrupt.

# Deno is required - to install [Deno see https://deno.com/](https://deno.com/)
deno run -A https://raw.githubusercontent.com/nats-io/nats.deno/e66877c587daf04159220b8cfd607132ae0e5d70/bin/fix-os-digests.ts -h
Usage: fix-os [-s server] [--creds=/path/file.creds] [--check] --bucket=name
  • [JS] [OBJ] [BREAKING] replace sha256 library used by the client for objectstore entries and migration tool by @aricart in #745 and #747
  • [BUMP] ci server version, client version by @aricart in #748

Full Changelog: v1.29.1...v1.29.2

v1.29.1

10 Jan 21:53
2f81ec9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.29.0...v1.29.1

v1.29.0

10 Jan 16:55
1ff6bee
Compare
Choose a tag to compare

What's Changed

  • [FIX] [JS]: ordered pull consumer would never fail to reset on initial creation if there was an error by @aricart in #726
  • [FIX] [SRV] processingTime is now reported in nanoseconds with some additional doc improvements, fixes by @aricart in #727
  • [CI] clamp JWT lib used by tests by @aricart in #735
  • [FEAT] [JS] Added Consumers.getPullConsumerFor(ConsumerInfo) method to get a by Consumer with a ConsumerInfo (bypassing additional consumer info to verify the consumer exists) by @aricart in #736
  • [FIX] [JS] Deprecated DeliveryInfo.redeliveryCount and added DeliveryInfo.deliveryCount (JsMsg.info) as this count tracks the number of times that the message has been delivered, also fixes in documentation to the same effect @aricart in #738
  • [DOC] add link to migration doc by @alexbozhenko in #737

New Contributors

Full Changelog: v1.28.2...v1.29.0

v1.28.2

30 Jul 15:58
6c1e464
Compare
Choose a tag to compare

What's Changed

  • fix(kv): fixed an issue where kv sources were not properly processed by @aricart in #721
  • [BUMP] client/nbc version by @aricart in #722

Full Changelog: v1.28.1...v1.28.2

v1.28.1

24 Jul 19:36
0664232
Compare
Choose a tag to compare

What's Changed

  • [FIX] [JETSTREAM] [OBJ] the option for replicas in objectstore was not honored by @SalvaChiLlo in #717
  • [TEST] added test to cover fix for #717 by @aricart in #719
  • [FIX] [CORE] identify ipv6 encoding an ipv4 as ipv6 by @aricart in #718
  • [BUMP] version to 1.28.1 by @aricart in #720

New Contributors

Full Changelog: v1.28.0...v1.28.1

v1.28.0

01 Jul 20:19
a63ff3e
Compare
Choose a tag to compare

What's Changed

This release has an important fix that stops subscription leaks when making requests but the request results in a timeout or an error.

  • [FIX] [CORE] noMux option for request() and requestMany() leaked subscriptions if the request resulted in an error such as a timeout, no responders or a permissions error by @aricart in #715
  • [BUMP] CI deps and version by @aricart in #716

Full Changelog: v1.27.0...v1.28.0

v1.27.0

20 Jun 16:20
f5a4365
Compare
Choose a tag to compare

What's Changed

Small fixes to NATS core functionality and JetStream

  • [FIX] [CORE] fixed an issue where permission errors related queue subscriptions was not properly notified to the client by @aricart in #701
  • [FIX] [CORE] account expired protocol message was not notified properly by @aricart in #702
  • [FEAT] [CORE] added connect option resolve, which allows a client to opt out of hostname resolution by @aricart in #704
  • [FIX] [KV] fixed an issue where maxBucketSize (deprecated option) overrode max_bytes by @aricart in #707
  • [FIX] [JS] honor JS timeout in ackAck() and also allow to override by @aricart in #708
  • [FEAT] [KV] added support for listing keys with multiple filters by @aricart in #710
  • [BUMP] ci dependencies and client version by @aricart in #711

Full Changelog: v1.26.0...v1.27.0

v1.26.0

20 May 14:54
8b52908
Compare
Choose a tag to compare

What's Changed

  • [FIX] [JS] [CONSUMERS] improved ordered pull consumer - api calls on the consumer no longer re-create the consumer - this reduces the number of consumer resets to only cases where there are errors or delivery sequence mismatches by @aricart in #699
  • [BUMP] deno and client version by @aricart in #700

Full Changelog: v1.25.0...v1.26.0

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