v0.7.6
What's Changed
Bug Fixes
- Raise errors from #pipelined instead of returning them by @KJTsanaktsidis in #297
- Fix #pipelined concurrently using the same Redis connection by @KJTsanaktsidis in #296
- Perform cluster bookeeping tasks before determining retry by @KJTsanaktsidis in #300
- Delete special handling of blocking command timeouts by @KJTsanaktsidis in #306
- Fix underlying RedisClient circuit breakers never firing by @KJTsanaktsidis in #309
- Add middleware to ensure Router only handles errors for its clients by @KJTsanaktsidis in #310
- Fix error identification middleware calling into the wrong super by @KJTsanaktsidis in #315
- fix: don't call the block twice during the transaction by @supercaracal in #318
Refactorings
- Refactor key-slot conversion logic by @KJTsanaktsidis in #301
- Refactor redirection error handling into one block by @KJTsanaktsidis in #307
Test, CI
- Add infrastructure for capturing Redis commands in tests by @KJTsanaktsidis in #304
- ci: appease rubocop by @supercaracal in #303
- ci: test against ruby 3.3 by @supercaracal in #313
- ci: add a workflow for release by @supercaracal in #316
- test: ensure the transaction is legit durling the resharding by @supercaracal in #319
- build: release 0.7.6 by @supercaracal in #321
- ci: install bundler gem helper by @supercaracal in #322
Features (experimental, not official yet)
- Implement RedisClient::Cluster::Command#extract_all_keys by @KJTsanaktsidis in #312
- Implement RedisClient::Cluster#with (again!) by @KJTsanaktsidis in #311
- fix: temporarily remove an experimental feature for the next patch release to prevent to lead to misunderstanding by @supercaracal in #320
New Contributors
- @KJTsanaktsidis made their first contribution in #297 🎉
Full Changelog: v0.7.5...v0.7.6