Changelog for 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
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.