Skip to content

v1.0.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@raghavocode raghavocode released this 24 Jun 18:33
· 21 commits to main since this release

v1.0.0-alpha.1

Here's the initial alpha release of AvoOnce, a robust, framework-agnostic distributed idempotency starter!

This initial pre-release focuses on bringing seamless, zero-code exactly-once processing to Spring Boot applications using an in-memory storage strategy.

🚀 Key Features in this Release

  • Zero-Code Integration: A fully automated Servlet Filter for Spring Web MVC that intercepts requests and enforces the Idempotency-Key state machine without altering business logic.
  • Safe-by-default In-Memory Storage: Full integration with Caffeine caching (idempotency-caffeine) for rapid, single-node idempotency.
  • Standards Compliant: Deep alignment with the IETF Idempotency-Key HTTP header draft specification.
  • Payload Hashing: Automatic request body hashing (SHA-256) to detect and reject clients attempting to reuse an idempotency key with a mutated payload.

📦 Artifacts Published

  • io.github.raghavocode.avoonce:idempotency-core
  • io.github.raghavocode.avoonce:idempotency-caffeine
  • io.github.raghavocode.avoonce:idempotency-spring-boot-starter

(Note: Distributed Redis, JDBC, and JAX-RS modules are currently in active development and will be available in a future release).