Releases: nats-io/nats.js
v3.0.2
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()
andwatch()
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 thatput()
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
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
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
- @zzl221000 made their first contribution in #39
- @caspervonb made their first contribution in #63
- @bligneri made their first contribution in #145
- @alexbozhenko made their first contribution in #162
- @smirnoffkin made their first contribution in #198
- @atbe made their first contribution in #200
- @lukashass made their first contribution in #211
- @jeefy made their first contribution in #227
Full Changelog: release-2024-08-01-17-44-40...v3.0.0
release-2024-08-01-17-44-40
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