Skip to content

Releases: link-foundation/links-queue

JS 0.15.0

21 Jan 15:52

Choose a tag to compare

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

21 Jan 11:18

Choose a tag to compare

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

21 Jan 11:13

Choose a tag to compare

Minor Changes

  • 8e7a8d7: Add Phase 7 advanced queue features
    • Scheduling: Implement CronParser, Scheduler, and ScheduledQueue for delayed messages, cron jobs, TTL, and message expiration
    • Rate Limiting: Implement SlidingWindowCounter, TokenBucket, RateLimiter, and RateLimitedQueue with sliding window algorithm
    • Routing: Implement TopicMatcher, DirectExchange, TopicExchange, FanoutExchange, HeadersExchange, Router, and RoutedQueueManager for topic-based routing with AMQP-style wildcards
    • Pub/Sub: Implement MessageFilter, PubSubBroker, ObservableQueue, and QueueBackedPubSub for publish/subscribe patterns with message filtering

JS 0.12.0

20 Jan 22:35

Choose a tag to compare

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

18 Jan 12:36

Choose a tag to compare

Minor Changes

  • 49c0bec: Add LinksQueue and MemoryQueueManager implementations
    • Implement LinksQueue class with FIFO ordering, visibility timeout, at-least-once delivery, acknowledgment/rejection, and dead letter queue support
    • Implement MemoryQueueManager for managing named queues with create/delete/get/list operations
    • Implement DeliveryTracker for 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)

JS 0.7.0

18 Jan 12:10

Choose a tag to compare

Minor Changes

  • 8442af6: Implement Queue and QueueManager for JavaScript
    • Add MemoryQueue class for FIFO queue with visibility timeout
    • Add MemoryQueueWithStorage wrapper for proper requeue support
    • Add MemoryQueueManager for queue lifecycle management
    • Add DeliveryTracker, DeliveryRecord, and DeliveryState for 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

JS 0.6.0

18 Jan 11:52

Choose a tag to compare

Minor Changes

  • 7539cee: Implement link-cli storage backend for persistent storage
    • Add LinkCliBackend class implementing StorageBackend interface
    • Add LinkCliProcess for 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

JS 0.11.0

18 Jan 21:01

Choose a tag to compare

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

18 Jan 13:38

Choose a tag to compare

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

17 Jan 23:20

Choose a tag to compare

Minor Changes

  • 20a50af: Integrate links-notation library for parsing and serialization

    • Add links-notation as a production dependency
    • Add LinksNotation class with parse() and stringify() methods
    • Add NotationParser for custom parser configurations
    • Add NotationStreamParser for streaming large inputs
    • Add NotationParseError for detailed parse error information
    • Add protocol message types (RequestType, ResponseStatus, ErrorCode)
    • Add Message and MessageBuilder classes 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
  • 1f1be69: Add pluggable StorageBackend interface for switching between storage backends via configuration

    • Add StorageBackend interface with lifecycle, CRUD, batch, and metadata operations
    • Add BackendCapabilities and BackendStats types for backend introspection
    • Add MemoryBackendAdapter wrapping MemoryLinkStore with StorageBackend interface
    • Add BackendRegistry for registering and creating backends by configuration
    • Add comprehensive tests for backend registry and adapter