Changes for version 0.01 - 2026-04-09
- Initial release
- Pure XS NATS client protocol (PUB, SUB, UNSUB, MSG, HMSG)
- Request/reply with automatic inbox management
- Queue group subscriptions with reconnect restore
- Auto-reconnect with exponential backoff + jitter
- Server pool with cluster URL failover from INFO
- Write coalescing via ev_prepare for high throughput
- O(1) subscription lookup via hash table
- Graceful drain (UNSUB all, PING fence, callback, disconnect)
- Optional TLS via OpenSSL (auto-detected at build time)
- NKey/JWT authentication with Ed25519 signing
- JetStream API (EV::Nats::JetStream)
- Key-Value store (EV::Nats::KV)
- Object store with chunked upload/download (EV::Nats::ObjectStore)
- Publish batching API
- Slow consumer detection with configurable threshold
- Lame duck mode notification
- Per-connection stats counters
- Unix domain socket support
- TCP and Unix socket support
- flush() with PONG callback tracking
- Headers support (HPUB/HMSG)
- Auto-unsub state restored on reconnect
- max_payload enforcement on send and receive
Modules
High-performance asynchronous NATS client using EV
JetStream API for EV::Nats
Key-Value store API for NATS JetStream
Object store API for NATS JetStream
Examples
- eg/chat.pl
- eg/circuit_breaker.pl
- eg/config_watcher.pl
- eg/distributed_lock.pl
- eg/event_sourcing.pl
- eg/health_checker.pl
- eg/jetstream.pl
- eg/kv_store.pl
- eg/log_aggregator.pl
- eg/monitoring.pl
- eg/nkey_auth.pl
- eg/pubsub.pl
- eg/queue_workers.pl
- eg/rate_limiter.pl
- eg/reconnect.pl
- eg/request_reply.pl
- eg/task_pipeline.pl
- eg/tls.pl