Skip to content

Releases: synadia-io/orbit.net

PCGroups 1.0.0-preview.7

30 May 05:56
a405fdc

Choose a tag to compare

Pre-release

NuGet

  • Support drain-on-dispose for PCGroups consumers (#66)

JetStream.Publisher 1.0.0-preview.7

08 May 10:02
66fb011

Choose a tag to compare

Pre-release

NuGet

Preview release of JetStream.Publisher adding end-of-batch sentinel support to NatsJSBatchPublisher. Requires NATS Server 2.14+ for the new CloseAsync path.

  • Add end-of-batch sentinel to Batch Publisher (#62)

JetStream.Publisher 1.0.0-preview.6

06 May 08:44
d273f1c

Choose a tag to compare

Pre-release

NuGet

Adds NatsJSFastPublisher for fast-ingest batch publishing per ADR-50: high-throughput, non-atomic batch publishing with server-driven flow control. Requires nats-server v2.14+ and StreamConfig.AllowBatchPublish = true.

  • Add JetStream fast-ingest batch publisher (#60)

Local benchmark

Single producer to a local nats-server v2.14 on the same host, 200,000 messages of 128 bytes, 3 iterations per backend. Stream purged between runs. Numbers will vary on different hardware, network, and stream configurations; treat as a relative comparison only.

Backend Min Median Max vs Serial
Serial 7,541 7,746 7,768 1.00x
Concurrent 94,965 95,481 96,724 12.33x
Publisher 136,733 137,082 139,655 17.70x
FastPublisher 141,992 147,359 147,584 19.02x

Reproducible via tools/OrbitPublish compare.

JetStream.Extensions 1.0.0-preview.5

01 May 12:03
c590583

Choose a tag to compare

Pre-release

NuGet

Adds cron schedule support to NatsMsgSchedule per ADR-51 rev 7. New TimeZone init property and predefined-schedule factories (Yearly, Monthly, Weekly, Daily, Hourly) plus a Cron(expr, target) factory.

  • Add cron schedule support (#58)

JetStream.Publisher 1.0.0-preview.5

29 Apr 09:43
651e885

Choose a tag to compare

Pre-release

Adds NatsMemoryOwner<byte> payload support to the batch publisher, allowing zero-copy scenarios where ownership of pooled memory transfers to the publisher. Thanks to @colprog for the feature request.

  • Make batch publisher payload generic (#55)

Synadia.Orbit.JetStream.Publisher v1.0.0-preview.4

23 Apr 12:11
6d1bf36

Choose a tag to compare

Adds atomic batch publishing for JetStream. Requires NATS server v2.12+.

  • Add JetStream batch publishing (#10)

Download from NuGet

Synadia.Orbit.Testing.NatsServerProcessManager v1.0.0-preview.4

20 Apr 11:38
d7362c2

Choose a tag to compare

Fix intermittent test server startup failures where the ports file was read before nats-server finished writing it.

  • tests: retry ports file parse on empty read (#50)

Download from NuGet

Synadia.Orbit.PCGroups v1.0.0-preview.6

27 Mar 15:25
115e407

Choose a tag to compare

Pre-release

What's new

  • Multiple filters per consumer group: Static groups use Filters (string array), elastic groups use PartitioningFilters array of {filter, partitioning_wildcards} pairs
  • Empty PartitioningFilters: Empty array defaults to > with full-subject partitioning (requires NATS 2.12+)
  • Cross-language interop: JSON config in KV is now interoperable with orbit.go pcgroups/v0.2.0 and Java

Breaking changes

  • Static config: Filter replaced by Filters (string array)
  • Elastic config: separate Filter/Filters/PartitioningWildcards replaced by PartitioningFilters array
  • Full-subject partitioning uses empty partitioning_wildcards array [] instead of [-1] sentinel
  • Partition filter format is {partition}.{filter} (e.g. 0.orders.*) instead of {partition}.>

Thanks to @colprog for driving the multi-filter work and pushing this forward!

Download from NuGet

Synadia.Orbit.Testing.NatsServerProcessManager v1.0.0-preview.3

17 Mar 14:33
4d64809

Choose a tag to compare

Add Go interop testing runner (#43)

* Add Go interop testing runner

* Annotate test Go code snippets with language directive and update Go modules syntax

* Refactor Go module handling and cross-targeting compatibility

Enhanced Go module initialization logic, updated dependency example versions, and improved compatibility with pre-.NET Standard 2.0 targets by adding conditional directives.

Synadia.Orbit.Testing.GoHarness v1.0.0-preview.1

17 Mar 14:29
4d64809

Choose a tag to compare

Add Go interop testing runner (#43)

* Add Go interop testing runner

* Annotate test Go code snippets with language directive and update Go modules syntax

* Refactor Go module handling and cross-targeting compatibility

Enhanced Go module initialization logic, updated dependency example versions, and improved compatibility with pre-.NET Standard 2.0 targets by adding conditional directives.