v1.0.0-alpha.3.0
Pre-release
Pre-release
·
7 commits
to main
since this release
Full Changelog: v1.0.0-alpha.2.1...v1.0.0-alpha-3.0
Thrilled to announce AvoOnce 1.0.0-alpha.3.0, a major feature release that brings true flexibility to distributed idempotency!
What's New
Client-Agnostic Redis Support
The idempotency-redis module has been completely refactored. We've removed the hard dependency on Jedis and introduced an Adapter Pattern via the new RedisOperations SPI.
- Bring Your Own Client: You can now use AvoOnce with either Jedis or Lettuce.
- Zero-Bloat Classpath: Both
jedisandlettuce-coreare now marked as optional dependencies. You only load the classes you actually use. - Intelligent Auto-Configuration: If you're using
idempotency-spring-boot-starter, it will automatically scan your Spring context. If it finds aJedisPoolor aRedisClientbean, it will auto-wire the correct idempotency repository seamlessly.
Stability & Bug Fixes
- Auto-Configuration Hardening: Fixed a Spring reflection
NoClassDefFoundErrorbug that could prevent application startup when optional storage dependencies (like Redis or Caffeine) were omitted from the user's classpath. All repository auto-configurations are now safely nested with@ConditionalOnClass. - Robust Acceptance Testing: Added comprehensive Testcontainers-backed integration tests for the Redis implementation, ensuring distributed locks and payload hashing work perfectly in multi-instance simulations.