What's Changed
This release introduces features to Core (tracing), JetStream (per-message ttls, pinned consumers, subject-based sequence constraints) and KV (per-message ttls, timeout support for put/update operations) and improve the reliability of the client.
Core
- feat(core): tracing - Introduced
TraceOptions
inPublishOptions
,RequestOptions
, andRequestManyOptions
to enable message tracing with NATS. Trace messages are sent to atraceDestination
subject and optionally flagged astraceOnly
to avoid delivery and generate trace data only by @aricart in #265 - fix(core): use InstanceType for TE and TD type annotations by @Roseidon in #298
- fix(core): status iterator can now yield a
close
event signaling that the client closed by @aricart in #277 - refactor(core): remove redundant type assertions in Subscription by @aricart in #293
JetStream
- feat(kv,jetstream)Add support for per-message TTLs in KV and JetStream by @aricart in #281
- feat(jetstream): pinned consumers by @aricart in #263
- feat(jetstream): support for pedantic mode in consumer creation by @aricart in #264 and #275
- feat(js): add support for subject-based sequence constraints. These allow constraints for sequences to be applied to a different using a different subject, simplifying constraints for hierarchical subjects by @aricart in #287
- fix(js): improve handling of 409 status and
max_bytes
edge cases by @aricart in #286 - fix(js): update tests to reflect changes in 2.11.6 behavior for
max_waiting
where 409 for exceededmax_waiting
errors are not sent to the client when requests have an expires. This means that consumers will rely on heartbeats to pull again by @aricart in #291 - fix(js): improved the typings for
DirectBatchOptions
types by @aricart in #289 - tests(js): Add test and logic to bypass JetStream checks for bind-only by @aricart in #272
- tests(js): Add timeout tests for JetStream clients and managers by @aricart in #274
KV
- feat(kv,jetstream)Add support for per-message TTLs in KV and JetStream by @aricart in #281
- feat(kv): timeout support for put and update operations by @aricart in #273
Obj
- Update types.ts: clarify timeout in ObjectStorePutOpts by @alexbozhenko in #261
Services
-
fix(service): stop iterators when the subscription closes. by @aricart in #288
-
Update README.md by @alexbozhenko in #262
Transport-Node
- Introduced
NodeTlsOptions
andNodeConnectionOptions
types to handle Node.js-specific TLS configurations, likerejectUnauthorized
. Updatedconnect
, for transport-node, and related logic to support these new options by @aricart in #260
Docs
- doc: add extra link to runtimes to make it more discoverable by @alexbozhenko in #185
- Fix typo in a comment by @williamstein in #266
- Update URL paths for full JetStream examples by @maxdemaio in #267
- fix(doc): runtime was describing
Svc
(the original name of the type) instead ofSvcm
by @aricart in #276 - fix(doc): fixed the deno installation command by @LeUKi in #279
- docs: added new types exposed by the current api by @aricart in #278
- updated docs by @aricart in #280
CI
- chore: remove GitHub action workflows and update package versions by @aricart in #290
- chore: add utility for managing module versions by @aricart in #295
New Contributors
- @williamstein made their first contribution in #266
- @maxdemaio made their first contribution in #267
- @LeUKi made their first contribution in #279
- @Roseidon made their first contribution in #298
Full Changelog: v3.0.2...v3.1.0