Skip to content

Releases

v3.4.0

Choose a tag to compare

@aricart aricart released this 08 May 15:05
95e76e7

What's Changed

In addition to fixes and general enhancements this release adds support for exciting nats-server 2.14 JetStream features.

[CORE]

  • FIX: protocol integer parsing rejects non-sensical values (#373) by @aricart
  • FEAT: Symbol.asyncDispose on connections/subscriptions — using auto-closes on scope exit (#396) by @aricart
  • FIX: inboxes match go client _INBOX.<nuid>.<token> (was _INBOX.<nuid>.<nuid>); nuids now base62 see nuid.js (#398) by @aricart
  • FEAT: getServers()/setServers() — clients can list known servers and switch clusters (#400) by @aricart
  • FEAT: reconnectToServer connection option — pick next server and dial delay during reconnect (#403) by @aricart

[JETSTREAM]

  • FEAT: message schedules — messages fire on cron — requires nats-server 2.14+ (#381) by @aricart
  • FEAT: resetConsumer()/reset() on JetStreamManager — reset durable consumer ack sequence; enables order consumers backed by durables — requires nats-server 2.14+ (#391) by @aricart
  • FIX: push consumers stuck on heartbeat (#375) by @aricart
  • FEAT: JetStreamAccountStats/JetStreamApiStats — add reserved_memory, reserved_storage, inflight; max_bytes_required is boolean; tiers use dynamic record (#376) by @aricart
  • FEAT: fast ingest — exposed via orbit fastingest — requires nats-server 2.14+ (#379) by @aricart
  • FEAT: configure stream mirror/source consumers — StreamSource.consumer, StreamConsumerSource, AckPolicy.FlowControl — requires nats-server 2.14+ (#399) by @aricart

[KV]

  • FIX: KV create passes markerTTL via _put (#367) by @Bre77

[OBJ]

  • FEAT: faster entry add via fast ingest (requires nats-server 2.14+); native SHA-256 when available. Note that the fast ingest integration requires a hidden allowBatched: true to be specified as it is still experimental (#394, #397) by @aricart

[DOCS]

New Contributors

Full Changelog: v3.3.1...v3.4.0

v3.4.0-4

v3.4.0-4 Pre-release
Pre-release

Choose a tag to compare

@aricart aricart released this 08 May 14:25
c2b6333

canary

v3.4.0-4

v3.4.0-4 Pre-release
Pre-release

Choose a tag to compare

@aricart aricart released this 08 May 14:03
644b711

canary

v3.4.0-2

v3.4.0-2 Pre-release
Pre-release

Choose a tag to compare

@aricart aricart released this 07 May 22:04
4fca005

canary

v3.4.0-1

v3.4.0-1 Pre-release
Pre-release

Choose a tag to compare

@aricart aricart released this 07 May 21:43
994da46

canary

v3.4.0-0

v3.4.0-0 Pre-release
Pre-release

Choose a tag to compare

@aricart aricart released this 29 Apr 16:22
96241f6

ci release cannary

v3.3.1

Choose a tag to compare

@aricart aricart released this 11 Feb 22:06
d273721

What's Changed

ObjectStore

  • Fixes a check on the validation of the digest. This is an important integrity fix.

All Changes

  • chore(workflows): remove unused NODE_AUTH_TOKEN environment variable from NPM publish steps by @aricart in #356
  • chore(workflows): add workflow_dispatch trigger to test workflow by @aricart in #361
  • fix shadowed digest which was creating self-equals. by @aricart in #364
  • prepare for release by @aricart in #365

Full Changelog: v3.3.0...v3.3.1

v3.3.0

Choose a tag to compare

@aricart aricart released this 16 Dec 21:38
292c14c

What's Changed

Core

  • Subject validation: Validate subjects for illegal whitespace characters (#348)

JetStream

  • Direct API "no results": Handle "no results" status in direct APIs (#336)
  • Stream sequence errors: Handle additional JetStream API error for stream sequence (#353)
  • deleteMessage() change: Stream#deleteMessage() API to default to erase (#334)

WebSocket

  • Custom WsSocketFactory: Expose ability to create WS connections by specifying a WsSocketFactory in WsConnectionOptions (#332)

TypeScript

  • Export fix: Fixed exports so QueuedIterator exports correctly to JetStream (#351)

Documentation

  • TypeScript compiler configuration guide for Node (#341)
  • General documentation updates (#333)

All changes

  • feat: expose in public api ability to create a ws connection by specifying a WsSocketFactory, and referencing it in WsConnectionOptions. by @aricart in #332
  • fix(jestream): fixed the Stream#deleteMessage() api to default erase by @aricart in #334
  • chore(workflows): add parallel support and Coveralls completion step by @aricart in #337
  • feat(jetstream): handle "no results" status in direct APIs by @aricart in #336
  • feat(tests): increase coverage by @aricart in #338
  • feat(core): add reconnect logic for specifying servers by @aricart in #339
  • feat(core): revert reconnect logic for specifying servers by @aricart in #340
  • docs: add TypeScript compiler configuration guide for Node by @aricart in #341
  • feat(tests): added jetstream/jetstreamManager context property by @aricart in #342
  • feat(core): validate subject for illegal whitespace characters by @aricart in #348
  • fix(typescript): fixes to the exports so QueuedIterator exports correctly to JetStream by @aricart in #351
  • feat(jetstream,kv): handle additional JetStream API error for stream seq by @aricart in #353
  • fix(core): improve validation for headers arguments and update test by @aricart in #350
  • update docs by @aricart in #333
  • feat(core): normalize non-array values in MsgHdrs.fromRecord by @aricart in #352
  • test(flapper): ignore sanitizers on cluster test by @aricart in #354
  • refactor: bump dependencies by @aricart in #355

Full Changelog: v3.2.0...v3.3.0

v3.2.0

Choose a tag to compare

@aricart aricart released this 22 Sep 15:48
0552c1d

What's Changed

This release increases stability and adds support for a number of exciting nats-server 2.12 features

JetStream

  • feat: Batch publishing support. JetStream now allows you to publish a number of messages atomically in a batch. #322
  • feat: add allow_msg_counter to stream configurations. This features enables the use of streams as a counter. For an incubating API see orbit counters #317
  • feat: add Raft group and traffic account metadata to cluster types #319
  • feat: Support for message scheduling by setting the streams allow_msg_schedules and using ScheduleOptions in the JetStreamPublishOptions. #321
  • feat: Added support for Prioritized policy for pull consumers #323
  • feat(jetstream): Add support to configure PersistMode stream configurations #327
  • feat: It is now possible to remove stream mirrors via update API #320
  • fix: NATS server 2.12 changed how pending messages were reported when accessed via the Direct API. #314

Key-Value Store

  • feat(kv): introduce key and payload codecs for customizable key-value encoding and decoding #305
  • feat(kv): TTL support entries #306

Object Store

  • fix:replicas api option was leaking into object store configuration where the only supported value, which was set correctly, is num_replicas. Servers 2.12+ which validate configurations would reject the operation if this value was set. #315

Node Transport

  • fix: changed DNS resolution to use dns.lookup() instead of dns.resolveX() as this allows overrides such as /etc/hosts to work properly #310
  • fix: ensure proper cleanup of socket in discard() method. In some container setups under Windows. #309

Full Changelog: v3.1.0...v3.2.0

v3.1.0

Choose a tag to compare

@aricart aricart released this 09 Jul 16:02
7bf6190

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 in PublishOptions, RequestOptions, and RequestManyOptions to enable message tracing with NATS. Trace messages are sent to a traceDestination subject and optionally flagged as traceOnly 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 exceeded max_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

Services

Transport-Node

  • Introduced NodeTlsOptions and NodeConnectionOptions types to handle Node.js-specific TLS configurations, like rejectUnauthorized. Updated connect, 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 of Svcm 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

Full Changelog: v3.0.2...v3.1.0