Releases: nats-io/nats.deno
v1.12.1
v1.12.0
What's Changed
There's a notable change in this release related to a revert to a strict validation on consumer and stream names introduced here. The current validation aligns with what the nats-cli accepts for stream and consumer names.
- [FIX] [JS] revert strict validation on consumer/stream names by @aricart in #474
- 1.12.0 by @aricart in #480
Full Changelog: v1.11.0...v1.12.0
v1.11.0
What's Changed
This release further enhances the beta/experimental service API feature and introduces the capability of hosting multiple endpoints in a single service. This means that stats and schema reporting are now specific to an endpoint, but collected for the entire service on a stats or schema request.
To add an endpoint, addEndpoint()
is used. This call takes a simple name, an optional callback (or the return value is an iterator) or a set of options with an optional subject
, handler
and schema
. The name provided to the endpoint is stored and can be used to identify stats collected for the endpoint. By default addEndpoint()
on the service adds to an empty group, so the subjects would be flat (not grouped).
To group endpoints in a common subject root, use addGroup()
which allows you to specify a subject to be used as prefix. You can endpoints or groups to a group. The full chain of the group to the endpoint determines the subject where the endpoint listens.
Other changes
- [CHANGE] [SRV] the endpoint configuration in the service is now optional - if specified, the endpoint is added as the
default
endpoint, but listening on the specified subject. The endpoint configuration now also houses the schema details for the endpoint. - [FEAT] [SRV] responses to monitoring/discovery have a
type
- [CHANGE] [SRV] stats and schema, are now per endpoint
endpoints
in the service's response - [FEAT] [SRV] schema now has an
api_url
field that can be set to any URL where the service developer wants to store/reference documentation. Each endpoint can report its own schema (specified during add or as part of endpoint configuration) underschema
Full Changelog: v1.10.3...v1.11.0
v1.10.3
What's Changed
- [FIX] [CORE] prevent the client from closing due to expired credentials if there's a subsequent reconnect after an expired credential by @aricart in #450
- [FIX] [OS]
expose
timeout onput
, for really large assets, it is possible for thepublish
request to timeout by @aricart in #457 - [FIX] [TEST] fixed flapper tests by @aricart in #458
- [FIX] [DOC] [JS] heatbeat example was not up-to-date, an updated example showing the behavior of missed heartbeats on JS push subscriber. by @aricart in #446
Full Changelog: v1.10.2...v1.10.3
v1.10.2
v1.10.1
v1.10.0
What's Changed
The most notable change is the introduction of the NATS service API that makes it even easier to implement services using NATS.
- [FIX] [JS] publish with
expect.lastSequence
orexpect.lastSubjectSequence
set to0
was not honored by @aricart in #433 - [FEAT] [SERVICE] service framework by @aricart in #383
- [FEAT] [CORE] added option to customize the jitter setting in RequestMany by @aricart in #405
- [FIX] [CORE] remove remembering of permissions error by @aricart in #406
- [CHANGE] [CORE] subscriptions that get a permissions error are now discarded and won't automatically resub in case of a disconnect @aricart in #408
- [FIX] [CORE] properly resolve the close promise when close() in a disconnected state by @aricart in #415
- [BUMP] Deno to 1.29.1 and std to 0.168.0 by @aricart in #434
- [DOCS] update by @aricart in #435
Deno Specific Changes
[FIX] Deno 1.29.1 revealed a Conn
leak when the client failed to connect due to an exception. #423
Full Changelog: v1.9.3...v1.10.0
v1.9.3
v1.9.2
What's Changed
- [FIX]
processInfo()
unexpected error was mapped asBadAuthentication
, when it should just be the error it was by @aricart in #413 - [FIX] jetstream
fetch()
error while disconnected from the server resulted in a connectionclose()
by @aricart in #417
Full Changelog: v1.9.1...v1.9.2
v1.9.1
What's Changed
- [FEAT] Added connect option
ignoreAuthErrorAbort
which disables a connection abort when the client fails to authenticate twice with the same error. by @aricart in #409 - [FIX] Remove ambiguity on async errors by only recording non-permission errors, also subscriptions for which a permission error is raised by the server are now closed and reaped @aricart in #410
- [FEAT] Several Authenticator Enhancements - all authenticators can now specify a function for values, and values are not pre-cached, so it is possible for the client to obtain additional credentials and use them to reconnect. Note these functions cannot delay the authentication process or client may be disconnected by the server if a deadline is exceeded. by @aricart in #412
Full Changelog: v1.9.0...v1.9.1