Changelog of @hackage/hask-redis-mux 0.1.0.0

Revision history for redis-client

0.6.0.0 -- 2026-02-13

  • Multiplexing Now Default
    • Cluster mode (ClusterConfig) now uses multiplexing by default (clusterUseMultiplexing = True). Set clusterUseMultiplexing = False to opt out.
  • New: Standalone Multiplexed Client
    • Added StandaloneClient module for pipelined throughput on a single (non-cluster) Redis server.
    • Provides createStandaloneClient, createStandaloneClientFromConfig, closeStandaloneClient, and runStandaloneClient lifecycle functions.
    • StandaloneConfig allows tuning multiplexer count and toggling multiplexing on/off.
    • Implements RedisCommands typeclass — all existing commands work transparently.
    • Re-exported from the top-level Redis module.
  • Testing
    • Added MultiplexerSpec — 14 unit tests for multiplexer internals (slot pool, response slot, lifecycle).
    • Added MultiplexPoolSpec — 8 unit tests for per-node multiplexer management and round-robin routing.
    • Added standalone E2E tests for all command families (string, hash, list, set, sorted set).
    • Added concurrency stress tests (50+ threads, submit-after-destroy, multi-multiplexer distribution).

0.5.0.0 -- 2026-02-05

  • Major Feature: Redis Cluster Support
    • Implemented full cluster support including topology management, connection pooling, and slot routing.
    • Added smart routing with automatic MOVED and ASK redirection handling.
    • Updated fill, cli, and tunnel modes to work seamlessly with Redis Cluster.
    • Added "Pinned Proxy" mode to support specific cluster proxy configurations.
    • Fixed hostname rewriting for cluster nodes in tunnel mode.
  • Infrastructure & Testing
    • Added comprehensive End-to-End (E2E) tests for Cluster scenarios (Basic, Fill, Tunnel, CLI).
    • Updated build system to prefer nix-build and make test.
    • Added GitHub Actions workflows for automated testing and bootstrapping.
  • Fill Operation Enhancements
    • Added configurable --key-size and --value-size support for realistic workload simulation.
    • Added --pipeline configuration for explicit batch size control.
    • Removed REDIS_CLIENT_FILL_CHUNK_KB environment variable in favor of explicit flags.
    • Fixed fill calculation logic to ensure exact data generation matching requested sizes.
  • Improvements
    • Fixed various race conditions and unsafe head usage.
    • Improved error handling for CROSSSLOT operations.
    • Refactored codebase for better maintainability (Cluster separation).

0.4.0.0 -- 2026-02-02

  • Azure Integration
    • Added azure-redis-connect python script for Azure Redis Cache discovery and connectivity.
    • Added support for Entra authentication (username/OID retrieval from JWT).
  • Performance Optimization
    • Optimized data filling with parallel noise generation strategies.
    • Optimized connection handling (parallel connections adjustment).
  • DevOps
    • Added agent testing infrastructure.

0.3.0.0 -- 2025-10-15

  • Command Expansion
    • Added support for Geo commands.
    • Expanded standard Redis command set support.
  • Build System
    • Added flake.nix for modern Nix support.
    • Fixed inefficient store usage in build.
  • Testing
    • Added tunneling tests.

0.2.0.0 -- 2025-03-28

  • New Architectures
    • Added "Tunnel mode" for proxying Redis connections.
    • Added TLS client support.
    • Added Pipelining support for improved throughput.
  • CLI & Usability
    • Added argument parsing for the CLI application.
    • Added support for arrow key navigation in CLI.
    • Added DNS resolution support.
  • Core Improvements
    • Refactored RESP parsing logic.
    • Improved Incremental network reading (State monad refactor).
    • Added basic E2E testing framework.

0.1.0.0 -- 2025-02-11

  • First version.
  • Basic RESP data types.
  • Simple plaintext client implementation.