Skip to content

Releases: nats-io/nats.js

v3.0.2

03 Apr 20:24
aa5b4c8
Compare
Choose a tag to compare

What's Changed

This release fixes an important regression in for JetStream 3.x clients that use fetch() and next() which would cause the client to leak memory for each invocation.

This release also fixes two ObjectStore issues:

  • get() and watch() which could be affected by the server deeming it a slow consumer, and could cause the client to stall.
  • put()s of very large objects could fail if the server deemed the client to be producing too fast. The current fix sends chunks sequentially instead of a batch which means that put() is currently slower than before, but more reliable. Additional investigation on how to improve the performance without overwhelming the server are in the works.
  • fix(obj): additional hardening of the object store client by @aricart in #256
  • fix(jetstream): add connection close listeners and update package versions by @aricart in #258

Full Changelog: v3.0.0...v3.0.2

obj/3.0.1

31 Mar 22:30
c672089
Compare
Choose a tag to compare

What's Changed

This release only includes an update to objectstore that fixes honoring the number of replicas specified.

  • Fix support for setting object replicas in ObjectStore by @aricart in #249
  • Bump @nats-io/obj version to 3.0.1 by @aricart in #250
  • updated dependency readmes. by @aricart in #245
  • Refactor npm publish workflow for granular workspaces by @aricart in #251

Full Changelog: v3.0.0...obj/3.0.1

v3.0.0

20 Mar 23:38
7991179
Compare
Choose a tag to compare

What's Changed

The 3.0 release reorganizes the NATS JavaScript clients into multiple modules available from two different registries.
While there have been some important refactorings and minor API changes, which will require you to make some changes to migrate
to the new code base, the migration should be easy. The migration process is described here.

In general, most if not all the changes should be straightforward. The best place to start is the main project's readme. Which provides a link to other Readme's for the other modules, which means that information will be focused to the specific functionality (Core, JetStream, Kv, Obj, Services). Likewise, the API documentation is now per module, further reducing what you have to navigate.

The following are a list of changes that enhance the 3.0 client, which are not present on the 2.x series.

  • [FIX] [CORE] WebSocket under node doesn't emit close+error (only error) so redials didn't happen by @aricart in #219
  • [FEAT] [JS] Refactor consumer options handling to ensure immutability by @aricart in #224
  • [FEAT] [JS] expose retries on js publish by @aricart in #234
  • [FEAT] [JS] expose direct APIs by @aricart in #236

New Contributors

Full Changelog: release-2024-08-01-17-44-40...v3.0.0

release-2024-08-01-17-44-40

01 Aug 19:16
f4c6c77
Compare
Choose a tag to compare

What's Changed

  • integrate nats.deno, nats.js and nats.ws transports
  • refactoring nats-base-client into different modules (core, jetstream, kv, obj, services)

New Contributors

Full Changelog: https://github.com/nats-io/nats.js/commits/release-2024-08-01-17-44-40