Joseph Doherty
636906f545
feat: scaffold namespaces for data structures, FileStore, and RAFT
...
Add stub source files for Internal/Avl, Internal/SubjectTree, Internal/Gsl,
Internal/TimeHashWheel, Raft/RaftState, and Raft/IRaftNode, plus empty test
directories for all new namespaces and a Concurrency suite directory.
2026-02-23 20:42:42 -05:00
Joseph Doherty
61b1a00800
feat: phase C jetstream depth test parity — 34 new tests across 7 subsystems
...
Stream lifecycle, publish/ack, consumer delivery, retention policy,
API endpoints, cluster formation, and leader failover tests ported
from Go nats-server reference. 1006 total tests passing.
2026-02-23 19:55:31 -05:00
Joseph Doherty
7ffee8741f
feat: phase A foundation test parity — 64 new tests across 11 subsystems
...
Port Go NATS server test behaviors to .NET:
- Client pub/sub (5 tests): simple, no-echo, reply, queue distribution, empty body
- Client UNSUB (4 tests): unsub, auto-unsub max, unsub after auto, disconnect cleanup
- Client headers (3 tests): HPUB/HMSG, server info headers, no-responders 503
- Client lifecycle (3 tests): connect proto, max subscriptions, auth timeout
- Client slow consumer (1 test): pending limit detection and disconnect
- Parser edge cases (3 tests + 2 bug fixes): PUB arg variations, malformed protocol, max control line
- SubList concurrency (13 tests): race on remove/insert/match, large lists, invalid subjects, wildcards
- Server config (4 tests): ephemeral port, server name, name defaults, lame duck
- Route config (3 tests): cluster formation, cross-cluster messaging, reconnect
- Gateway basic (2 tests): cross-cluster forwarding, no echo to origin
- Leaf node basic (2 tests): hub-to-spoke and spoke-to-hub forwarding
- Account import/export (2 tests): stream export/import delivery, isolation
Also fixes NatsParser.ParseSub/ParseUnsub to throw ProtocolViolationException
for short command lines instead of ArgumentOutOfRangeException.
Full suite: 933 passed, 0 failed (up from 869).
2026-02-23 19:26:30 -05:00
Joseph Doherty
081ff1b0db
docs: synchronize strict full go parity evidence and status
2026-02-23 15:03:35 -05:00
Joseph Doherty
1c0fc8fc11
feat: add runtime profiling parity and close config runtime drift
2026-02-23 14:56:27 -05:00
Joseph Doherty
148ff9ebb6
feat: implement jetstream governance runtime parity semantics
2026-02-23 14:54:30 -05:00
Joseph Doherty
0413ff6ae9
feat: implement strict raft consensus and convergence parity
2026-02-23 14:53:18 -05:00
Joseph Doherty
56177a7099
feat: enforce filestore durability and recovery invariants
2026-02-23 14:51:30 -05:00
Joseph Doherty
3896512f84
feat: complete jetstream mirror source strict runtime parity
2026-02-23 14:50:18 -05:00
Joseph Doherty
7bea35aaa8
feat: harden jetstream consumer state machine parity
2026-02-23 14:48:47 -05:00
Joseph Doherty
cdde3c7a1d
feat: implement strict retention runtime parity for jetstream
2026-02-23 14:47:24 -05:00
Joseph Doherty
b2312c0dac
feat: enforce mqtt auth tls and keepalive semantics
2026-02-23 14:45:37 -05:00
Joseph Doherty
7dcf5776b3
feat: implement mqtt session and qos ack runtime semantics
2026-02-23 14:43:08 -05:00
Joseph Doherty
7faf42c588
feat: implement mqtt packet-level parser and writer
2026-02-23 14:41:23 -05:00
Joseph Doherty
958c4aa8ed
feat: harden gateway reply remap and leaf loop transparency
2026-02-23 14:40:07 -05:00
Joseph Doherty
d83b37fec1
feat: make inter-server interest propagation idempotent
2026-02-23 14:38:23 -05:00
Joseph Doherty
6a05308143
feat: enforce account-scoped remote delivery semantics
2026-02-23 14:36:44 -05:00
Joseph Doherty
377ad4a299
feat: complete jetstream deep operational parity closure
2026-02-23 13:43:14 -05:00
Joseph Doherty
2b64d762f6
feat: execute full-repo remaining parity closure plan
2026-02-23 13:08:52 -05:00
Joseph Doherty
b41e6ff320
feat: execute post-baseline jetstream parity plan
2026-02-23 12:11:19 -05:00
Joseph Doherty
8bce096f55
feat: complete final jetstream parity transport and runtime baselines
2026-02-23 11:04:43 -05:00
Joseph Doherty
f46b331921
feat: complete remaining jetstream parity implementation plan
2026-02-23 10:16:16 -05:00
Joseph Doherty
3fea2da2cf
Fix merge regressions after jetstream parity merge
2026-02-23 08:56:15 -05:00
Joseph Doherty
a8985ecb1a
Merge branch 'codex/jetstream-full-parity-executeplan' into main
...
# Conflicts:
# differences.md
# docs/plans/2026-02-23-jetstream-full-parity-plan.md
# src/NATS.Server/Auth/Account.cs
# src/NATS.Server/Configuration/ConfigProcessor.cs
# src/NATS.Server/Monitoring/VarzHandler.cs
# src/NATS.Server/NatsClient.cs
# src/NATS.Server/NatsOptions.cs
# src/NATS.Server/NatsServer.cs
2026-02-23 08:53:44 -05:00
Joseph Doherty
6c83f12e5c
feat: add reload semantics for cluster and jetstream options
2026-02-23 06:23:34 -05:00
Joseph Doherty
2aa7265db1
feat: enforce account jetstream limits and jwt tiers
2026-02-23 06:21:51 -05:00
Joseph Doherty
ccbcf759a9
feat: implement jsz and live jetstream monitoring
2026-02-23 06:19:41 -05:00
Joseph Doherty
c87661800d
feat: add stream replica groups and leader stepdown
2026-02-23 06:17:30 -05:00
Joseph Doherty
23216d0a48
feat: integrate jetstream meta-group placement
2026-02-23 06:16:01 -05:00
Joseph Doherty
71f7f569b9
Merge branch 'feature/mqtt-connection-type'
2026-02-23 06:15:32 -05:00
Joseph Doherty
3531a87de0
Merge branch 'feature/system-account-types'
...
Add SYSTEM and ACCOUNT connection types with InternalClient,
InternalEventSystem, system event publishing, request-reply services,
and cross-account import/export support.
2026-02-23 06:14:11 -05:00
Joseph Doherty
005600b9b8
feat: implement raft snapshot catchup
2026-02-23 06:13:08 -05:00
Joseph Doherty
ecc4752c07
feat: implement raft log replication and apply
2026-02-23 06:12:18 -05:00
Joseph Doherty
66ec378bdc
feat: implement raft election and term state
2026-02-23 06:11:28 -05:00
Joseph Doherty
f1d3c19594
feat: add jetstream mirror and source orchestration
2026-02-23 06:10:41 -05:00
Joseph Doherty
d3aad48096
feat: enforce jetstream ack and redelivery semantics
2026-02-23 06:09:26 -05:00
Joseph Doherty
fecb51095f
feat: implement jetstream push delivery and heartbeat
2026-02-23 06:08:14 -05:00
Joseph Doherty
54207e2906
feat: expand mqtt varz monitoring with all Go-compatible fields
2026-02-23 06:07:38 -05:00
Joseph Doherty
9a0de19c2d
feat: implement jetstream pull consumer fetch
2026-02-23 06:07:02 -05:00
Joseph Doherty
40b940b1fd
feat: add jetstream consumer api lifecycle
2026-02-23 06:06:02 -05:00
Joseph Doherty
6825839191
feat: add jetstream publish preconditions and dedupe
2026-02-23 06:05:01 -05:00
Joseph Doherty
d73e7e2f88
feat: enforce jetstream retention and limits
2026-02-23 06:04:23 -05:00
Joseph Doherty
86283a7f97
feat: add latency tracking for service import request-reply
2026-02-23 06:03:37 -05:00
Joseph Doherty
95691fa9e7
feat: route publishes to jetstream with puback
2026-02-23 06:03:24 -05:00
Joseph Doherty
5f530de2e4
feat: add jetstream stream lifecycle api
2026-02-23 06:02:07 -05:00
Joseph Doherty
4450c27381
feat: add response routing for service import request-reply patterns
2026-02-23 06:01:53 -05:00
Joseph Doherty
788f4254b0
feat: implement jetstream filestore recovery baseline
2026-02-23 06:00:42 -05:00
Joseph Doherty
64e3b1bd49
feat: implement jetstream memstore core behavior
2026-02-23 06:00:10 -05:00
Joseph Doherty
cae09f9091
feat: define jetstream storage interfaces
2026-02-23 05:59:39 -05:00
Joseph Doherty
c9066e526d
feat: wire service import forwarding into message delivery path
...
Add ProcessServiceImport method to NatsServer that transforms subjects
from importer to exporter namespace and delivers to destination account
subscribers. Wire service import checking into ProcessMessage so that
publishes matching a service import "From" pattern are automatically
forwarded to the destination account. Includes MapImportSubject for
wildcard-aware subject mapping and WireServiceImports for import setup.
2026-02-23 05:59:36 -05:00