Contents
Changelog
All notable changes to ulak will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.0.1 (2026-04-15)
Features
- initial commit (a928cf0)
[0.0.0]
Added
- Core transactional ulak with
send(),send_with_options(),send_batch(), andsend_batch_with_priority()functions. - Pub/Sub system with
publish(),publish_batch(), event types, and subscriptions. - Six protocol dispatchers: HTTP (always enabled), Kafka, MQTT, Redis Streams,
AMQP, and NATS (conditional compilation via
ENABLE_*flags). - Batch dispatch support for Kafka, MQTT, and AMQP with async produce/flush.
- Multi-worker background processing with modulo-based queue partitioning
(
bgw_main_arg = (total_workers << 16) | worker_id). - Circuit breaker per endpoint with configurable threshold and cooldown.
- Dead-letter queue (DLQ) with
redrive_message(),redrive_endpoint(),redrive_all(), anddlq_summary(). - Monthly-partitioned archive table with
replay_message()andreplay_range(). - Backpressure control via
max_queue_sizeGUC. - GUC parameters covering core, retry, circuit breaker, HTTP, Kafka, Redis, MQTT, AMQP, NATS, data retention, and response capture.
- RBAC with three roles:
ulak_admin,ulak_application,ulak_monitor. - HTTP dispatcher with libcurl, curl_multi batching, SSRF protection, OAuth2, SigV4, and Bearer/Basic/API-key authentication.
- Kafka dispatcher with librdkafka, delivery reports, and batch produce.
- MQTT dispatcher with libmosquitto, QoS levels, and PUBACK-based batch mode.
- Redis Streams dispatcher with hiredis, TLS support, and consumer groups.
- AMQP dispatcher with librabbitmq, publisher confirms, and batch produce.
- NATS dispatcher with Core NATS / JetStream publishing and batch flush support.
- Shared memory worker registry with LWLock coordination.
- LISTEN/NOTIFY integration for low-latency message wake-up.
FOR UPDATE SKIP LOCKEDconcurrent queue consumption.- Ordering key support for per-key sequential delivery.
- Idempotency key support with conflict detection.
- Scheduled message delivery via
scheduled_atparameter. - Message TTL with automatic expiration via
mark_expired_messages(). - CloudEvents envelope support for HTTP dispatcher.
- Webhook HMAC signature verification.
- 27 regression tests, 12 isolation tests, and 3 TAP tests with
make installcheck. - Docker Compose development environment with all protocol services.
- GitHub Actions CI for PostgreSQL 14-18 testing and static analysis.
This entry describes the initial contents of version 0.0.0.