-
cc0fe04f3c
feat: add generation-based cache, Stats, HasInterest, NumInterest, RemoveBatch, All, ReverseMatch to SubList
Joseph Doherty
2026-02-23 00:45:28 -05:00
-
cf75077bc4
feat: add CLI flags for debug/trace modes, file logging, syslog, color, timestamps
Joseph Doherty
2026-02-23 00:43:27 -05:00
-
4ad821394b
feat: add -D/-V/-DV debug/trace CLI flags and file logging support
Joseph Doherty
2026-02-23 00:41:49 -05:00
-
b7c0e321d9
fix: move stale connection stat increments to detection site in RunPingTimerAsync
Joseph Doherty
2026-02-23 00:41:12 -05:00
-
0ec5583422
fix: address code quality review findings for batch 1
Joseph Doherty
2026-02-23 00:40:14 -05:00
-
cd4ae3cce6
feat: add stale connection stats tracking and varz exposure
Joseph Doherty
2026-02-23 00:38:43 -05:00
-
eb25d52ed5
feat: add RTT tracking and first-PING delay to NatsClient
Joseph Doherty
2026-02-23 00:34:30 -05:00
-
dddced444e
feat: add NumTokens, TokenAt, SubjectsCollide, UTF-8 validation to SubjectMatch
Joseph Doherty
2026-02-23 00:33:43 -05:00
-
e87d4c00d9
feat: add NatsHeaderParser for MIME header parsing
Joseph Doherty
2026-02-23 00:33:24 -05:00
-
7cf6bb866e
feat: add PermissionLruCache (128-entry LRU) and wire into ClientPermissions
Joseph Doherty
2026-02-23 00:33:15 -05:00
-
17a0a217dd
feat: add MaxSubs, MaxSubTokens, Debug, Trace, LogFile, LogSizeLimit, Tags to NatsOptions
Joseph Doherty
2026-02-23 00:32:12 -05:00
-
573cd06bb1
feat: add logging and timestamp options to NatsOptions
Joseph Doherty
2026-02-23 00:29:45 -05:00
-
a0f02d6641
chore: add Serilog.Sinks.File and SyslogMessages packages
Joseph Doherty
2026-02-23 00:28:32 -05:00
-
5b383ada4b
docs: add implementation plan for sections 3-6 gaps
Joseph Doherty
2026-02-23 00:28:31 -05:00
-
-
060e1ee23d
docs: add implementation plan for sections 7-10 gaps
Joseph Doherty
2026-02-23 00:25:04 -05:00
-
f4efbcf09e
docs: add design for sections 7-10 gaps implementation
Joseph Doherty
2026-02-23 00:17:35 -05:00
-
f86ea57f43
docs: add design for sections 3-6 gaps implementation
Joseph Doherty
2026-02-23 00:17:24 -05:00
-
3941c85e76
Merge branch 'feature/core-lifecycle' into main
Joseph Doherty
2026-02-23 00:09:30 -05:00
-
-
2baf8a85bf
docs: update differences.md section 2 to reflect implemented features
Joseph Doherty
2026-02-22 23:59:19 -05:00
-
f5c0c4f906
feat: wire pending bytes and close reason into connz monitoring
Joseph Doherty
2026-02-22 23:57:39 -05:00
-
5323c8bb30
docs: update differences.md section 1 to reflect core lifecycle implementation
Joseph Doherty
2026-02-22 23:56:57 -05:00
-
2fb14821e0
feat: add no-responders CONNECT validation and tests
Joseph Doherty
2026-02-22 23:56:49 -05:00
-
04305447f9
feat: implement verbose mode (+OK after commands)
Joseph Doherty
2026-02-22 23:54:41 -05:00
-
df39ebdc58
feat: add signal handling (SIGTERM, SIGUSR2, SIGHUP) and CLI stubs
Joseph Doherty
2026-02-22 23:52:49 -05:00
-
bce793fd42
perf: batch stat increments per read cycle in ProcessCommandsAsync
Joseph Doherty
2026-02-22 23:52:09 -05:00
-
e57605f090
feat: add PID file and ports file support
Joseph Doherty
2026-02-22 23:50:22 -05:00
-
c522ce99f5
feat: add delivery tracking and no-responders 503 support to ProcessMessage
Joseph Doherty
2026-02-22 23:49:39 -05:00
-
34067f2b9b
feat: add lame duck mode with staggered client shutdown
Joseph Doherty
2026-02-22 23:48:06 -05:00
-
b289041761
test: add write loop and slow consumer detection tests
Joseph Doherty
2026-02-22 23:47:31 -05:00
-
45de110a84
feat: add flush-before-close for graceful client shutdown
Joseph Doherty
2026-02-22 23:45:26 -05:00
-
b68f898fa0
feat: add graceful shutdown, accept loop backoff, and task tracking
Joseph Doherty
2026-02-22 23:43:25 -05:00
-
31660a4187
feat: replace inline writes with channel-based write loop and batch flush
Joseph Doherty
2026-02-22 23:41:44 -05:00
-
600c6f9e5a
feat: add system account ($SYS) and server NKey identity stubs
Joseph Doherty
2026-02-22 23:39:22 -05:00
-
086b4f50e8
feat: add close reason tracking to NatsClient
Joseph Doherty
2026-02-22 23:36:55 -05:00
-
38eaaa8b83
feat: add ephemeral port (port=0) support
Joseph Doherty
2026-02-22 23:36:01 -05:00
-
ad6a02b9a2
refactor: replace _connectReceived with ClientFlagHolder and add CloseReason tracking
Joseph Doherty
2026-02-22 23:35:35 -05:00
-
9ae75207fc
feat: add ClosedState enum ported from Go client.go
Joseph Doherty
2026-02-22 23:34:05 -05:00
-
61c6b832e5
feat: add MaxPending, WriteDeadline options and error constants
Joseph Doherty
2026-02-22 23:33:49 -05:00
-
d0aa6a5fdd
feat: add lifecycle options (lame duck, PID file, ports file, config stub)
Joseph Doherty
2026-02-22 23:33:44 -05:00
-
1a916a3f36
feat: add ClientFlags bitfield with thread-safe holder
Joseph Doherty
2026-02-22 23:33:21 -05:00
-
8bbfa54058
feat: add ClientClosedReason enum with 16 close reason values
Joseph Doherty
2026-02-22 23:33:13 -05:00
-
-
149c852510
docs: add core lifecycle implementation plan with 12 tasks
Joseph Doherty
2026-02-22 23:31:01 -05:00
-
c2dc503e2e
docs: add core server lifecycle design for section 1 gaps
Joseph Doherty
2026-02-22 23:25:53 -05:00
-
4d89661e79
feat: add monitoring HTTP endpoints and TLS support
Joseph Doherty
2026-02-22 23:13:22 -05:00
-
-
a6e9bd1467
feat: add monitoring port CLI args to server host
Joseph Doherty
2026-02-22 23:08:04 -05:00
-
543b185f7e
fix: address code quality issues from review
Joseph Doherty
2026-02-22 23:07:31 -05:00
-
c40c2cd994
test: add permission enforcement and NKey integration tests
Joseph Doherty
2026-02-22 23:03:41 -05:00
-
9cb3e2fe0f
feat: add per-account SubList isolation for message routing
Joseph Doherty
2026-02-22 23:00:59 -05:00
-
2980a343c1
feat: integrate authentication into server accept loop and client CONNECT processing
Joseph Doherty
2026-02-22 22:55:50 -05:00
-
2a2cc6f0a2
feat: add AuthService orchestrator with priority-ordered authentication
Joseph Doherty
2026-02-22 22:44:58 -05:00
-
6ebe791c6d
feat: add authenticators, Account, and ClientPermissions (Tasks 3-7, 9)
Joseph Doherty
2026-02-22 22:41:45 -05:00
-
3b6bd08248
feat: add TLS mixed mode tests and monitoring TLS field verification
Joseph Doherty
2026-02-22 22:40:03 -05:00
-
19f35e6463
feat: add --tls, --tlscert, --tlskey, --tlscacert, --tlsverify CLI flags
Joseph Doherty
2026-02-22 22:36:57 -05:00
-
9eb108b1df
feat: add /connz endpoint with pagination, sorting, and subscription details
Joseph Doherty
2026-02-22 22:36:28 -05:00
-
87746168ba
feat: wire TLS negotiation into NatsServer accept loop
Joseph Doherty
2026-02-22 22:35:42 -05:00
-
818bc0ba1f
fix: address MonitorServer review — dispose resources, add cancellation, improve test reliability
Joseph Doherty
2026-02-22 22:30:14 -05:00
-
63198ef83b
fix: address TlsConnectionWrapper review — clone ServerInfo, fix SslStream leak, add TLS-first test
Joseph Doherty
2026-02-22 22:28:19 -05:00
-
a52db677e2
fix: track HTTP request stats for all monitoring endpoints
Joseph Doherty
2026-02-22 22:25:00 -05:00
-
562f89744d
feat: add IAuthenticator interface and TokenAuthenticator with constant-time comparison
Joseph Doherty
2026-02-22 22:24:53 -05:00
-
0cce771907
feat: add Account type with per-account SubList and client tracking
Joseph Doherty
2026-02-22 22:22:51 -05:00
-
0409acc745
feat: add TlsConnectionWrapper with 4-mode TLS negotiation
Joseph Doherty
2026-02-22 22:21:11 -05:00
-
5305069dd8
feat: add auth model types (User, NKeyUser, Permissions) and auth config to NatsOptions
Joseph Doherty
2026-02-22 22:21:00 -05:00
-
f2badc3488
feat: add MonitorServer with /healthz and /varz endpoints
Joseph Doherty
2026-02-22 22:20:44 -05:00
-
11dc5e62f3
feat: add auth fields to ServerInfo and ClientOptions protocol types
Joseph Doherty
2026-02-22 22:19:18 -05:00
-
91aff1a867
chore: add NATS.NKeys and BCrypt.Net-Next packages for authentication
Joseph Doherty
2026-02-22 22:17:42 -05:00
-
1c8cc43fb4
docs: add authentication implementation plan with 15 TDD tasks
Joseph Doherty
2026-02-22 22:15:48 -05:00
-
f6b38df291
feat: add TlsHelper, PeekableStream, and TlsRateLimiter
Joseph Doherty
2026-02-22 22:13:53 -05:00
-
045c12cce7
feat: add Varz and Connz monitoring JSON models with Go field name parity
Joseph Doherty
2026-02-22 22:13:50 -05:00
-
b2f7b1b2a0
feat: add -m/--http_port CLI flag for monitoring
Joseph Doherty
2026-02-22 22:10:07 -05:00
-
a26c1359de
refactor: NatsClient accepts Stream parameter for TLS support
Joseph Doherty
2026-02-22 22:09:48 -05:00
-
1a777e09c9
feat: add ServerStats counters and NatsClient metadata for monitoring
Joseph Doherty
2026-02-22 22:04:43 -05:00
-
bca703b310
docs: add authentication design for username/password, token, and NKeys
Joseph Doherty
2026-02-22 22:07:16 -05:00
-
ceaafc48d4
feat: add project setup for monitoring and TLS — csproj, config options, ServerInfo TLS fields
Joseph Doherty
2026-02-22 21:56:33 -05:00
-
1813250a9e
chore: add .worktrees/ to .gitignore for isolated development
Joseph Doherty
2026-02-22 21:54:26 -05:00
-
d08ce7f6fb
chore: add .worktrees/ to .gitignore for isolated development
Joseph Doherty
2026-02-22 21:54:26 -05:00
-
-
b744913296
feat: add server-side PING keepalive with stale connection detection
Joseph Doherty
2026-02-22 21:53:42 -05:00
-
d14d73a7d0
feat: add pedantic subject validation and max payload enforcement on PUB
Joseph Doherty
2026-02-22 21:49:01 -05:00
-
9d0d5064ac
docs: add implementation plan for monitoring HTTP and TLS support
Joseph Doherty
2026-02-22 21:47:23 -05:00
-
0c12b0f6e3
feat: enforce MaxConnections limit in accept loop
Joseph Doherty
2026-02-22 21:44:18 -05:00
-
19e8c65f6d
feat: add -ERR response infrastructure with SendErrAsync and SendErrAndCloseAsync
Joseph Doherty
2026-02-22 21:37:32 -05:00
-
8ee5a7f97b
docs: add design for monitoring HTTP and TLS support
Joseph Doherty
2026-02-22 21:33:24 -05:00
-
16b8f9e2e2
docs: add implementation plan for hardening base server
Joseph Doherty
2026-02-22 21:29:10 -05:00
-
b8acca19dd
docs: add design doc for hardening base server
Joseph Doherty
2026-02-22 21:25:10 -05:00
-
5dee4f5fa6
chore: expand .gitignore with standard .NET/Visual Studio entries
Joseph Doherty
2026-02-22 21:15:39 -05:00
-
2e1e1bb341
fix: resolve slopwatch issues — add logging to empty catches and eliminate test timing delays
Joseph Doherty
2026-02-22 21:14:16 -05:00
-
539b2b7588
feat: add structured logging, Shouldly assertions, CPM, and project documentation
Joseph Doherty
2026-02-22 21:05:53 -05:00
-
b9f4dec523
docs: update CLAUDE.md with verified build and test commands
Joseph Doherty
2026-02-22 20:34:42 -05:00
-
c7fc703d7e
feat: add integration tests using NATS.Client.Core NuGet package
Joseph Doherty
2026-02-22 20:32:16 -05:00
-
96e584c382
feat: add NATS.Server.Host console app with basic CLI arguments
Joseph Doherty
2026-02-22 20:29:23 -05:00
-
1bc6870238
feat: implement NatsServer orchestrator with accept loop and message routing
Joseph Doherty
2026-02-22 20:27:31 -05:00
-
8db2de37cd
feat: implement NatsClient connection handler with read/write pipeline
Joseph Doherty
2026-02-22 20:24:35 -05:00
-
c78dc67973
feat: implement NATS protocol parser with System.IO.Pipelines
Joseph Doherty
2026-02-22 20:19:37 -05:00
-
bc8fee8e39
fix: address SubList code review findings
Joseph Doherty
2026-02-22 20:14:48 -05:00
-
afc419ce3f
feat: implement SubList trie with wildcard matching and cache
Joseph Doherty
2026-02-22 20:07:35 -05:00
-
9e36b7c0fc
feat: add protocol constants, ServerInfo, ClientOptions, and NatsOptions
Joseph Doherty
2026-02-22 20:00:13 -05:00
-
270ab27ce3
feat: add Subscription types and subject validation with wildcard matching
Joseph Doherty
2026-02-22 19:53:49 -05:00
-
05b07407a8
feat: scaffold solution with NATS.Server library, host, and test projects
Joseph Doherty
2026-02-22 19:48:44 -05:00
-
61824260df
feat: add detailed implementation plan for base NATS server port
Joseph Doherty
2026-02-22 19:45:53 -05:00
-
0ea71ace79
Add CLAUDE.md and base server design document
Joseph Doherty
2026-02-22 19:37:32 -05:00