Releases: link-foundation/links-queue
Releases · link-foundation/links-queue
JS 0.15.0
Minor Changes
- 2af9baf: Added observability module with comprehensive metrics, logging, and health checks:
- Metrics: Counter, Gauge, LatencyHistogram with percentiles, QueueMetrics, MetricsRegistry
- Prometheus: PrometheusExporter with text format output, metricsMiddleware for Express/Fastify
- Logging: Structured Logger with JSON/text formats, log rotation, correlation ID tracking
- Health: HealthChecker with liveness/readiness endpoints, component health, Kubernetes-compatible responses
JS 0.14.0
Minor Changes
-
7ca45ec: Add ecosystem integrations and deployment tools
JavaScript Framework Integrations:
- Express.js middleware with request-level facade and RESTful router
- Fastify plugin with decorators and route prefixes
- NestJS module with forRoot/forRootAsync patterns and decorators
- Hono middleware for edge environments (Cloudflare Workers, Deno Deploy)
Deployment Tools:
- Docker images with multi-stage builds for JS and Rust versions
- Docker Compose configurations for single node and cluster deployments
- Kubernetes Helm chart with HPA, PVC, ConfigMap, and ServiceAccount support
CLI Enhancements:
- Queue management commands (create, delete, list, info, purge)
- Message operations (send, receive, peek, ack, reject)
- Cluster management (status, join, leave)
- Statistics and health check commands
JS 0.13.0
Minor Changes
- 8e7a8d7: Add Phase 7 advanced queue features
- Scheduling: Implement
CronParser,Scheduler, andScheduledQueuefor delayed messages, cron jobs, TTL, and message expiration - Rate Limiting: Implement
SlidingWindowCounter,TokenBucket,RateLimiter, andRateLimitedQueuewith sliding window algorithm - Routing: Implement
TopicMatcher,DirectExchange,TopicExchange,FanoutExchange,HeadersExchange,Router, andRoutedQueueManagerfor topic-based routing with AMQP-style wildcards - Pub/Sub: Implement
MessageFilter,PubSubBroker,ObservableQueue, andQueueBackedPubSubfor publish/subscribe patterns with message filtering
- Scheduling: Implement
JS 0.12.0
Minor Changes
- ed40d4e: Add Binary Links Notation protocol for efficient link serialization
- Implement binary encoder/decoder with 20-40% size reduction over text notation
- Add LEB128 variable-length integer encoding for compact numeric values
- Support nested links, self-references, and typed values (null, boolean, string, integer)
- Add protocol negotiation mechanism for client-server capability exchange
- Include comprehensive benchmark tests comparing binary vs text performance
Patch Changes
- a3b228f: Add comprehensive test infrastructure including Vitest for coverage, test fixtures, helpers, and mock backends
JS 0.8.0
Minor Changes
- 49c0bec: Add LinksQueue and MemoryQueueManager implementations
- Implement
LinksQueueclass with FIFO ordering, visibility timeout, at-least-once delivery, acknowledgment/rejection, and dead letter queue support - Implement
MemoryQueueManagerfor managing named queues with create/delete/get/list operations - Implement
DeliveryTrackerfor in-flight item tracking with visibility timeouts and retry counting - Add TypeScript declarations for all new modules
- Add comprehensive tests (50+ tests for queue implementation)
- Implement
JS 0.7.0
Minor Changes
- 8442af6: Implement Queue and QueueManager for JavaScript
- Add
MemoryQueueclass for FIFO queue with visibility timeout - Add
MemoryQueueWithStoragewrapper for proper requeue support - Add
MemoryQueueManagerfor queue lifecycle management - Add
DeliveryTracker,DeliveryRecord, andDeliveryStatefor delivery tracking - Support at-least-once delivery guarantee with retry limits
- Support dead letter queue routing for failed messages
- Full API parity with Rust implementation
- Add
JS 0.6.0
Minor Changes
- 7539cee: Implement link-cli storage backend for persistent storage
- Add
LinkCliBackendclass implementing StorageBackend interface - Add
LinkCliProcessfor managing link-cli child processes - Support CRUD operations via Links Notation protocol
- Register link-cli backend in BackendRegistry
- Full TypeScript type definitions for all new exports
- Comprehensive unit tests with mocked link-cli
- Add
JS 0.11.0
Minor Changes
- dcb7106: Add multi-node clustering support for distributed queue operation
- Implement ClusterCoordinator for cluster coordination and management
- Add NodeDiscovery for static and DNS-based node discovery
- Add PartitionManager with consistent hashing for queue distribution
- Add GossipProtocol for peer-to-peer membership management
- Add ClusterError for cluster-specific error handling
- Support node health checking with configurable timeouts
- Implement simple leader election based on lexicographic node ID ordering
- Add partition assignment and rebalancing on topology changes
- Emit cluster events: node-joined, node-left, node-suspect, leader-changed, rebalance-started, rebalance-completed
- Add comprehensive unit tests for all cluster components
JS 0.10.0
Minor Changes
- d8b7c82: Add TCP server mode for Links Queue
- Implement LinksQueueServer with TCP socket support
- Implement LinksQueueClient for connecting to TCP servers
- Add CLI command for starting server:
links-queue server - Support all queue operations over TCP: push, pop, peek, list, delete, getStats
- Add connection management with idle timeout and max connections
- Add graceful shutdown with connection draining
JS 0.5.0
Minor Changes
-
20a50af: Integrate links-notation library for parsing and serialization
- Add
links-notationas a production dependency - Add
LinksNotationclass withparse()andstringify()methods - Add
NotationParserfor custom parser configurations - Add
NotationStreamParserfor streaming large inputs - Add
NotationParseErrorfor detailed parse error information - Add protocol message types (
RequestType,ResponseStatus,ErrorCode) - Add
MessageandMessageBuilderclasses for protocol communication - Add helper functions for creating request/response messages
- Full TypeScript type definitions for all new exports
- Comprehensive unit tests for parsing, serialization, and messages
- Add
-
1f1be69: Add pluggable StorageBackend interface for switching between storage backends via configuration
- Add
StorageBackendinterface with lifecycle, CRUD, batch, and metadata operations - Add
BackendCapabilitiesandBackendStatstypes for backend introspection - Add
MemoryBackendAdapterwrappingMemoryLinkStorewithStorageBackendinterface - Add
BackendRegistryfor registering and creating backends by configuration - Add comprehensive tests for backend registry and adapter
- Add