github nats-io/nats.net v3.3.0
NATS .NET v3.3.0

2 hours ago

NuGet

Breaking for implementers: INatsJSContext, INatsJSStream and INatsSvcServer gained members (push consumer creation and RemoveEndpointAsync). Anything implementing these interfaces directly, such as a test double, needs updating. Callers are unaffected. Default implementations are not possible while the client targets netstandard2.0.

New:

  • Public push consumer API: INatsJSPushConsumer, NatsJSPushConsumerOpts and CreatePushConsumerAsync, CreateOrUpdatePushConsumerAsync, GetPushConsumerAsync and CreateOrderedPushConsumerAsync on the JetStream context and stream. Pull operations on a push consumer throw NatsJSProtocolException (#1231)
  • Opt-in case-sensitive header handling via NatsOpts.CaseSensitiveHeaders. Headers stay case-insensitive by default (#1258)
  • Service endpoints can be stopped individually with INatsSvcServer.RemoveEndpointAsync (#1255)
  • NatsJsonSerializer accepts JsonWriterOptions alongside JsonSerializerOptions (#1253)
  • NatsKVPurgeOpts.RetainRecentlyDeletedKeyHistory keeps the history of recently deleted keys when purging delete markers (#1252)

Fixed:

  • KV reads on buckets with AllowDirect disabled: GetEntryAsync with a revision threw "Unexpected subject", and deleted or purged keys came back as live Put entries (#1240)

Thanks to @Ivandemidov00 for the push consumer API, @adamjones2 for the service endpoint, serializer and KV purge changes, @jeacott1 for the header handling, and @fresh55 for reporting and fixing the KV read bug.

Don't miss a new nats.net release

NewReleases is sending notifications on new releases.