### Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

#### [3.2.0](https://bitbucket.org/N1ghteyes/io-validation/compare/3.2.0..3.1.0)

- Chore: widen constraints to admit the io 5 line [`c941c0d`](https://bitbucket.org/N1ghteyes/io-validation/commits/c941c0da19dd8f59ec05436aff4b61127e9cbae8)

#### [3.1.0](https://bitbucket.org/N1ghteyes/io-validation/compare/3.1.0..3.0.10)

> 19 August 2026

- Release 3.1.0 [`50ecbb1`](https://bitbucket.org/N1ghteyes/io-validation/commits/50ecbb187395b1d28c0b7c52c2c6f02f50c96f5c)
- Chore: widen constraints to admit the 4.x line [`9cd1ae9`](https://bitbucket.org/N1ghteyes/io-validation/commits/9cd1ae9dc4cfcb9f991fdcfeeb7af319fad51b2a)

#### [3.0.10](https://bitbucket.org/N1ghteyes/io-validation/compare/3.0.10..3.0.9)

> 26 March 2026

- Release 3.0.10 [`2cb5480`](https://bitbucket.org/N1ghteyes/io-validation/commits/2cb548003d9a45f0e81178f0a62d99139de7c582)
- Fix: Avoid using `config()` helper where Config object can be injected instead [`9bfd4b8`](https://bitbucket.org/N1ghteyes/io-validation/commits/9bfd4b82d1355c53225c8ad52d8298560f4b704d)

#### [3.0.9](https://bitbucket.org/N1ghteyes/io-validation/compare/3.0.9..3.0.8)

> 26 January 2026

- Release 3.0.9 [`887ae78`](https://bitbucket.org/N1ghteyes/io-validation/commits/887ae7852bb8b23a89c99902d66ca7acce269360)
- Fix: Send warnings about duplicate PHP validator rules to default log [`b13042c`](https://bitbucket.org/N1ghteyes/io-validation/commits/b13042cdc66b6f7a74f1b5ec3f63abaf35d8b004)

#### [3.0.8](https://bitbucket.org/N1ghteyes/io-validation/compare/3.0.8..3.0.7)

> 12 January 2026

- Feat: Add `Unique` validator rule [`f9098a8`](https://bitbucket.org/N1ghteyes/io-validation/commits/f9098a880cd05c6cc69c289e0e69ee51d1a0132e)
- Release 3.0.8 [`5b0d8bb`](https://bitbucket.org/N1ghteyes/io-validation/commits/5b0d8bb0bb265fae08e0dd18a30ffe9356cef626)
- Feat: Allow returning null when converting to validator / formkit strings, to ignore filter [`538b8fd`](https://bitbucket.org/N1ghteyes/io-validation/commits/538b8fd129ae113f2bc73c212cf25706b699211d)

#### [3.0.7](https://bitbucket.org/N1ghteyes/io-validation/compare/3.0.7..3.0.6)

> 16 December 2025

- Feat: Allow passing class-string for `HasValidationRules` [`bd51b76`](https://bitbucket.org/N1ghteyes/io-validation/commits/bd51b765ce12136a97bf70104caa7ec9d448f170)
- Release 3.0.7 [`c3125ed`](https://bitbucket.org/N1ghteyes/io-validation/commits/c3125ed6edd32337a5efb08d0018c99828a36c2c)
- Feat: Add `IsString` validation rule [`0199b91`](https://bitbucket.org/N1ghteyes/io-validation/commits/0199b910b3c003fb3c00aa36727bd10fe0536de9)

#### [3.0.6](https://bitbucket.org/N1ghteyes/io-validation/compare/3.0.6..3.0.5)

> 11 December 2025

- Feat: Add custom validation rules [`e9fd2ff`](https://bitbucket.org/N1ghteyes/io-validation/commits/e9fd2ff4b467c904ab09ca1f7f52c09fd52877cd)
- Chore: RM unneeded class [`258de8d`](https://bitbucket.org/N1ghteyes/io-validation/commits/258de8d91327be7fea77fb2e620e56026e54ae2c)
- Release 3.0.6 [`ec20432`](https://bitbucket.org/N1ghteyes/io-validation/commits/ec2043218d8f66a1e5b43c48c9000cb99894ced5)

#### [3.0.5](https://bitbucket.org/N1ghteyes/io-validation/compare/3.0.5..3.0.4)

> 5 December 2025

- Fix: Make PHP validation compatible with FormKit [`93d84ef`](https://bitbucket.org/N1ghteyes/io-validation/commits/93d84ef3e83eecc425e15e53bece732994562465)
- Feat: Add middleware via Hook, and allow weighting of middleware to control order [`9023281`](https://bitbucket.org/N1ghteyes/io-validation/commits/902328164f6a33b93d08e1e91c841bddd59f8b7a)
- Fix: Handle returning validation errors in middleware so we have access to current Request + Response objects [`f1a9761`](https://bitbucket.org/N1ghteyes/io-validation/commits/f1a9761970f90dfc6c711d2328ee1d288e6beb76)

#### [3.0.4](https://bitbucket.org/N1ghteyes/io-validation/compare/3.0.4..3.0.3)

> 4 December 2025

- Feat: Validate requests in middleware [`9357529`](https://bitbucket.org/N1ghteyes/io-validation/commits/9357529f7716a487ddb7274984d7bbe0bd94bebd)
- Release 3.0.4 [`be08df1`](https://bitbucket.org/N1ghteyes/io-validation/commits/be08df1cf3036813f46cbd20cab6ae00b067c0fa)

#### [3.0.3](https://bitbucket.org/N1ghteyes/io-validation/compare/3.0.3..3.0.2)

> 3 December 2025

- Release 3.0.3 [`6f6a39a`](https://bitbucket.org/N1ghteyes/io-validation/commits/6f6a39a0e4cfb230399cbf964a6fc116982f39ad)
- Fix: Incorrect return type [`d635591`](https://bitbucket.org/N1ghteyes/io-validation/commits/d635591bb186b304698d808b2a25ad478b6599c4)

#### [3.0.2](https://bitbucket.org/N1ghteyes/io-validation/compare/3.0.2..3.0.1)

> 3 December 2025

- Fix: Move `ValidationException` [`83ca638`](https://bitbucket.org/N1ghteyes/io-validation/commits/83ca638e59fe8c5ffa33efdef09d7f0da5844f8a)
- Release 3.0.2 [`87f04d3`](https://bitbucket.org/N1ghteyes/io-validation/commits/87f04d38d9deb094389f84795024643f0b5caf25)

#### 3.0.1

> 3 December 2025

- Initial commit [`5465e3e`](https://bitbucket.org/N1ghteyes/io-validation/commits/5465e3eb6d56e908c798f0b6779ce96791cd4598)
- Release 3.0.1 [`7c4596e`](https://bitbucket.org/N1ghteyes/io-validation/commits/7c4596ee296c14d51bcea2f4006b6b39f993ce2b)
