Skip to content

Latest commit

 

History

History
55 lines (34 loc) · 2.1 KB

File metadata and controls

55 lines (34 loc) · 2.1 KB

Changelog

All notable changes to this package will be documented in this file.

[Unreleased]

Changed

  • Documented Annabel security config publishing and route-level throttle presets.
  • Moved Annabel integration provider to codemonster-ru/annabel as Codemonster\Annabel\Providers\SecurityServiceProvider.
  • Added PSR-20 clock injection for deterministic rate-limit expiration and headers.

Removed

  • Removed Codemonster\Security\Providers\SecurityServiceProvider to keep this package framework-agnostic.

[1.1.1] - 2026-06-10

Fixed

  • Included the rate-limiting storage contracts, session/database/Redis storage implementations, and their integration tests in the distributed package.

[1.1.0] - 2025-12-28

Added

  • Trusted proxy support for rate limiting and IPv6 CIDR matching.
  • Database and Redis throttle storages with atomic increments.
  • AtomicThrottleStorageInterface and atomic RateLimiter::attempt() flow.
  • Throttle presets with login (IP + account) support and RateLimit-* headers.
  • Migration for throttle table and optional E2E tests for MySQL/Redis.

Changed

  • Rate limiting key now uses request path (without query) by default.
  • csrf_field() respects configured input key; csrf_token() tries DI container when available.

Removed

  • LoginThrottleRequests middleware (use ThrottleRequests with login preset).

Upgrade notes

  • If you used LoginThrottleRequests, switch to ThrottleRequests with the login preset.
  • For multi-node deployments, configure storage as database or redis.
  • If you set a custom table name, ensure the migration uses security.throttle.table.

[1.0.0] - 2025-12-17

Added

  • CSRF: Codemonster\Security\Csrf\VerifyCsrfToken, token manager Codemonster\Security\Csrf\CsrfTokenManager, helpers csrf_token() and csrf_field().
  • Rate limiting: Codemonster\Security\RateLimiting\ThrottleRequests, Codemonster\Security\RateLimiting\RateLimiter, storage contracts and SessionThrottleStorage.
  • Integration with Annabel: Codemonster\Security\Providers\SecurityServiceProvider.
  • Tests for CSRF and rate limiter.