Skip to content

Changelog

Here's a quick overview of the new features in the latest major versions of the package.

1.5.0

  • Fixed the maintenance index expiring before entries with longer TTLs.
  • Improved maintenance bookkeeping to coordinate concurrent index updates, process scopes independently, and keep successful responses replayable when an index lock times out.
  • Added the strict_index_locks option to fail fast when direct index or maintenance command use targets a cache store without atomic locks. The default still supports sequential fallback use.
  • Fixed streamed and binary file responses being replayed without their content by skipping caching when a response body cannot be captured.

1.4.0

  • Added configurable cache statuses for stored responses through the config file, route middleware options, and controller attributes.

1.3.1

  • Fixed request fingerprints for form and multipart submissions so changed fields, uploaded file metadata, and file contents return 422 Unprocessable Entity instead of replaying a stored response.

1.3.0

  • Added validation that the idempotency ttl resolves to a positive integer, throwing when misconfigured instead of silently disabling deduplication.

1.2.0

  • Added configurable request-input idempotency keys for standard HTML form submissions.
  • Added an @idempotency Blade directive that generates a hidden idempotency key input or accepts an existing key.

1.1.0

  • Added configurable idempotency lock timeout support through the config file, route middleware options, and controller attribute options.

1.0.1

  • Fixed registration of the idempotent route middleware alias.

1.0.0

  • Initial release of HTTP idempotency middleware for Laravel applications.