All notable changes to the Maatify\Verification module will be documented in this file.
The format is based on Keep a Changelog and this project follows Semantic Versioning (SemVer).
- Standalone Verification Module: Introduced the
Maatify\Verificationmodule as an independent component for managing OTPs and temporary verification codes. - Domain Contracts: Added core interfaces including:
VerificationCodeGeneratorInterfaceVerificationCodeValidatorInterfaceVerificationCodeRepositoryInterfaceVerificationCodePolicyResolverInterface
- Domain DTOs:
VerificationCodeGeneratedVerificationCodeVerificationResultVerificationPolicy
- Strongly Typed Enums:
IdentityTypeEnumVerificationPurposeEnumVerificationCodeStatus
- Domain Services:
VerificationCodeGeneratorVerificationCodeValidatorVerificationCodePolicyResolver
- Default Persistence Layer: Added
PdoVerificationCodeRepositoryas the default infrastructure implementation. - Container Integration: Introduced
VerificationBindingsfor easy Dependency Injection container integration. - Security Auditing: Added IP tracking fields:
createdIpusedIpto record where verification codes are generated and redeemed.
- Comprehensive Documentation:
README.mdHOW_TO_USE.mdCHANGELOG.md- Full architecture book under
docs/book/.
- Extraction from AdminKernel: The verification subsystem was extracted from
AdminKerneland reorganized intoModules/Verification. - Namespace Migration: All classes migrated to the
Maatify\Verificationnamespace. - Lifecycle Enforcement: Hardened lifecycle rules for verification codes:
- Only one active code per identity + purpose.
- Automatic expiration of previous codes on regeneration.
- Strict attempt tracking and expiration on brute-force attempts.
- Framework Decoupling: The module now operates independently of AdminKernel, relying only on generic PHP constructs and
maatify/shared-common.
- AdminKernel Coupling: Removed all dependencies on internal AdminKernel structures to enable standalone usage.
Planned improvements for upcoming releases include:
- Redis repository implementation
- Pluggable identity providers
- Verification rate limiting
- Framework adapters
- Additional verification strategies (e.g. Magic Links, TOTP)