### 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).

#### [v3.7.0](https://bitbucket.org/N1ghteyes/io-core/compare/v3.7.0..v3.6.12)

- Refactor: Static Entity::primaryKey() and class-string entity route builders [`7cbfd57`](https://bitbucket.org/N1ghteyes/io-core/commits/7cbfd573efe01393993f068c420c01a92357b4a8)
- Feat: Explicitly cache CORS headers in browser [`fda6f07`](https://bitbucket.org/N1ghteyes/io-core/commits/fda6f07c336f6966962b4fd83aef0112bea4205a)

#### [v3.6.12](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.12..v3.6.11)

> 5 June 2026

- Release 3.6.12 [`51b1ab6`](https://bitbucket.org/N1ghteyes/io-core/commits/51b1ab6fd7b24b98c88cf396683953ca23b2c815)
- Fix: WhereType being overwritten when mapping [`0951af3`](https://bitbucket.org/N1ghteyes/io-core/commits/0951af3927e995bfc9f7c48fadd11dec11489462)
- Fix: Passwords getting re-hashed [`94bd59f`](https://bitbucket.org/N1ghteyes/io-core/commits/94bd59faf8fa325f33b46e98ca22ad228980b863)

#### [v3.6.11](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.11..v3.6.10)

> 4 June 2026

- Fix: Don't swallow exceptions in mailer [`c689451`](https://bitbucket.org/N1ghteyes/io-core/commits/c689451a12f88a285c7d6fda0ab547622260485d)
- Release 3.6.11 [`f061944`](https://bitbucket.org/N1ghteyes/io-core/commits/f0619448b3e6c65bd67d5fe2fe27a900181bfe9e)
- Fix: Filter validation for config bools [`2bdcc7c`](https://bitbucket.org/N1ghteyes/io-core/commits/2bdcc7c565e59dbd538b9667c2110fb7e2807a8c)

#### [v3.6.10](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.10..v3.6.9)

> 27 May 2026

- Release 3.6.10 [`60318f5`](https://bitbucket.org/N1ghteyes/io-core/commits/60318f541d389a4172548482f42308b60ae09d11)
- Fix: Do boot client in phinx.php [`e29e495`](https://bitbucket.org/N1ghteyes/io-core/commits/e29e4959999c32b6b721ec811c932a1fb9eb4055)
- Fix: Don't always null relations if not fetched [`577e4e6`](https://bitbucket.org/N1ghteyes/io-core/commits/577e4e663372149ec709f1376fd92a06334e03c0)

#### [v3.6.9](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.9..v3.6.8)

> 26 May 2026

- Release 3.6.9 [`d5fec84`](https://bitbucket.org/N1ghteyes/io-core/commits/d5fec841e9d140363520352664783b45d78523d4)
- fix(entityDatabaseOperator): use lastInsertId() not getLastNewRecord() in store INSERT path [`7d7d9f7`](https://bitbucket.org/N1ghteyes/io-core/commits/7d7d9f71e06de5f17746d31832d4c5b5e7f636c4)

#### [v3.6.8](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.8..v3.6.7)

> 26 May 2026

- Release v3.6.7 [`4a6d3be`](https://bitbucket.org/N1ghteyes/io-core/commits/4a6d3be02c5fb43274d16e269452f4ae06b1f57f)
- fix(mongo): override load() + drop post-INSERT round-trip through parent SQL-shaped load [`027981d`](https://bitbucket.org/N1ghteyes/io-core/commits/027981d6c6f2c3ecf8e46e1e849d2f6e6985eadc)
- Release 3.6.8 [`42c81d9`](https://bitbucket.org/N1ghteyes/io-core/commits/42c81d93d60b628e5736890fca8eaaf20b07654d)

#### [v3.6.7](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.7..v3.6.6)

> 26 May 2026

- Release 3.6.7 [`77faad6`](https://bitbucket.org/N1ghteyes/io-core/commits/77faad63987a2f76eceb3dfa0852c009bfc98e30)
- fix(mongo): override load() + drop post-INSERT round-trip through parent SQL-shaped load [`ae08e03`](https://bitbucket.org/N1ghteyes/io-core/commits/ae08e0334e41c7542c16001d331d80281dd209b9)

#### [v3.6.6](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.6..v3.6.5)

> 25 May 2026

- fix(VariableManager): early-return after update to avoid duplicate-row insert [`419b56f`](https://bitbucket.org/N1ghteyes/io-core/commits/419b56f74da566983078b017404494833750bf5f)

#### [v3.6.5](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.5..v3.6.4)

> 25 May 2026

- fix(mongo): strip primary key + _id from update payload [`f323ee2`](https://bitbucket.org/N1ghteyes/io-core/commits/f323ee24781b63741c2d98568f5febcb97e9a897)

#### [v3.6.4](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.4..v3.6.3)

> 25 May 2026

- fix: skip non-SQL named-vaults in phinx config (no warnings on web bootstrap) [`2a425df`](https://bitbucket.org/N1ghteyes/io-core/commits/2a425df6fdd8cdf296d92cb76963e6bb6cba5029)

#### [v3.6.3](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.3..v3.6.2)

> 25 May 2026

- Z4 follow-up: loadByConditions helper on mongoEntityDatabaseOperator [`ad64c50`](https://bitbucket.org/N1ghteyes/io-core/commits/ad64c5034b5240caf3bcc055bbd99344d8c64b94)

#### [v3.6.2](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.2..v3.6.1)

> 25 May 2026

- Z3.d: mongoEntityDatabaseOperator subclass [`f761732`](https://bitbucket.org/N1ghteyes/io-core/commits/f76173201508e7b00a84b709df61233ea65138c5)

#### [v3.6.1](https://bitbucket.org/N1ghteyes/io-core/compare/v3.6.1..3.6.0)

> 20 May 2026

- Fix: Fallback for adding CORS headers even if an error has occurred [`6bb2380`](https://bitbucket.org/N1ghteyes/io-core/commits/6bb23807c13081777721dbd57fd669cd07078e49)
- Release 3.5.5 [`1680aa7`](https://bitbucket.org/N1ghteyes/io-core/commits/1680aa7b95c903b511e86ef0279580f6cde12f67)
- Release v3.6.1 [`4fe003a`](https://bitbucket.org/N1ghteyes/io-core/commits/4fe003ae24b34fe10770d43604531aba029f832f)

#### [3.6.0](https://bitbucket.org/N1ghteyes/io-core/compare/3.6.0..3.5.6)

> 12 May 2026

#### [3.5.6](https://bitbucket.org/N1ghteyes/io-core/compare/3.5.6..3.5.5)

> 20 May 2026

- Release 3.5.6 [`4ba5c9f`](https://bitbucket.org/N1ghteyes/io-core/commits/4ba5c9f8a2ddd87496d05ad93ea57d7b3446f45a)
- Fix: Don't boot client in phinx.php [`78e539b`](https://bitbucket.org/N1ghteyes/io-core/commits/78e539b425ccdd162fe9a7dde104172b91051b7f)

#### [3.5.5](https://bitbucket.org/N1ghteyes/io-core/compare/3.5.5..3.5.4)

> 18 May 2026

- Fix: Fallback for adding CORS headers even if an error has occurred [`6bb2380`](https://bitbucket.org/N1ghteyes/io-core/commits/6bb23807c13081777721dbd57fd669cd07078e49)
- Release 3.5.5 [`1680aa7`](https://bitbucket.org/N1ghteyes/io-core/commits/1680aa7b95c903b511e86ef0279580f6cde12f67)

#### [3.5.4](https://bitbucket.org/N1ghteyes/io-core/compare/3.5.4..3.5.3)

> 13 May 2026

- Release 3.5.4 [`2aea33e`](https://bitbucket.org/N1ghteyes/io-core/commits/2aea33eabaadd5d458f45d3eec2d95b423050637)
- Fix: Sort config by key when dumping [`75a4a3c`](https://bitbucket.org/N1ghteyes/io-core/commits/75a4a3ca6a4875e53e83416b407dbcad32e8313b)

#### [3.5.3](https://bitbucket.org/N1ghteyes/io-core/compare/3.5.3..3.5.2)

> 13 May 2026

- Feat: Promote 4 generic utilities to core [`deb1676`](https://bitbucket.org/N1ghteyes/io-core/commits/deb167666cdd4806deba6ebfb1585969e3efba12)
- Release 3.5.3 [`0682970`](https://bitbucket.org/N1ghteyes/io-core/commits/06829703f3f4da9577c84068bf4aa33e4bb674f7)
- Fix: Whoops handler ordering [`1d8ebb3`](https://bitbucket.org/N1ghteyes/io-core/commits/1d8ebb386328d3a8eb70de243987f76592aa7f6e)

#### [3.5.2](https://bitbucket.org/N1ghteyes/io-core/compare/3.5.2..3.5.1)

> 12 May 2026

- Release 3.5.2 [`7938634`](https://bitbucket.org/N1ghteyes/io-core/commits/79386341cde64b39dc8f39fb18c9f00e5e8d8300)
- Fix: Missing vendor package [`d8610f0`](https://bitbucket.org/N1ghteyes/io-core/commits/d8610f0f08c5614e2b60e66e6f109f70a5af97ca)

#### [3.5.1](https://bitbucket.org/N1ghteyes/io-core/compare/3.5.1..3.5.0)

> 6 May 2026

- Fix: Order by position in relation queries [`4e206ce`](https://bitbucket.org/N1ghteyes/io-core/commits/4e206ced5afb05e4ac48e484b8253f07584e66b0)
- Feat: Allow checking of $attrs passed to factory definitions [`1e58e4a`](https://bitbucket.org/N1ghteyes/io-core/commits/1e58e4af31470427a722fd94348c0a10ca716bcd)
- Release 3.5.1 [`dae62e7`](https://bitbucket.org/N1ghteyes/io-core/commits/dae62e71837b5963d2d72593ce0789f10217c948)

#### [3.5.0](https://bitbucket.org/N1ghteyes/io-core/compare/3.5.0..3.4.12)

> 30 April 2026

- Feat: Use decorator classes for relation callbacks [`b3a1ed7`](https://bitbucket.org/N1ghteyes/io-core/commits/b3a1ed7290d2004c01f982955a947e43c790eeb5)
- Chore: Refactor calls to `Output` to use interface [`9c55774`](https://bitbucket.org/N1ghteyes/io-core/commits/9c557743e7ad88a5859277dbd91f28c48e1db13b)
- Chore: Remove Install module [`ae100ef`](https://bitbucket.org/N1ghteyes/io-core/commits/ae100ef2f821446985e56e0cd76eda555f2ee65b)

#### [3.4.12](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.12..3.4.11)

> 28 April 2026

- Feat: Hook manager tests [`07eca0e`](https://bitbucket.org/N1ghteyes/io-core/commits/07eca0e1590263d431f7ed4a59af8811c1cae62e)
- Feat: Lazy load hooks [`665ff09`](https://bitbucket.org/N1ghteyes/io-core/commits/665ff09fbdfcec2eb4a3931b85edebda3205db3c)
- WIP: Test fixes [`ef248c5`](https://bitbucket.org/N1ghteyes/io-core/commits/ef248c54ea7b1d2091e59c6fd8ae10c8ee972cc0)

#### [3.4.11](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.11..3.4.10)

> 23 April 2026

- Feat: Fixing tests [`e3fba3d`](https://bitbucket.org/N1ghteyes/io-core/commits/e3fba3d5ef749d802351eb615c15a0319ad11724)
- Feat: Allow parallel testing [`89ca58a`](https://bitbucket.org/N1ghteyes/io-core/commits/89ca58af896170dbfa52e396e674d9dbec18e81b)
- Release 3.4.11 [`6d95bcd`](https://bitbucket.org/N1ghteyes/io-core/commits/6d95bcd249e437dc94ed6e9be7d0dfe55947673d)

#### [3.4.10](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.10..3.4.9)

> 23 April 2026

- Feat: Allow updating pivot table fields via relationship [`4068f93`](https://bitbucket.org/N1ghteyes/io-core/commits/4068f93cdf637297f4e0903bd22fe16604f4d131)
- Chore: Don't process entities in Globaldata during data retrieval [`3b9d5b7`](https://bitbucket.org/N1ghteyes/io-core/commits/3b9d5b7b588959344f75b27bb4741b74486ff188)
- Release 3.4.10 [`94c3d61`](https://bitbucket.org/N1ghteyes/io-core/commits/94c3d613ad91b1261ea3f07e7f2cefc0c310fefe)

#### [3.4.9](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.9..3.4.8)

> 22 April 2026

- Release 3.4.9 [`65bb38b`](https://bitbucket.org/N1ghteyes/io-core/commits/65bb38beae6171786810adfbf138eacfa207b829)
- Fix: Init unfetched relations when attempting to adding to them [`8480e33`](https://bitbucket.org/N1ghteyes/io-core/commits/8480e33e91d44d06dd7ad9e9d5b21720a067e393)

#### [3.4.8](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.8..3.4.7)

> 15 April 2026

- Release 3.4.8 [`50fe94a`](https://bitbucket.org/N1ghteyes/io-core/commits/50fe94a91e751a6e928f29de3f81374c9267adf5)
- Chore: More descriptive error [`cb560cb`](https://bitbucket.org/N1ghteyes/io-core/commits/cb560cbd0e0b473c00962b2c0a088dc0c7af599c)

#### [3.4.7](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.7..3.4.6)

> 1 April 2026

- Fix: Use DummyCacheManager for unit testing [`f29d381`](https://bitbucket.org/N1ghteyes/io-core/commits/f29d381b16d806aba5d09e0d77b67dc9bf2a92dd)
- Release 3.4.7 [`2eb9f0d`](https://bitbucket.org/N1ghteyes/io-core/commits/2eb9f0d799abe0a20ff86deb3de7b4a8610fd03f)

#### [3.4.6](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.6..3.4.5)

> 30 March 2026

- Release 3.4.6 [`ea316e5`](https://bitbucket.org/N1ghteyes/io-core/commits/ea316e5936cd66c292e9acd37a59fa822681319a)
- Fix: Phinx bootstrap [`8988dbf`](https://bitbucket.org/N1ghteyes/io-core/commits/8988dbf03c7289d8484f7857141475c95f8f8aad)

#### [3.4.5](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.5..3.4.4)

> 30 March 2026

- Fix: Phinx bootstrap [`0ae8bc7`](https://bitbucket.org/N1ghteyes/io-core/commits/0ae8bc7fc06dd77a96991cb45debbe52c225a129)
- Release 3.4.5 [`e909d0f`](https://bitbucket.org/N1ghteyes/io-core/commits/e909d0fd8a4272191edc76c7172d5fce6511e200)

#### [3.4.4](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.4..3.4.3)

> 27 March 2026

- Release 3.4.4 [`7da32ba`](https://bitbucket.org/N1ghteyes/io-core/commits/7da32badabe90c949d2bbb9f5eefde4ae8ae8533)
- Fix: Phinx config order [`99c5144`](https://bitbucket.org/N1ghteyes/io-core/commits/99c51448d2c78f586b34dc7f250d67f8cff377df)

#### [3.4.3](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.3..3.4.2)

> 27 March 2026

- Release 3.4.3 [`048f36a`](https://bitbucket.org/N1ghteyes/io-core/commits/048f36a4bfeec2472e9ab8331b4b986e0c3d39c6)
- FEAT: Add DAEDALUS constant when running CLI [`bf29f94`](https://bitbucket.org/N1ghteyes/io-core/commits/bf29f94ff48b5d357db41ce3318a41db3b2bade0)

#### [3.4.2](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.2..3.4.1)

> 27 March 2026

- Chore: Allow Phinx to use bootstrapped client when used in tests [`07e6d78`](https://bitbucket.org/N1ghteyes/io-core/commits/07e6d78075a25bcb799b8f3440a5258569edf3a5)
- Release 3.4.2 [`09d11ce`](https://bitbucket.org/N1ghteyes/io-core/commits/09d11ceecaae62caca12f836ebb92700567a7de0)

#### [3.4.1](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.1..3.4.0)

> 26 March 2026

- Fix: Logger config locations [`95af64d`](https://bitbucket.org/N1ghteyes/io-core/commits/95af64d322594eb47c41e2852c0ad55dda66a89a)
- Release 3.4.1 [`b201772`](https://bitbucket.org/N1ghteyes/io-core/commits/b20177260a55fe23a8208531381628265b1718b1)

#### [3.4.0](https://bitbucket.org/N1ghteyes/io-core/compare/3.4.0..3.3.1)

> 26 March 2026

- Feat: Configuration files are defined in relevant modules where possible [`92d9971`](https://bitbucket.org/N1ghteyes/io-core/commits/92d9971e8c00e9690d52e0a76b7a38d1753140d0)
- Feat: Dedicated Configuration Factory [`509b2a5`](https://bitbucket.org/N1ghteyes/io-core/commits/509b2a5b91d7488c0afe2a0bfed09e988f9b3d44)
- Feat: Check SSL requirement in middleware [`2a04fe5`](https://bitbucket.org/N1ghteyes/io-core/commits/2a04fe53eb0706b40de2606b7e166e470d8fdf7e)

#### [3.3.1](https://bitbucket.org/N1ghteyes/io-core/compare/3.3.1..3.3.0)

> 24 March 2026

- Feat: Use `io-cache` for caching [`adf91a7`](https://bitbucket.org/N1ghteyes/io-core/commits/adf91a7a5c677e2e4e2a5c0431ff297528b6e826)
- Feat: Allow loading modules from configuration file rather than DB [`e804355`](https://bitbucket.org/N1ghteyes/io-core/commits/e804355c357ad3bb92a0d9d2d6e85977cf83e346)
- Release 3.3.1 [`42ed0b8`](https://bitbucket.org/N1ghteyes/io-core/commits/42ed0b882591c04ba662b727367461ee9edce305)

#### [3.3.0](https://bitbucket.org/N1ghteyes/io-core/compare/3.3.0..3.2.13)

> 19 March 2026

- Feat: Lazy loading [`775909a`](https://bitbucket.org/N1ghteyes/io-core/commits/775909aeff96eb9902fb924b175a4ecb64ee0eb6)
- Release 3.3.0 [`5ef5d76`](https://bitbucket.org/N1ghteyes/io-core/commits/5ef5d76a9b42200b3ac38744f75e86bda5ca8265)

#### [3.2.13](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.13..3.2.12)

> 12 March 2026

- Fix: Make new query for entity counts [`9185ec3`](https://bitbucket.org/N1ghteyes/io-core/commits/9185ec3852dce6560aac2efaebb0261aebc547e0)
- Release 3.2.13 [`c6674df`](https://bitbucket.org/N1ghteyes/io-core/commits/c6674dfd5fd5bb28f7b83d02f60994d6d8b2bdc2)

#### [3.2.12](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.12..3.2.11)

> 12 March 2026

- Feat: Allow enabling / disabling specific hooks [`89b893f`](https://bitbucket.org/N1ghteyes/io-core/commits/89b893fca808defb74dcedb6ee2e78943388e496)
- Release 3.2.12 [`310ae25`](https://bitbucket.org/N1ghteyes/io-core/commits/310ae251dba80224a37267a0029ad900a5f049cb)

#### [3.2.11](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.11..3.2.10)

> 9 March 2026

- Fix: Move tabulator specific service to tabulator module [`11e89fe`](https://bitbucket.org/N1ghteyes/io-core/commits/11e89fea759251cbfe0675be2bfbb74d16201c50)
- Release 3.2.11 [`baa6602`](https://bitbucket.org/N1ghteyes/io-core/commits/baa6602ea3fbe36f22edce026bf4d56971c0edc5)

#### [3.2.10](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.10..3.2.9)

> 9 March 2026

- Feat: Instance `TabulatorColumnFieldNameResolver` with a factory [`fe4611e`](https://bitbucket.org/N1ghteyes/io-core/commits/fe4611e380067fafb6e98bac61efa18b670557ca)
- Release 3.2.10 [`a73e8a8`](https://bitbucket.org/N1ghteyes/io-core/commits/a73e8a88800f66d0283f5cf6ea0718e353771d14)
- Fix: Allow passing table alias to permission checks [`b92cc7b`](https://bitbucket.org/N1ghteyes/io-core/commits/b92cc7ba4cad8900dca4e186be509b218c97dd3f)

#### [3.2.9](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.9..3.2.8)

> 5 March 2026

- Feat: Allow passing bound parameters to subqueries in entity finder [`8d10966`](https://bitbucket.org/N1ghteyes/io-core/commits/8d10966705ef533d66c94924a4b4f244a957bdd3)
- Chore: Use LoaderArgumentResolverFactory for creating loader argument resolvers [`5c9f588`](https://bitbucket.org/N1ghteyes/io-core/commits/5c9f588aa791ff3960309b0bc46b72f22d06d1b4)
- Release 3.2.9 [`63a3a11`](https://bitbucket.org/N1ghteyes/io-core/commits/63a3a110bf54acc71cfead01668676ee1b3abf8f)

#### [3.2.8](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.8..3.2.7)

> 4 March 2026

- Release 3.2.8 [`ead6c80`](https://bitbucket.org/N1ghteyes/io-core/commits/ead6c80a5738d7eec49d93acd25ba72b07083c8d)

#### [3.2.7](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.7..3.2.6)

> 4 March 2026

- Feat: Allow protecting fields when JSON serializing entities [`fc58eff`](https://bitbucket.org/N1ghteyes/io-core/commits/fc58eff7e822e1f841f875fff1751541796ddf83)
- Release 3.2.7 [`bdf6c98`](https://bitbucket.org/N1ghteyes/io-core/commits/bdf6c98a10e288527af364700caf10a5e66b7753)

#### [3.2.6](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.6..3.2.5)

> 17 February 2026

- Feat: Use interface for cache [`a3926ac`](https://bitbucket.org/N1ghteyes/io-core/commits/a3926ac4fd454b0a8579890b794484eb6a931c89)
- Release 3.2.6 [`0b97ce8`](https://bitbucket.org/N1ghteyes/io-core/commits/0b97ce893cce85d0fab07838531815d81ff284d0)
- Chore: Update module create command [`526895c`](https://bitbucket.org/N1ghteyes/io-core/commits/526895ccd3366d9e6b3f5e42db241b03b601a87a)

#### [3.2.5](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.5..3.2.4)

> 29 January 2026

- Feat: Send email debug command [`467cb87`](https://bitbucket.org/N1ghteyes/io-core/commits/467cb87847fe96191bdae89202f153651d50fd43)
- Release 3.2.5 [`745836c`](https://bitbucket.org/N1ghteyes/io-core/commits/745836cf1a3158a1be1e1eedfef89037b9315054)

#### [3.2.4](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.4..3.2.3)

> 28 January 2026

- Fix: Namespace issues [`1a234ea`](https://bitbucket.org/N1ghteyes/io-core/commits/1a234ea9661e6525be3e762750dc603e4b951f8b)
- Release 3.2.4 [`86c5a30`](https://bitbucket.org/N1ghteyes/io-core/commits/86c5a303a3daf1783d2e85f47826461e01aa6ef7)

#### [3.2.3](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.3..3.2.2)

> 26 January 2026

- Release 3.2.3 [`702c345`](https://bitbucket.org/N1ghteyes/io-core/commits/702c345f026789746a361052df245edd013dd887)
- Fix: `__get` and `__set` in correct class [`573c7dd`](https://bitbucket.org/N1ghteyes/io-core/commits/573c7dd6dacc78dde4b21d5d89e8d7b162d330d2)

#### [3.2.2](https://bitbucket.org/N1ghteyes/io-core/compare/3.2.2..3.2.1)

> 20 January 2026

- Chore: Remove all reference to `io-user` to remove dependency; [`e4e29eb`](https://bitbucket.org/N1ghteyes/io-core/commits/e4e29ebe974033f0bbadc4edb6579c974de4790c)
- Fix: Moving missing files from core [`8b55e0c`](https://bitbucket.org/N1ghteyes/io-core/commits/8b55e0c2ceaab5a0740baf55a98d28702c6790a7)
- Fix: Moving missing files to Newtons [`75dc2eb`](https://bitbucket.org/N1ghteyes/io-core/commits/75dc2eb725802f1e52b4c54236bacdfaf4624036)

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

> 19 January 2026

- Chore: Move Entity `Find` methods to IO core [`a5afe0d`](https://bitbucket.org/N1ghteyes/io-core/commits/a5afe0d10a6c7cac09a90595a40f264d93229830)
- Chore: Remove obsolete `fieldConfig` [`5a85c4f`](https://bitbucket.org/N1ghteyes/io-core/commits/5a85c4f40439b9756f1c24764a88197db4494bbc)
- Release 3.2.1 [`791af2b`](https://bitbucket.org/N1ghteyes/io-core/commits/791af2b320152d07bca9ce8c50ebb81df54e2b2f)

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

> 15 January 2026

- Feat: Better entity loading [`e6708a0`](https://bitbucket.org/N1ghteyes/io-core/commits/e6708a016146ad82bdf6d2155e946626a9dc315f)
- WIP: Relation tests [`ac08cb7`](https://bitbucket.org/N1ghteyes/io-core/commits/ac08cb7f9fe2db1edbd6517df98c600ed46673c5)
- Feat: Add post-store hook [`ce8c469`](https://bitbucket.org/N1ghteyes/io-core/commits/ce8c469ab838650498dec550991455d8fff30f84)

#### [3.1.18](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.18..3.1.17)

> 14 January 2026

- Chore: Move `EntitySpecificClassNameService` to IO Core [`e999fb2`](https://bitbucket.org/N1ghteyes/io-core/commits/e999fb2c87382ed93e6e1c33d2540603adfbf1ff)
- Chore: Move `Has[View|Edit]RouteInterface` to `io-core` [`9aa6535`](https://bitbucket.org/N1ghteyes/io-core/commits/9aa6535f07b52ed399c065e4ac63e4a7ed2c5b2c)
- Release 3.1.18 [`9943bf0`](https://bitbucket.org/N1ghteyes/io-core/commits/9943bf0fee2ce8ce9955168317484d39949a8079)

#### [3.1.17](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.17..3.1.16)

> 14 January 2026

- Feat: Throw exception when requesting non-existent routes [`88e31b3`](https://bitbucket.org/N1ghteyes/io-core/commits/88e31b3de11fbd94c0a7686508110357805fa280)
- Fix: Module create command following IO V3 changes [`c9d96b5`](https://bitbucket.org/N1ghteyes/io-core/commits/c9d96b54bf8cf727ecbd439c72bf873966165e0f)
- Release 3.1.17 [`8700ace`](https://bitbucket.org/N1ghteyes/io-core/commits/8700ace0701c7eac40983d6234bce1a391e84c30)

#### [3.1.16](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.16..3.1.15)

> 12 January 2026

- Chore: Method order [`5faf122`](https://bitbucket.org/N1ghteyes/io-core/commits/5faf122161d2bce4ad4fa06c080a97cc967b314d)
- Chore: Use superadmin user for tests [`4f40fb1`](https://bitbucket.org/N1ghteyes/io-core/commits/4f40fb1c6679448350e91de6f5fd79cdb879b108)
- Release 3.1.16 [`7f60378`](https://bitbucket.org/N1ghteyes/io-core/commits/7f60378e3d7aee181f561e0a91ee5cc9987c0490)

#### [3.1.15](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.15..3.1.14)

> 8 January 2026

- Fix: Only set up / teardown DB in tests when used [`ad24061`](https://bitbucket.org/N1ghteyes/io-core/commits/ad240617067cc354c32fda7d0eef3d0df7211bc5)
- Release 3.1.15 [`efe1828`](https://bitbucket.org/N1ghteyes/io-core/commits/efe182864efa0818337c251c65b6e1186324ba19)

#### [3.1.14](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.14..3.1.13)

> 7 January 2026

- Feat: Helper command to dump routes to console [`7b771ef`](https://bitbucket.org/N1ghteyes/io-core/commits/7b771ef8f70fc193119825057b8b8ba3502e67f6)
- Release 3.1.14 [`9936ba8`](https://bitbucket.org/N1ghteyes/io-core/commits/9936ba8068c8e5731ef7a0070532b7b83c427050)

#### [3.1.13](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.13..3.1.12)

> 6 January 2026

- Release 3.1.13 [`329a5f0`](https://bitbucket.org/N1ghteyes/io-core/commits/329a5f0aff14db8b4eec000d655bd5685732d15a)
- Chore: RM unused dependencies [`a194a69`](https://bitbucket.org/N1ghteyes/io-core/commits/a194a697edc8efe3103d6955d5a301dc5538a98a)

#### [3.1.12](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.12..3.1.11)

> 18 December 2025

- Release 3.1.12 [`321202e`](https://bitbucket.org/N1ghteyes/io-core/commits/321202eef9c5727c4c9439543c1f210241bf9f2f)
- Fix: Missing faker [`1eb2461`](https://bitbucket.org/N1ghteyes/io-core/commits/1eb24618b8674bbacee1efa6efebf87cac51ac49)

#### [3.1.11](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.11..3.1.10)

> 18 December 2025

- Feat: Base classes for testing [`6f602c2`](https://bitbucket.org/N1ghteyes/io-core/commits/6f602c2d130d80a412b45b5e26d0601c944b2c00)
- Feat: Add Entity factories [`9b03e7b`](https://bitbucket.org/N1ghteyes/io-core/commits/9b03e7bbd525cbbb6657b21293bca9964ba29deb)
- Feat: Use `GlobalDataInterface` injection `GlobalData` directly [`1394436`](https://bitbucket.org/N1ghteyes/io-core/commits/1394436b6a824c620c8646a2064cb57749a0eb6c)

#### [3.1.10](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.10..3.1.9)

> 17 December 2025

- Feat: Add hook to alter data before store [`a6b5968`](https://bitbucket.org/N1ghteyes/io-core/commits/a6b5968f962c8eb70befbf0134e8c8ebc7671f18)
- Release 3.1.10 [`c5d1406`](https://bitbucket.org/N1ghteyes/io-core/commits/c5d1406ecb27e677d4352d98d8a61f42ebe057c2)
- Docs: Add todo [`d59addb`](https://bitbucket.org/N1ghteyes/io-core/commits/d59addb060fe0ff8641d4b4eb0d1ae9ecaa7948c)

#### [3.1.9](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.9..3.1.8)

> 17 December 2025

- Chore: Use specific config setting for enabling whoops, rather than depending on environment [`345bc48`](https://bitbucket.org/N1ghteyes/io-core/commits/345bc4832361d8669c5124147834fd4b59ea647c)
- Release 3.1.9 [`e8bb2da`](https://bitbucket.org/N1ghteyes/io-core/commits/e8bb2da43b722956b9d87e678a71557015805193)

#### [3.1.8](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.8..3.1.7)

> 16 December 2025

- Release 3.1.8 [`503e8b4`](https://bitbucket.org/N1ghteyes/io-core/commits/503e8b494568c2ab2a6505d226b720ed4c367787)
- Fix: Only use whoops middleware when in local or development env [`d843f98`](https://bitbucket.org/N1ghteyes/io-core/commits/d843f981903e8c5abba7280689ae2fd0cdc7b55c)

#### [3.1.7](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.7..3.1.6)

> 11 December 2025

- Chore: Tidy controller names [`ab1f6e9`](https://bitbucket.org/N1ghteyes/io-core/commits/ab1f6e9f2d8f7a71183cfad25fe90c70404bf769)
- Fix: Allow passing route middleware as class string [`1082d06`](https://bitbucket.org/N1ghteyes/io-core/commits/1082d06d70168b60a4869fd3cde8e38105868090)
- Rm unused [`326f1dd`](https://bitbucket.org/N1ghteyes/io-core/commits/326f1ddb2a741fc6d5da52a0b2aba0962569a605)

#### [3.1.6](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.6..3.1.5)

> 10 December 2025

- Fix: Initialise InstallChecker::$isInstalled [`ba033e1`](https://bitbucket.org/N1ghteyes/io-core/commits/ba033e11242ac5b9286a7deca8907fc1d369e50b)
- Release 3.1.6 [`b7e5eb6`](https://bitbucket.org/N1ghteyes/io-core/commits/b7e5eb63d10efe60e71951699bf970b18b7d5804)
- Fix: Asking for removed class [`44445dd`](https://bitbucket.org/N1ghteyes/io-core/commits/44445ddaf6501791988ecd6641fae59433d926ff)

#### [3.1.5](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.5..3.1.4)

> 10 December 2025

- Chore: RM `databaseTools` [`6f762af`](https://bitbucket.org/N1ghteyes/io-core/commits/6f762af793d89f727b6af80795b90a93906603f3)
- Release 3.1.5 [`51528af`](https://bitbucket.org/N1ghteyes/io-core/commits/51528affe8d6f50a0f4598f5e668bc5c6787c261)

#### [3.1.4](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.4..3.1.3)

> 5 December 2025

- Feat: Add middleware via Hook, and allow weighting of middleware to control order [`55d9809`](https://bitbucket.org/N1ghteyes/io-core/commits/55d98099447364f5c36993980354f6986b02f7f0)
- Release 3.1.4 [`052e2d3`](https://bitbucket.org/N1ghteyes/io-core/commits/052e2d3bfe00092e4d2dd509fc886c336e7f1ee4)

#### [3.1.3](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.3..3.1.2)

> 4 December 2025

- Feat: Module (de)activate daedalus commands [`5b4b0cc`](https://bitbucket.org/N1ghteyes/io-core/commits/5b4b0cce897a01be6d805debeada752af416eb3f)
- Feat: Better Whoops handler management [`60cbdaa`](https://bitbucket.org/N1ghteyes/io-core/commits/60cbdaafbd3bf4c484cc63449e8b67ff4d407e19)
- Feat: Inject IO Request using middleware rather than Parameter injection [`10e632c`](https://bitbucket.org/N1ghteyes/io-core/commits/10e632c498be5b6548d482fc82f58638b2b239de)

#### [3.1.2](https://bitbucket.org/N1ghteyes/io-core/compare/3.1.2..3.1.1)

> 3 December 2025

- Chore: Tightening up request resolution [`b99e641`](https://bitbucket.org/N1ghteyes/io-core/commits/b99e641bd19ec7837cec14e887c711eb5163ebb9)
- Release 3.1.2 [`63362c4`](https://bitbucket.org/N1ghteyes/io-core/commits/63362c48e8a87ce2c488e3397c777a5176d837eb)

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

> 2 December 2025

- Docs: Readme [`51c9b31`](https://bitbucket.org/N1ghteyes/io-core/commits/51c9b31c383744995213b7b9a1a392090073715a)
- Release 3.1.1 [`c011235`](https://bitbucket.org/N1ghteyes/io-core/commits/c01123564f607d4260c6d8983e2ffab8b1841465)

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

> 2 December 2025

- Feat: Use `IoRequest` instead of `RequestHelper` for fetching request params [`d17d6c7`](https://bitbucket.org/N1ghteyes/io-core/commits/d17d6c7092e32358c118999f6ee886c9aca4ac70)
- Release 3.1.0 [`368176e`](https://bitbucket.org/N1ghteyes/io-core/commits/368176eae095bdb7ae3c286bb8aca1cc5981afa7)

#### [3.0.16](https://bitbucket.org/N1ghteyes/io-core/compare/3.0.16..3.0.15)

> 1 December 2025

- Feat: Auto-resolve `RequestHelper`s in `Controller` and descendents [`b173cd3`](https://bitbucket.org/N1ghteyes/io-core/commits/b173cd3aad821690490a6336b3b7b1aa29c70439)
- Release 3.0.16 [`fa0310c`](https://bitbucket.org/N1ghteyes/io-core/commits/fa0310c59ac21bf2c51dc150337c9d61da81d740)

#### [3.0.15](https://bitbucket.org/N1ghteyes/io-core/compare/3.0.15..3.0.14)

> 1 December 2025

- Release 3.0.15 [`f50fdbc`](https://bitbucket.org/N1ghteyes/io-core/commits/f50fdbcc057d6deef7f2627706ebefba383ee2b9)
- WIP: Remove mustache dep in prep for io-template [`975f0f4`](https://bitbucket.org/N1ghteyes/io-core/commits/975f0f4dc3150314258d3bae85ff31032c29cdbd)

#### [3.0.14](https://bitbucket.org/N1ghteyes/io-core/compare/3.0.14..3.0.13)

> 27 November 2025

- Release 3.0.14 [`ec75295`](https://bitbucket.org/N1ghteyes/io-core/commits/ec752950d11302ac4b4db336c3550d3a1e44575e)
- Fix: Allow for exact class matching in `apexl\Io\assertInstanceOf` [`0ffa3b8`](https://bitbucket.org/N1ghteyes/io-core/commits/0ffa3b89a93f298f9e779c9e83e60d17b655350f)

#### [3.0.13](https://bitbucket.org/N1ghteyes/io-core/compare/3.0.13..3.0.12)

> 27 November 2025

- Release 3.0.13 [`5aca414`](https://bitbucket.org/N1ghteyes/io-core/commits/5aca414ff7a0f5d63b89d52e50062a7765805806)
- Fix: Don't pass variable by reference [`d7fbfa3`](https://bitbucket.org/N1ghteyes/io-core/commits/d7fbfa39f819ff8ce5ccbcb30b0d79a1111a2d14)

#### [3.0.12](https://bitbucket.org/N1ghteyes/io-core/compare/3.0.12..3.0.11)

> 27 November 2025

- Fix: Namespace 'global' helper functions [`e1cdde7`](https://bitbucket.org/N1ghteyes/io-core/commits/e1cdde75446c315dc17a9b720890fa765636822c)
- Feat: Add `apexl\Io\assertInstanceOf` helper function [`67b1700`](https://bitbucket.org/N1ghteyes/io-core/commits/67b1700f5b7fe3ff8b86293544d8c5be47892bc2)
- Release 3.0.12 [`1a23825`](https://bitbucket.org/N1ghteyes/io-core/commits/1a23825afc6f2d151d5a40ed574a1244f5b1da57)

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

> 26 November 2025

- Release 3.0.11 [`2c81354`](https://bitbucket.org/N1ghteyes/io-core/commits/2c81354b71632fe108fa2cfb095e429f25a87c10)

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

> 26 November 2025

- Docs: Warn about exceptions [`6314f97`](https://bitbucket.org/N1ghteyes/io-core/commits/6314f9725bc7873e889f5d529b6513980aa60cb3)
- Release 3.0.10 [`c763ca8`](https://bitbucket.org/N1ghteyes/io-core/commits/c763ca8706ce5ee266ee7a418b0815f9b2339b5a)

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

> 26 November 2025

- Release 3.0.9 [`7c92e64`](https://bitbucket.org/N1ghteyes/io-core/commits/7c92e64fff8decfb7a8285e8b31c654b49a5ba42)
- Fix: Strip optional attributes from route patterns [`b9f34bd`](https://bitbucket.org/N1ghteyes/io-core/commits/b9f34bd4561e1c537e9603c5d08cbb1527cf6746)

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

> 26 November 2025

- Chore: RM `RecursionFinderService` from base Controller and put in Whoops handler [`aa365d4`](https://bitbucket.org/N1ghteyes/io-core/commits/aa365d405e2aba049d57decf059d9c80b2098eec)
- Release 3.0.8 [`5fa1c56`](https://bitbucket.org/N1ghteyes/io-core/commits/5fa1c56f2f3810bdc7daefc11a22de52d523e5cc)

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

> 25 November 2025

- Chore: Deprecated `RequestHelper::factory()` in favour of `RequestHelperFactory::make()` [`653f57f`](https://bitbucket.org/N1ghteyes/io-core/commits/653f57fd96dd8ea9d410d98f766d8fc4c22df1b6)
- Release 3.0.7 [`a046f75`](https://bitbucket.org/N1ghteyes/io-core/commits/a046f75070d34f343da70634a02522619d09610b)
- Feat: `ValidationException` class [`1691f21`](https://bitbucket.org/N1ghteyes/io-core/commits/1691f2125ff2c3289cbed9edf358a82d406f9577)

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

> 20 November 2025

- Release 3.0.6 [`ae51c85`](https://bitbucket.org/N1ghteyes/io-core/commits/ae51c856916f1ae6af27ee98c93fde5c3f47d49a)
- Fix: Only strip tags that don't have replacements [`13ec94d`](https://bitbucket.org/N1ghteyes/io-core/commits/13ec94d1576672185ac133a909910740a509bf8b)

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

> 20 November 2025

- Release 3.0.5 [`3f355a7`](https://bitbucket.org/N1ghteyes/io-core/commits/3f355a7ddccdb9c377edde03a51214be1cd924a4)
- Fix: Don't register hooks twice! [`1ead22b`](https://bitbucket.org/N1ghteyes/io-core/commits/1ead22bed6446bb044c527e30a035ae06d26098d)

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

> 20 November 2025

- Chore: Split out controllers [`e4550df`](https://bitbucket.org/N1ghteyes/io-core/commits/e4550dfb33ef8924dd86eef8518e9cd9f1964ba6)
- WIP: Debug recursion errors in `Controller::json()` [`5c74a49`](https://bitbucket.org/N1ghteyes/io-core/commits/5c74a49ea18ea5821361ed929f68c130492a7200)
- Chore: Tidy middleware [`27f7185`](https://bitbucket.org/N1ghteyes/io-core/commits/27f7185014a7d3d499d24176bdb4301211ae4c74)

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

> 14 November 2025

- Chore: Remove calls to `::getInstance()` [`52b98e4`](https://bitbucket.org/N1ghteyes/io-core/commits/52b98e4077d35dc42f3c469992abda5f2ace93c9)
- Release 3.0.3 [`148151d`](https://bitbucket.org/N1ghteyes/io-core/commits/148151d25d1146c2e1c9d66052db3f8c0c9430ae)

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

> 13 November 2025

- Fix: Get new instances of `Mailer` / `PHPMailer` when requested in DI [`f00f72b`](https://bitbucket.org/N1ghteyes/io-core/commits/f00f72b8c5beff2033351449b2173c4710df0cc4)
- Release 3.0.2 [`fe49e72`](https://bitbucket.org/N1ghteyes/io-core/commits/fe49e72b2a7a13ecbaabf04cdf1adae26aadee0b)

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

> 13 November 2025

- Chore: RM unused class and dependency [`0c9079c`](https://bitbucket.org/N1ghteyes/io-core/commits/0c9079cf3733c6f6a7146c958c3b7f362a2029ba)
- Release 3.0.1 [`2ebe916`](https://bitbucket.org/N1ghteyes/io-core/commits/2ebe916e8dc88a190fae78c544267563f178b9f1)
- Chore: Bump requirements [`4c1c045`](https://bitbucket.org/N1ghteyes/io-core/commits/4c1c0457fc64d591d0a6555b9647f269a532a3c6)

### [3.0.0](https://bitbucket.org/N1ghteyes/io-core/compare/3.0.0..2.9.8)

> 13 November 2025

- Refactor: Use DI Injection over singletons; [`e97b241`](https://bitbucket.org/N1ghteyes/io-core/commits/e97b241debac433a5fb533be0cac0f08e22dc12e)
- Feat: Refactoring `System` and `Controller` classes [`14bec11`](https://bitbucket.org/N1ghteyes/io-core/commits/14bec1192f031c69d5f05d7876cebd8aeb242363)
- Chore: Remove unused entity [`8fe0d60`](https://bitbucket.org/N1ghteyes/io-core/commits/8fe0d6047263a97fc3241ea5ae3e8b4275e0db19)

#### [2.9.8](https://bitbucket.org/N1ghteyes/io-core/compare/2.9.8..2.9.7)

> 16 January 2026

- Release 2.9.8 [`3dd83bf`](https://bitbucket.org/N1ghteyes/io-core/commits/3dd83bfa57b28f58454a0a9ed7f775530f7a84b2)
- ooops - move bracket to correct place [`71d82e5`](https://bitbucket.org/N1ghteyes/io-core/commits/71d82e5b7a35a4d20a68b1ab8f923f83e6a2f506)

#### [2.9.7](https://bitbucket.org/N1ghteyes/io-core/compare/2.9.7..2.9.6)

> 16 January 2026

- Release 2.9.7 [`9810084`](https://bitbucket.org/N1ghteyes/io-core/commits/9810084fe0387ec6582003674fef88b3becbc25e)
- fix addCorsHeaders when allowed_headers is an empty array [`a8ca161`](https://bitbucket.org/N1ghteyes/io-core/commits/a8ca16166ac777fcd5c194b6c676a5169bb16a81)

#### [2.9.6](https://bitbucket.org/N1ghteyes/io-core/compare/2.9.6..2.9.5)

> 6 January 2026

- Release 2.9.6 [`d574c77`](https://bitbucket.org/N1ghteyes/io-core/commits/d574c77eda9b51f607510176eee37b3ce96826ae)
- Chore: RM unused dependencies [`0912b2b`](https://bitbucket.org/N1ghteyes/io-core/commits/0912b2b5f11d54e3ad6cc209fc85b94e3ff677f3)

#### [2.9.5](https://bitbucket.org/N1ghteyes/io-core/compare/2.9.5..2.9.4)

> 29 October 2025

- Release 2.9.5 [`1ab9df2`](https://bitbucket.org/N1ghteyes/io-core/commits/1ab9df2fe5029bcce3c20e5360f6db5600878b9e)
- Fix: Use DI container for `requestHelper::factory` [`3157bd2`](https://bitbucket.org/N1ghteyes/io-core/commits/3157bd23951f81a29b4c005909f2d9ef3a707dca)

#### [2.9.4](https://bitbucket.org/N1ghteyes/io-core/compare/2.9.4..2.9.3)

> 20 October 2025

- Chore: Handle container DI expection internally [`4b2e5de`](https://bitbucket.org/N1ghteyes/io-core/commits/4b2e5deeee2465c68308c0cffe947b7ffdb49867)
- Release 2.9.4 [`f9680f7`](https://bitbucket.org/N1ghteyes/io-core/commits/f9680f7b9b8e0d6cda0e7b3c4ead4934dc0d2088)

#### [2.9.3](https://bitbucket.org/N1ghteyes/io-core/compare/2.9.3..2.9.2)

> 15 October 2025

- Release 2.9.3 [`599cdb4`](https://bitbucket.org/N1ghteyes/io-core/commits/599cdb45f3e4388ee1fb5d42092ec8e46ff7cc31)
- Fix: Deprecation [`36b3530`](https://bitbucket.org/N1ghteyes/io-core/commits/36b3530855ab08786d96379b7f5dc0ebff926466)

#### [2.9.2](https://bitbucket.org/N1ghteyes/io-core/compare/2.9.2..2.9.1)

> 29 September 2025

- Release 2.9.2 [`d917750`](https://bitbucket.org/N1ghteyes/io-core/commits/d917750a928bd7925b9e9edd88568c578f43f7e2)
- Fix: Don't add CORS headers if referrer is null and non-development env [`ef36fbd`](https://bitbucket.org/N1ghteyes/io-core/commits/ef36fbd1fad00addfe0ce3cc6bf001d62564d3f2)

#### [2.9.1](https://bitbucket.org/N1ghteyes/io-core/compare/2.9.1..2.9.0)

> 22 September 2025

- Release 2.9.1 [`9dccbad`](https://bitbucket.org/N1ghteyes/io-core/commits/9dccbad4595beb9c6ea07eb0c2e07434c5c7e45b)
- Fix: Don't try and check referrer if not set [`f4d3a15`](https://bitbucket.org/N1ghteyes/io-core/commits/f4d3a15a2f7dcf5480f12a920360d650d38ad7f9)

#### [2.9.0](https://bitbucket.org/N1ghteyes/io-core/compare/2.9.0..2.8.13)

> 19 August 2025

- Release 2.9.0 [`3b7113d`](https://bitbucket.org/N1ghteyes/io-core/commits/3b7113d9cd80b9d3600417cbf7b432471e20a380)
- Feat: Better error handling [`98f7d21`](https://bitbucket.org/N1ghteyes/io-core/commits/98f7d21caed2e9179b908a2f7655ce6f6f731f87)

#### [2.8.13](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.13..2.8.12)

> 21 July 2025

- Feat: Allow disabling of auto-set timestamps when storing entities [`6944135`](https://bitbucket.org/N1ghteyes/io-core/commits/6944135ed7f50be63b386ac30a548c1491414f99)
- Release 2.8.13 [`81af3fd`](https://bitbucket.org/N1ghteyes/io-core/commits/81af3fdbf33f4e20cde8709e12d2e2740af5bf94)

#### [2.8.12](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.12..2.8.11)

> 16 July 2025

- Chore: Remove Valinor [`9928e04`](https://bitbucket.org/N1ghteyes/io-core/commits/9928e0469fa09d912273d0951fd8fff880a63ca6)
- Release 2.8.12 [`1ade697`](https://bitbucket.org/N1ghteyes/io-core/commits/1ade697d57c6bafd52ee42ec22b1ff0de02dee7a)

#### [2.8.11](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.11..2.8.10)

> 18 June 2025

- Fix: Reset static properties on class reset [`f01e955`](https://bitbucket.org/N1ghteyes/io-core/commits/f01e955594cf55f19e1501e26c6984c6e6b357a4)
- Release 2.8.11 [`5403e42`](https://bitbucket.org/N1ghteyes/io-core/commits/5403e42a4c89c0eb13c5b725e27705d84b3b5a8e)

#### [2.8.10](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.10..2.8.9)

> 10 June 2025

- Feat: Add helper to get entity primary key value [`9288c52`](https://bitbucket.org/N1ghteyes/io-core/commits/9288c52a15cffd5695e59b35ef935de74d5ce936)
- Release 2.8.10 [`9fd1cc9`](https://bitbucket.org/N1ghteyes/io-core/commits/9fd1cc9f2ea79c7830547d20bf52876a1cd630b3)

#### [2.8.9](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.9..2.8.8)

> 14 April 2025

- Release 2.8.9 [`8d6087b`](https://bitbucket.org/N1ghteyes/io-core/commits/8d6087bf8423b0cdd3c1ca3e1efc5f4b881ffa46)
- Fix: Use message.id not message.key [`504571e`](https://bitbucket.org/N1ghteyes/io-core/commits/504571ec406d7b9774634b2a446aef7fa9cad291)

#### [2.8.8](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.8..2.8.7)

> 27 March 2025

- Release 2.8.8 [`e5014c5`](https://bitbucket.org/N1ghteyes/io-core/commits/e5014c5cde47d64d95a11796916288d64a3e70f3)
- Fix: Daedalus config option [`b0b6d68`](https://bitbucket.org/N1ghteyes/io-core/commits/b0b6d68d6999047bea7c20c5abe11181aef1139a)

#### [2.8.7](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.7..2.8.6)

> 20 March 2025

- Release 2.8.7 [`8ab8028`](https://bitbucket.org/N1ghteyes/io-core/commits/8ab80280ed3d066373170fb4d1d8a304aac6f4c5)
- tweak 404 response to avoid confusion with 500 [`dc72847`](https://bitbucket.org/N1ghteyes/io-core/commits/dc72847f5bab2ef14694a765fdd3fe19f436f9f6)

#### [2.8.6](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.6..2.8.5)

> 20 March 2025

- Fix: Config key [`d4f2f4b`](https://bitbucket.org/N1ghteyes/io-core/commits/d4f2f4beee2b85ffc7b57f3607d8cd76f352591a)
- Release 2.8.6 [`5a8e99f`](https://bitbucket.org/N1ghteyes/io-core/commits/5a8e99f753a0dc52b337cc67d1005faa5ba8a726)

#### [2.8.5](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.5..2.8.4)

> 20 March 2025

- Chore: New config format [`5fec2ce`](https://bitbucket.org/N1ghteyes/io-core/commits/5fec2ce602f7cf809e8b7d1b57c7e3dc05587488)
- Release 2.8.5 [`77eab3b`](https://bitbucket.org/N1ghteyes/io-core/commits/77eab3b095efcf1bfd1535d979758784a86718da)

#### [2.8.4](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.4..2.8.3)

> 20 March 2025

- Feat: Helper funcitons for config / env [`83378fa`](https://bitbucket.org/N1ghteyes/io-core/commits/83378fa204866917a2daa56345a0d86ae03c03a2)
- Release 2.8.4 [`8f1160b`](https://bitbucket.org/N1ghteyes/io-core/commits/8f1160bcc2a18ee2aee23085df4e3c82ee983885)

#### [2.8.3](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.3..2.8.2)

> 20 March 2025

- Release 2.8.3 [`ab7e90b`](https://bitbucket.org/N1ghteyes/io-core/commits/ab7e90b36931d1443f2ee1b114d6d1fef8c0037a)
- Feat: Helper funcitons for config / env [`396f75d`](https://bitbucket.org/N1ghteyes/io-core/commits/396f75d677e1cb0e353725c2ee324c17ff2331e3)

#### [2.8.2](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.2..2.8.1)

> 20 March 2025

- Release 2.8.2 [`dfd3225`](https://bitbucket.org/N1ghteyes/io-core/commits/dfd322540c299852b9749dd570ee657b646bed7d)
- Feat: Add dotenv [`8320183`](https://bitbucket.org/N1ghteyes/io-core/commits/83201833874e2f4c591580de91ba548e6c3e18dd)

#### [2.8.1](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.1..2.8.0)

> 20 March 2025

- Chore: RM local dto [`63fae78`](https://bitbucket.org/N1ghteyes/io-core/commits/63fae7804ae79a80d247468203f41a01f31769ee)
- Release 2.8.1 [`bee1e7a`](https://bitbucket.org/N1ghteyes/io-core/commits/bee1e7a1d119c1a8814df38bf2143d8591b301ef)

#### [2.8.0](https://bitbucket.org/N1ghteyes/io-core/compare/2.8.0..2.7.41)

> 20 March 2025

- Feat: Update Daedalus to work with new config [`7ef0b23`](https://bitbucket.org/N1ghteyes/io-core/commits/7ef0b231d6246af540070667f3712d097e8e4678)
- Release 2.8.0 [`68f4dd8`](https://bitbucket.org/N1ghteyes/io-core/commits/68f4dd82321b0fb04515149abf7d55233976f4b7)

#### [2.7.41](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.41..2.7.40)

> 20 March 2025

- Release 2.7.41 [`6e9f220`](https://bitbucket.org/N1ghteyes/io-core/commits/6e9f2203d52c68bf34185a3b7a20c252f2388e77)
- add null check [`be23df0`](https://bitbucket.org/N1ghteyes/io-core/commits/be23df0a57e2f626de46e8988549f827e2c7cba0)
- resolve multiple dir separator issue [`b9d3f8c`](https://bitbucket.org/N1ghteyes/io-core/commits/b9d3f8cd59f3fd3aebc70e9d3da8f5af8cb711dc)

#### [2.7.40](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.40..2.7.39)

> 20 March 2025

- Modify getFilesDir, allow passing of exclusions, Add exclusions to core [`0fbcf60`](https://bitbucket.org/N1ghteyes/io-core/commits/0fbcf60c2759d51247d989a88e986b7eb43d9c9b)
- Release 2.7.40 [`ba5da03`](https://bitbucket.org/N1ghteyes/io-core/commits/ba5da030b5c2ce5b2fd753dc249ab350702ff5b8)

#### [2.7.39](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.39..2.7.38)

> 19 March 2025

- Release 2.7.39 [`553c0f2`](https://bitbucket.org/N1ghteyes/io-core/commits/553c0f25b0de3498d9dedca0ab342200de3b7498)
- Now requires PHP 8.3 [`3a7ca16`](https://bitbucket.org/N1ghteyes/io-core/commits/3a7ca1676963d88abd3ace811fce9bd2b46ff3b0)

#### [2.7.38](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.38..2.7.37)

> 19 March 2025

- Release 2.7.38 [`b009735`](https://bitbucket.org/N1ghteyes/io-core/commits/b00973569f296f9f1edea3782b0ab91d62a4f495)
- add defined() [`0b6b3f8`](https://bitbucket.org/N1ghteyes/io-core/commits/0b6b3f8b096101f29083f05d0c239d8dead4d34c)

#### [2.7.37](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.37..2.7.36)

> 19 March 2025

- More singleton &gt; config changes [`58e2d39`](https://bitbucket.org/N1ghteyes/io-core/commits/58e2d393a230fc03cbbcc7fd2ada4aad08d54443)
- Release 2.7.37 [`64fb1c9`](https://bitbucket.org/N1ghteyes/io-core/commits/64fb1c96c3a0a85a1f77b32c85d80b8dc23c6236)

#### [2.7.36](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.36..2.7.35)

> 19 March 2025

- Bulk replace Singleton with Configuration [`e23e9dc`](https://bitbucket.org/N1ghteyes/io-core/commits/e23e9dc7314d23ff39b052c70258a0850ccb4d5f)
- Release 2.7.36 [`588f478`](https://bitbucket.org/N1ghteyes/io-core/commits/588f478d1d712077e93ce236ee4a35072f4ac997)

#### [2.7.35](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.35..2.7.34)

> 19 March 2025

- Feat: Dump config command [`b01ce44`](https://bitbucket.org/N1ghteyes/io-core/commits/b01ce441b9053f080d9794728dd45ea633dc2812)
- Release 2.7.35 [`55b4ede`](https://bitbucket.org/N1ghteyes/io-core/commits/55b4edea73fea59a0aea8c36eba51976f7a977fb)

#### [2.7.34](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.34..2.7.33)

> 19 March 2025

- Release 2.7.34 [`951c8b8`](https://bitbucket.org/N1ghteyes/io-core/commits/951c8b8eaa59573e2cc6f79f0d9a0d08346da165)

#### [2.7.33](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.33..2.7.32)

> 19 March 2025

- Release 2.7.33 [`57ffa4f`](https://bitbucket.org/N1ghteyes/io-core/commits/57ffa4f43092af8f3fdc0e846be0ca2da4a94021)
- Type checks, loaders, fix locked files [`cfd0afc`](https://bitbucket.org/N1ghteyes/io-core/commits/cfd0afc8b64927adfa4161d33bd479aeb66b7806)

#### [2.7.32](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.32..2.7.31)

> 19 March 2025

- Release 2.7.32 [`b690ecb`](https://bitbucket.org/N1ghteyes/io-core/commits/b690ecbb06be337fecda2ec2c742656bd4f0a7de)
- add default config Dir [`690416a`](https://bitbucket.org/N1ghteyes/io-core/commits/690416a738b02a39ec4fb958fd1e9f6437f4ba89)

#### [2.7.31](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.31..2.7.30)

> 19 March 2025

- re-add missing config directory function [`228d6db`](https://bitbucket.org/N1ghteyes/io-core/commits/228d6db97f6eda92ac113e7bb1737481e20e076a)
- Release 2.7.31 [`7af91fb`](https://bitbucket.org/N1ghteyes/io-core/commits/7af91fb001eb0cbcd2dfb463ef6ad4110079c7e7)

#### [2.7.30](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.30..2.7.29)

> 19 March 2025

- Tweak config to allow loading from PHP files [`efcbeff`](https://bitbucket.org/N1ghteyes/io-core/commits/efcbeff61219fd93a68169c6e9a20d2e809be77d)
- Release 2.7.30 [`8930587`](https://bitbucket.org/N1ghteyes/io-core/commits/89305873e5f31ac1e2fe69c900d4bc65b1303268)

#### [2.7.29](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.29..2.7.28)

> 17 February 2025

- Release 2.7.29 [`5b19806`](https://bitbucket.org/N1ghteyes/io-core/commits/5b19806fd8e40342c333eafe6b6078036b60bb25)
- Fix: Save `EntityField::length` as string [`00dc6b3`](https://bitbucket.org/N1ghteyes/io-core/commits/00dc6b3d941e6d041cad4fbcde1c79ac470b4a37)

#### [2.7.28](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.28..2.7.27)

> 7 February 2025

- Release 2.7.28 [`cbc954c`](https://bitbucket.org/N1ghteyes/io-core/commits/cbc954c09839636ded4be248e74fdf0bfe010a90)
- Improve error logging. [`0a23004`](https://bitbucket.org/N1ghteyes/io-core/commits/0a230049a0f51b0e157f20ea18c624c844e46b20)

#### [2.7.27](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.27..2.7.26)

> 6 February 2025

- Feat: Allow resetting of singleton instances [`c0f8eb9`](https://bitbucket.org/N1ghteyes/io-core/commits/c0f8eb9817ff7a4f185a4ee9d6fa2203caa2c963)
- Release 2.7.27 [`a643ea9`](https://bitbucket.org/N1ghteyes/io-core/commits/a643ea924de783e53af3b74a945ae42061688fc4)

#### [2.7.26](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.26..2.7.25)

> 5 February 2025

- Release 2.7.26 [`e3db209`](https://bitbucket.org/N1ghteyes/io-core/commits/e3db209bd96dbebc8989a589b30deedb88bb8da7)
- Fix: Check type [`6352429`](https://bitbucket.org/N1ghteyes/io-core/commits/63524294b43a1fae888ca754d0d082d8904ae61b)

#### [2.7.25](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.25..2.7.24)

> 5 February 2025

- Release 2.7.25 [`d2e2c81`](https://bitbucket.org/N1ghteyes/io-core/commits/d2e2c813799d08b688e6d9eca4e5015ba7dc45ef)
- Feat: Include column length in EntityField Dto [`93533d5`](https://bitbucket.org/N1ghteyes/io-core/commits/93533d579a0b883e792ebe5b9abcfa5debe360b7)

#### [2.7.24](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.24..2.7.23)

> 5 February 2025

- Feat: Allow early init of config [`c79ed7d`](https://bitbucket.org/N1ghteyes/io-core/commits/c79ed7d7466acbdfd34d9bbd3e45262c28fa5502)
- Release 2.7.24 [`a20bba8`](https://bitbucket.org/N1ghteyes/io-core/commits/a20bba814e1b9f389585f8378becc6ccd9a25023)

#### [2.7.23](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.23..2.7.22)

> 23 January 2025

- Release 2.7.23 [`9b04e16`](https://bitbucket.org/N1ghteyes/io-core/commits/9b04e16b7e613e8eb3de968a006e73a3ec1963ef)
- Fix: Describe database tables through `Database` to leverage caching [`b890ac9`](https://bitbucket.org/N1ghteyes/io-core/commits/b890ac9227ea29156b6b8a9ac99b01c187a71113)
- Fix: Cast all MySql types of `int` as php `int` apart from `tinyint` =&gt; `bool` [`e5b548e`](https://bitbucket.org/N1ghteyes/io-core/commits/e5b548e404f9652f6fe079e855a4cbc0d29f1ff8)

#### [2.7.22](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.22..2.7.21)

> 27 November 2024

- Release 2.7.22 [`3d16c37`](https://bitbucket.org/N1ghteyes/io-core/commits/3d16c37329099f27429fe8ed35da7249a2fbac23)
- Feat: Add `Dto::without()` [`177da88`](https://bitbucket.org/N1ghteyes/io-core/commits/177da8806b46857c4cd93dd82965ef585152471b)

#### [2.7.21](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.21..2.7.20)

> 31 October 2024

- Release 2.7.21 [`238be38`](https://bitbucket.org/N1ghteyes/io-core/commits/238be38afff9a5a36e2ae029b13ec4c1b496beb8)
- Chore: Tidy [`7b60610`](https://bitbucket.org/N1ghteyes/io-core/commits/7b60610fc63381b69e4f2e766d3fd61a4c41fe00)
- Fix: Double dipping execution [`914e7b7`](https://bitbucket.org/N1ghteyes/io-core/commits/914e7b7e08059b330bae8dee32a5d1dd5ae223f7)

#### [2.7.20](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.20..2.7.19)

> 10 October 2024

- Feat: Add Base DTO class [`104dce8`](https://bitbucket.org/N1ghteyes/io-core/commits/104dce80e4566c93110f817abb22e57b313c0d1f)
- Release 2.7.20 [`7ee52b0`](https://bitbucket.org/N1ghteyes/io-core/commits/7ee52b09c8a2ea83e30e29fda324a263768d3426)

#### [2.7.19](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.19..2.7.18)

> 2 October 2024

- Release 2.7.19 [`90eb434`](https://bitbucket.org/N1ghteyes/io-core/commits/90eb434df954b7dd6c7d2bcc784682de5f3f8a87)
- fix old hooks and adjust loadMultiple method [`f3d7712`](https://bitbucket.org/N1ghteyes/io-core/commits/f3d7712cd61ce3c0ace73bd5ae909543fb8f3f8a)

#### [2.7.18](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.18..2.7.17)

> 6 August 2024

- Release 2.7.18 [`3318a72`](https://bitbucket.org/N1ghteyes/io-core/commits/3318a7218fe86c756ab5dfebc8e1734a607f3dbc)
- Fix: Missing dependency [`6c04f75`](https://bitbucket.org/N1ghteyes/io-core/commits/6c04f75026d41dcdc6c3eeba223833ae88e0be5a)

#### [2.7.17](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.17..2.7.16)

> 6 August 2024

- Fix: Explicitly use new query object when describing tables [`14753b1`](https://bitbucket.org/N1ghteyes/io-core/commits/14753b1a5185e1c887cf44427bc0a98e56675783)
- Release 2.7.17 [`b8c7de5`](https://bitbucket.org/N1ghteyes/io-core/commits/b8c7de55065d7b70b068f8bdba77c4958cf71021)
- Fix: Check for array key before accessing [`3c41f11`](https://bitbucket.org/N1ghteyes/io-core/commits/3c41f1196418dc2ae09f49ac8c5b0e3f9aee7745)

#### [2.7.16](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.16..2.7.15)

> 1 August 2024

- Release 2.7.16 [`73085c7`](https://bitbucket.org/N1ghteyes/io-core/commits/73085c75d5c1889525cce1efe0282d4927e1b84c)
- Feat: Allow extra CORS allowed headers to be set by config [`a564af8`](https://bitbucket.org/N1ghteyes/io-core/commits/a564af8a142eb1fc2c7f8052ad8764fdb86e3cc5)

#### [2.7.15](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.15..2.7.14)

> 30 July 2024

- Release 2.7.15 [`8502e6b`](https://bitbucket.org/N1ghteyes/io-core/commits/8502e6b8911eb5b092534ff37b37ea1beb5c5877)
- Fix: Ignore referrer path when checking CORS [`903c13f`](https://bitbucket.org/N1ghteyes/io-core/commits/903c13fddeb29b7c5ef3e274d49b02b841ff2811)

#### [2.7.14](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.14..2.7.13)

> 30 July 2024

- Release 2.7.14 [`15490f0`](https://bitbucket.org/N1ghteyes/io-core/commits/15490f0d099b654614d4b1b4da15f320378b8242)
- Fix: Ignore referrer path when checking CORS [`005b441`](https://bitbucket.org/N1ghteyes/io-core/commits/005b44130329ee7ee609c298caabdc20c73bfe97)

#### [2.7.13](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.13..2.7.12)

> 9 July 2024

- Chore: Move `SortDirection` enum into vault [`12418a4`](https://bitbucket.org/N1ghteyes/io-core/commits/12418a4a84024d4b25e3a7f60a6f2eb02dd21e7e)
- Release 2.7.13 [`d747bcd`](https://bitbucket.org/N1ghteyes/io-core/commits/d747bcd1c2f26d040ef26d83e2b862804a99061f)

#### [2.7.12](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.12..2.7.11)

> 4 July 2024

- Release 2.7.12 [`0cfb95a`](https://bitbucket.org/N1ghteyes/io-core/commits/0cfb95adcdf42bb2159c38daa8f31a9e6cd493e1)
- Feat: Add `Routes::getFullyQualifiedRoutePattern` [`fbce2f6`](https://bitbucket.org/N1ghteyes/io-core/commits/fbce2f65bb8ac07b05721df33872aa13bf83454a)

#### [2.7.11](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.11..2.7.10)

> 6 June 2024

- Release 2.7.11 [`650ec2a`](https://bitbucket.org/N1ghteyes/io-core/commits/650ec2af1c0daf8bba64ce294e089cf9a4297da1)
- Fix: Don't use NewtonTrailers Specific dependencies in modules [`5ea7858`](https://bitbucket.org/N1ghteyes/io-core/commits/5ea7858e22abb69b57e60a9354acc18fc8a016a3)

#### [2.7.10](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.10..2.7.9)

> 17 April 2024

- Release 2.7.10 [`b20057d`](https://bitbucket.org/N1ghteyes/io-core/commits/b20057d032e7868a30b831c26c76e6d6b69c749c)
- Fix: Shortcut `Entity::loadBy()` if `$key` is primary key [`2818f21`](https://bitbucket.org/N1ghteyes/io-core/commits/2818f2184d14e566934691c9d0e21bcfd61a80ba)

#### [2.7.9](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.9..2.7.8)

> 10 April 2024

- Release 2.7.9 [`08a6a6a`](https://bitbucket.org/N1ghteyes/io-core/commits/08a6a6a8474c2021e3aaac8cbeaffb38ef5ee0e7)
- Feat: route::getPermission() helper function [`2c19738`](https://bitbucket.org/N1ghteyes/io-core/commits/2c1973822ecc36a14711bc79302eec6cad03ffb0)

#### [2.7.8](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.8..2.7.7)

> 1 February 2024

- Release 2.7.8 [`65223bd`](https://bitbucket.org/N1ghteyes/io-core/commits/65223bde594dc2514de6a1089ab4bd823d94ff92)
- Fix: Incorrect column type [`7314bc7`](https://bitbucket.org/N1ghteyes/io-core/commits/7314bc718f7c5e2c101ff08657c47810e5f45d66)

#### [2.7.7](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.7..2.7.6)

> 1 February 2024

- Release 2.7.7 [`9eb61e4`](https://bitbucket.org/N1ghteyes/io-core/commits/9eb61e46fbf7e454fa93ec6476264a073a70cd90)
- Chore: Move `entityCore\Entity::titleField() to `Io\includes\Entity` [`5600175`](https://bitbucket.org/N1ghteyes/io-core/commits/5600175ec1a963819ebb5fe59d5a8e55a0de0fe9)
- Fix: Fallback for missing array values [`6f7574f`](https://bitbucket.org/N1ghteyes/io-core/commits/6f7574ff32b264f6e3ed43d450da05451522d8a7)

#### [2.7.6](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.6..2.7.5)

> 23 January 2024

- Release 2.7.6 [`60b021b`](https://bitbucket.org/N1ghteyes/io-core/commits/60b021baa6abf138a12b2c626c9fe794ac8faf62)
- Feat: Access query withH `requestHelper` [`bc133a6`](https://bitbucket.org/N1ghteyes/io-core/commits/bc133a6c87a06767ef7645f43cb620e299dd2fcd)

#### [2.7.5](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.5..2.7.4)

> 9 January 2024

- Fix: Still attempt to send CORS headers when 500 occurs during request handling [`d4f99be`](https://bitbucket.org/N1ghteyes/io-core/commits/d4f99beec28440a2fc1b423b176eec504fae595c)
- Release 2.7.5 [`a8ee147`](https://bitbucket.org/N1ghteyes/io-core/commits/a8ee147edf0565343198de07fe272d3889d4c4f7)

#### [2.7.4](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.4..2.7.3)

> 4 January 2024

- Feat: Split Daedalus templating out to trait for easier sharing [`a10e2bc`](https://bitbucket.org/N1ghteyes/io-core/commits/a10e2bc96de09fc4788bc5df5402ade6a13eb5e8)
- Release 2.7.4 [`6508db7`](https://bitbucket.org/N1ghteyes/io-core/commits/6508db794a2ccebae055fbf1e088ce206bb13092)
- Fix: Typehint Entity::currentUser [`a0ab85d`](https://bitbucket.org/N1ghteyes/io-core/commits/a0ab85d47351a85967efc83a75ccb5bb757c410b)

#### [2.7.3](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.3..2.7.2)

> 19 December 2023

- Feat: Add build number in header, via middleware [`a45ea1f`](https://bitbucket.org/N1ghteyes/io-core/commits/a45ea1f30468bc98510a316a3a1a272706feea16)
- Release 2.7.3 [`25c983a`](https://bitbucket.org/N1ghteyes/io-core/commits/25c983a0d36f14056101547c5265403a4182b1c1)
- Feat: Simpler release-it config [`a3d0f14`](https://bitbucket.org/N1ghteyes/io-core/commits/a3d0f148bfe1eed977d7a1fa81700a6db3f38c76)

#### [2.7.2](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.2..2.7.1)

> 13 December 2023

- Release 2.7.2 [`0d0cec8`](https://bitbucket.org/N1ghteyes/io-core/commits/0d0cec884f61a62c58ea4c588932af5d039e4201)
- Feat: Add specific postEntityInsert hook on per-table basis [`7c1cffe`](https://bitbucket.org/N1ghteyes/io-core/commits/7c1cffe4c690b06cf7bf4ff7fecca15b64bed0d0)

#### [2.7.1](https://bitbucket.org/N1ghteyes/io-core/compare/2.7.1..2.6.5)

> 13 December 2023

- Feat: Create Module Command [`1dba272`](https://bitbucket.org/N1ghteyes/io-core/commits/1dba2729162e4731cace498fb9969536d877d88d)
- Release 2.7.0 [`b379764`](https://bitbucket.org/N1ghteyes/io-core/commits/b3797649b7eafe8b0daa014d9bdbfc86bc29c3cd)
- Release 2.7.1 [`806b9ec`](https://bitbucket.org/N1ghteyes/io-core/commits/806b9ec1579ebc14e77a9d1c905112b3ebc6b555)

#### [2.6.5](https://bitbucket.org/N1ghteyes/io-core/compare/2.6.5..2.6.4)

> 30 November 2023

- Release 2.6.5 [`8b1fa41`](https://bitbucket.org/N1ghteyes/io-core/commits/8b1fa41dc7133322368f049786638ab0b3b2a9c8)
- Fix: Use SortDirection enum [`aee4c17`](https://bitbucket.org/N1ghteyes/io-core/commits/aee4c17afcdc76c04deec6450f5efb53ae6e8109)
- Feat: Allow overriding ajax methods with `_METHOD` in body [`890b5b5`](https://bitbucket.org/N1ghteyes/io-core/commits/890b5b5c8366eac9bf78f7f365dd09623ee5c695)

#### [2.6.4](https://bitbucket.org/N1ghteyes/io-core/compare/2.6.4..2.6.3)

> 30 November 2023

- Release 2.6.4 [`c43178e`](https://bitbucket.org/N1ghteyes/io-core/commits/c43178eed84aa626d1860a344ca5ad4d59c7521a)
- Fix: Allow disabling of email encryption [`d6959bc`](https://bitbucket.org/N1ghteyes/io-core/commits/d6959bc10084d52b0d98fbb624460c862fe4b6d3)

#### [2.6.3](https://bitbucket.org/N1ghteyes/io-core/compare/2.6.3..2.6.2)

> 29 November 2023

- Release 2.6.3 [`ac580bc`](https://bitbucket.org/N1ghteyes/io-core/commits/ac580bcba6ac5df57be0adfbf419aa8147fbcd35)
- Feat: Add hook to modify fetched variables [`b054f06`](https://bitbucket.org/N1ghteyes/io-core/commits/b054f06ee04b501c73d94015921b4851c38f1f31)

#### [2.6.2](https://bitbucket.org/N1ghteyes/io-core/compare/2.6.2..2.6.1)

> 29 November 2023

- Feat: Better hook processing [`9c1ed44`](https://bitbucket.org/N1ghteyes/io-core/commits/9c1ed44a4c9fc190f1e96197de3745ea17a357f0)
- Chore: Better usage of PHP 8.2 for hook system [`5b88248`](https://bitbucket.org/N1ghteyes/io-core/commits/5b88248dcb9935d933cff5083d824a824f62cedc)
- Release 2.6.2 [`69e11cc`](https://bitbucket.org/N1ghteyes/io-core/commits/69e11ccf3906a3ad3c5466c38c3d0e749f670d7a)

#### [2.6.1](https://bitbucket.org/N1ghteyes/io-core/compare/2.6.1..2.6.0)

> 14 November 2023

- Feat: CLI command to list modules [`5b5b43f`](https://bitbucket.org/N1ghteyes/io-core/commits/5b5b43fd39c6946215bddab8eabef78118625278)
- Release 2.6.1 [`0b75647`](https://bitbucket.org/N1ghteyes/io-core/commits/0b75647e413f26a6852f3453f9a0330de25eb803)

#### [2.6.0](https://bitbucket.org/N1ghteyes/io-core/compare/2.6.0..2.5.1)

> 14 November 2023

- Feat: Daedalus CLI [`26ba01d`](https://bitbucket.org/N1ghteyes/io-core/commits/26ba01d6cbbd0068729e68dd233daf92d0135414)
- Release 2.6.0 [`e7a7432`](https://bitbucket.org/N1ghteyes/io-core/commits/e7a743212d207d2efd04d05570e7989c2481ed65)

#### [2.5.1](https://bitbucket.org/N1ghteyes/io-core/compare/2.5.1..2.5.0)

> 14 November 2023

- Fix: Short circuit OPTIONS requests to return CORS only [`dbebdad`](https://bitbucket.org/N1ghteyes/io-core/commits/dbebdade1ecaed9eee48f58cd903c30131c701b9)
- Release 2.5.1 [`608eae5`](https://bitbucket.org/N1ghteyes/io-core/commits/608eae50f05b6c1f79b08088f50210d3bcca1eaa)
- Feat: Trigger error in `Client::start()` instead of just logging. [`ed61c58`](https://bitbucket.org/N1ghteyes/io-core/commits/ed61c580ddff11b067fae02ca6dbfcdf48074c17)

#### [2.5.0](https://bitbucket.org/N1ghteyes/io-core/compare/2.5.0..2.4.2)

> 23 October 2023

- Feat: Use `HttpMethod` enum instead of string when declaring routes [`026cd74`](https://bitbucket.org/N1ghteyes/io-core/commits/026cd742ce4949e96e312dcb97138743be4a81cc)
- Feat: Create `requestHelper` base class [`cb1324a`](https://bitbucket.org/N1ghteyes/io-core/commits/cb1324a62f1f78a0d6e9aa6e17c40890efcdb972)
- Release 2.5.0 [`b006b52`](https://bitbucket.org/N1ghteyes/io-core/commits/b006b52de7eaf2e622bf083df99ea5ff55b94315)

#### [2.4.2](https://bitbucket.org/N1ghteyes/io-core/compare/2.4.2..2.4.1)

> 19 October 2023

- Release 2.4.2 [`ceb935a`](https://bitbucket.org/N1ghteyes/io-core/commits/ceb935a81f1c471acc82e0a35bde68db92add240)
- Fix: Allow `get` from `SortDirection` [`ad9299a`](https://bitbucket.org/N1ghteyes/io-core/commits/ad9299aa896f04075859662a048ec8f0eff17c74)
- Fix: Humanize nice name (e.g. 'Nice Name' vs. 'NiceName' [`8778b01`](https://bitbucket.org/N1ghteyes/io-core/commits/8778b01b9e96b13b325ad1ac9f67f31d17cefb46)

#### [2.4.1](https://bitbucket.org/N1ghteyes/io-core/compare/2.4.1..2.4.0)

> 10 October 2023

- Feat: `SortDirection` enum [`3bbfd6c`](https://bitbucket.org/N1ghteyes/io-core/commits/3bbfd6c85dde7bfc9da3a8c8a536eb919d36b085)
- Release 2.4.1 [`f44b039`](https://bitbucket.org/N1ghteyes/io-core/commits/f44b0398d73a4acf18ecb331bdc041b3e9353e3d)
- Fix: Only fetch 1 record when looking for latest [`f2e1584`](https://bitbucket.org/N1ghteyes/io-core/commits/f2e15842d0ae2ddec83045aa91695c50835fa97b)

#### [2.4.0](https://bitbucket.org/N1ghteyes/io-core/compare/2.4.0..2.3.2)

> 5 October 2023

- Chore: Split out Install controllers [`1a47dc2`](https://bitbucket.org/N1ghteyes/io-core/commits/1a47dc26d95187652054ca2ea697171e9405aa04)
- Feat: Don't scan for classes, reference them explicitly [`0ab23d9`](https://bitbucket.org/N1ghteyes/io-core/commits/0ab23d9996d0f5c150e8109d5d49e49ce7828a8b)
- Release 2.4.0 [`ff85efe`](https://bitbucket.org/N1ghteyes/io-core/commits/ff85efe7c1e2c63dc385efda628b03cd46ced650)

#### [2.3.2](https://bitbucket.org/N1ghteyes/io-core/compare/2.3.2..2.3.1)

> 5 October 2023

- Chore: RM Migration module - deprecated in favour of Phinx [`3ee0147`](https://bitbucket.org/N1ghteyes/io-core/commits/3ee014797203f578604b3db621b3dd4a0fa28663)
- Release 2.3.2 [`1fbf508`](https://bitbucket.org/N1ghteyes/io-core/commits/1fbf5088e39ddca00a497be3d75423f09b00ba7a)

#### [2.3.1](https://bitbucket.org/N1ghteyes/io-core/compare/2.3.1..2.3.0)

> 26 September 2023

- Chore: Use Phinx for migrations [`df0aa2c`](https://bitbucket.org/N1ghteyes/io-core/commits/df0aa2c0cb447da71b4ffe25c48b712162079325)
- Release 2.3.1 [`c44f073`](https://bitbucket.org/N1ghteyes/io-core/commits/c44f0735df03b159c63dc834534857eba1df6d09)

#### [2.3.0](https://bitbucket.org/N1ghteyes/io-core/compare/2.3.0..2.2.2)

> 26 September 2023

- Release 2.3.0 [`c4fb120`](https://bitbucket.org/N1ghteyes/io-core/commits/c4fb12046cfd87d90ee335e63f1092263b9fe20a)
- Chore: Don't return anything from `installModule::install()` method [`bbfd54a`](https://bitbucket.org/N1ghteyes/io-core/commits/bbfd54a8fff02472cd25440488c53e98980e1eed)

#### [2.2.2](https://bitbucket.org/N1ghteyes/io-core/compare/2.2.2..2.2.1)

> 7 September 2023

- Feat: Improved hook system [`c1e6b35`](https://bitbucket.org/N1ghteyes/io-core/commits/c1e6b352331d12ae2ff404f9056552b549d6b779)
- Release 2.2.2 [`1c5555e`](https://bitbucket.org/N1ghteyes/io-core/commits/1c5555e3f4e0f386ffa9c3f7373e459c2730baed)

#### [2.2.1](https://bitbucket.org/N1ghteyes/io-core/compare/2.2.1..2.2.0)

> 24 May 2023

- Release 2.2.1 [`9d4b555`](https://bitbucket.org/N1ghteyes/io-core/commits/9d4b555c49a690319496946cc973eb018991a25d)
- Chore: Move Phinx to non-dev dependencies, as it is required by root project [`1c26657`](https://bitbucket.org/N1ghteyes/io-core/commits/1c26657cb1ebe5850a3da0f81aebdf59105e6382)

#### [2.2.0](https://bitbucket.org/N1ghteyes/io-core/compare/2.2.0..2.1.13)

> 24 May 2023

- Release 2.2.0 [`85c2ea5`](https://bitbucket.org/N1ghteyes/io-core/commits/85c2ea50ea2d75569bce696617ca6dd435170b05)
- Chore: Typing module arrays [`457471d`](https://bitbucket.org/N1ghteyes/io-core/commits/457471d1fa828e4a77736d2266ed9c4113eb2b2e)
- Chore: Document exceptions [`8b2fc7d`](https://bitbucket.org/N1ghteyes/io-core/commits/8b2fc7dccf382af0ab85991f70f1548fab2e4696)

#### [2.1.13](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.13..2.1.12)

> 27 April 2023

- Feat: Add `Entity::loadBy` static method [`f6b6145`](https://bitbucket.org/N1ghteyes/io-core/commits/f6b614533875ecbb7d788bcb8ff433c430bee8e3)
- Release 2.1.13 [`48a7bcb`](https://bitbucket.org/N1ghteyes/io-core/commits/48a7bcb3e577345b39e7add5f1d1fc98fcdfb89e)

#### [2.1.12](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.12..2.1.11)

> 17 April 2023

- Feat: Add icon option to messages [`fdc02aa`](https://bitbucket.org/N1ghteyes/io-core/commits/fdc02aacfa631a443e9e087af78c8f4d4e085667)
- Release 2.1.12 [`95211ae`](https://bitbucket.org/N1ghteyes/io-core/commits/95211aeeb52505ae0de38f3f3af004794f7d9419)
- Chore: Types [`a253983`](https://bitbucket.org/N1ghteyes/io-core/commits/a2539832ea36eb8c1e2290071710a4e93cb177e9)

#### [2.1.11](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.11..2.1.10)

> 30 March 2023

- Feat: Create DTO for Entity field data [`34c488b`](https://bitbucket.org/N1ghteyes/io-core/commits/34c488b30897323d331b85b553884be410256d00)
- Release 2.1.11 [`f25a71a`](https://bitbucket.org/N1ghteyes/io-core/commits/f25a71a255b13e05fba3ee91b43fdeb9f2046cd4)
- Chore: Call function directly rather than passing through `__call` [`a1798ee`](https://bitbucket.org/N1ghteyes/io-core/commits/a1798eeb963f609be4998daeaefa2f31836d7368)

#### [2.1.10](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.10..2.1.9)

> 9 March 2023

- Feat: Add static `Entity::fromPrimaryKey()` [`cfaf224`](https://bitbucket.org/N1ghteyes/io-core/commits/cfaf2240cfa6ff946022a6809980ad4fecd11437)
- Release 2.1.10 [`fea9414`](https://bitbucket.org/N1ghteyes/io-core/commits/fea94142d6b0b8cd2d0f77a3e297a9adc3c7ec73)

#### [2.1.9](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.9..2.1.8)

> 7 March 2023

- Fix: Don't DI base controller properties to allow ease of extending [`63d8dc4`](https://bitbucket.org/N1ghteyes/io-core/commits/63d8dc437e961224b1a607f0a3f8f9329d706864)
- Release 2.1.9 [`9c2fede`](https://bitbucket.org/N1ghteyes/io-core/commits/9c2fede400ec2999b81bc9a603da7f9670126505)
- Chore: Use `npx` for release-it [`061fcb5`](https://bitbucket.org/N1ghteyes/io-core/commits/061fcb55190eca5894c1c86ada86ed0965abba14)

#### [2.1.8](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.8..2.1.7)

> 2 March 2023

- Chore: Tidy [`3d00056`](https://bitbucket.org/N1ghteyes/io-core/commits/3d0005688eccf161907069c5bee18f89d3b1b598)
- Chore: Tidy `install` module [`9b808bb`](https://bitbucket.org/N1ghteyes/io-core/commits/9b808bbe5182d02ec98c972ba169fb54262f6f1a)
- Fix: Undefined variable [`73834ef`](https://bitbucket.org/N1ghteyes/io-core/commits/73834efc1596feda3c9bef029abdb352bb2f85da)

#### [2.1.7](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.7..2.1.6)

> 1 March 2023

- Fix: Inherit typing [`547b84f`](https://bitbucket.org/N1ghteyes/io-core/commits/547b84f2aaceda5818869f82a1e4b51f5bf977f6)
- Release 2.1.7 [`693d176`](https://bitbucket.org/N1ghteyes/io-core/commits/693d17605f2c2b9ef6de749d2ccf9f2ce37e89e5)
- Fix: Check property is initialised before accessing [`2898251`](https://bitbucket.org/N1ghteyes/io-core/commits/2898251b97d3e934ea8eafefe0cdc684381728c0)

#### [2.1.6](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.6..2.1.5)

> 28 February 2023

- Feat: Explicit typing [`ee7928f`](https://bitbucket.org/N1ghteyes/io-core/commits/ee7928f1a40f3a5de5bc546943f4e72d26614a0a)
- Release 2.1.6 [`8cc8b25`](https://bitbucket.org/N1ghteyes/io-core/commits/8cc8b25c7fca59127d243c3e7205c6ee95f0100c)
- Feat: Autowire Config Singleton as service [`1203101`](https://bitbucket.org/N1ghteyes/io-core/commits/12031012fc6ded31fdbd1a6d59275e002d6709a9)

#### [2.1.5](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.5..2.1.4)

> 16 February 2023

- Feat: Refactor Routing system and allow middleware on per-route basis [`cc67912`](https://bitbucket.org/N1ghteyes/io-core/commits/cc67912e0721efcfbbce3ebed633d74ff0cf6027)
- Release 2.1.5 [`b2f9176`](https://bitbucket.org/N1ghteyes/io-core/commits/b2f9176e8fec83b7d4211bfe349d819d39dd5003)

#### [2.1.4](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.4..2.1.3)

> 16 February 2023

- Feat: Use an interface to determine if module provides services, rather than method check [`216b181`](https://bitbucket.org/N1ghteyes/io-core/commits/216b18143e4b0668c378dfefe15f010197de8966)
- Release 2.1.4 [`53768ef`](https://bitbucket.org/N1ghteyes/io-core/commits/53768ef6697a1f47134856cd7d01c81a22527c4a)
- Fix: Allow direct calling of callables in `[$class, $method]` format [`f2a7e89`](https://bitbucket.org/N1ghteyes/io-core/commits/f2a7e89b4423b27a974df70f39aa2e0391eb8283)

#### [2.1.3](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.3..2.1.2)

> 14 February 2023

- Release 2.1.3 [`5ca993e`](https://bitbucket.org/N1ghteyes/io-core/commits/5ca993eafc21d77877840978cadee5e94af7a1e6)
- Fix: Change method name [`bb3fd60`](https://bitbucket.org/N1ghteyes/io-core/commits/bb3fd60e7ab8a51858dd1e747ca268f526235b48)
- Fix: Incorrect property type [`f258397`](https://bitbucket.org/N1ghteyes/io-core/commits/f258397e6deef4367d78e7004b81fdf6fdae954d)

#### [2.1.2](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.2..2.1.1)

> 14 February 2023

- Release 2.1.2 [`c7cf116`](https://bitbucket.org/N1ghteyes/io-core/commits/c7cf116cbe180bb3b2a9ef58b7377c1179b2ea57)
- Fix: Pull in `fylax/fixUTF8` package [`785bfbb`](https://bitbucket.org/N1ghteyes/io-core/commits/785bfbbf0728f70629c796db46b2466c9cbea75b)

#### [2.1.1](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.1..2.1.0)

> 14 February 2023

- Release 2.1.1 [`99183d1`](https://bitbucket.org/N1ghteyes/io-core/commits/99183d1ec158e65c879e188d0f2a811882d7dd78)
- Fix: RM Deprecated package [`a174d02`](https://bitbucket.org/N1ghteyes/io-core/commits/a174d02fdef53de7011d00c9271d498831df6dd6)

#### [2.1.0](https://bitbucket.org/N1ghteyes/io-core/compare/2.1.0..2.0.0)

> 14 February 2023

- Chore: Composer update to use tagged Apexl packages, and remove `min-stability: dev` [`70fa0f7`](https://bitbucket.org/N1ghteyes/io-core/commits/70fa0f7a1e9dbf24086e67f1a1f329f23d6d5328)
- Release 2.0.0 [`c8d022e`](https://bitbucket.org/N1ghteyes/io-core/commits/c8d022efb64c64c434286aa2894773e7c0f527e2)
- Release 2.1.0 [`75d006f`](https://bitbucket.org/N1ghteyes/io-core/commits/75d006f7a7af4c27e19dbe16bd731a836ed46c91)

### [2.0.0](https://bitbucket.org/N1ghteyes/io-core/compare/2.0.0..1.0.20)

> 13 February 2023

- Chore: Rector &gt; PHP 8.2 [`3834c48`](https://bitbucket.org/N1ghteyes/io-core/commits/3834c489c2dffd0f55f36b4fb7a76c3e99ae14b0)
- Release 2.0.0 [`93f7a9b`](https://bitbucket.org/N1ghteyes/io-core/commits/93f7a9b1a6fdd286ea54673af302e553d709735b)
- Chore: Composer update to PHP 8.2 [`952dc76`](https://bitbucket.org/N1ghteyes/io-core/commits/952dc768b30c574465dd957cf073559e3a831951)

#### [1.0.20](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.20..1.0.19)

> 6 January 2026

- Release 1.0.20 [`378c908`](https://bitbucket.org/N1ghteyes/io-core/commits/378c908c32818e45705b6abcb1a36d105174e125)
- Chore: RM unused dependencies [`f5575ab`](https://bitbucket.org/N1ghteyes/io-core/commits/f5575abdeafbdb1ae2e37ae30704f8420d0e880c)

#### [1.0.19](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.19..1.0.18)

> 18 September 2025

- Release 1.0.19 [`26054f9`](https://bitbucket.org/N1ghteyes/io-core/commits/26054f91f5ebb5269ac8eba71a45d76ca78c06e7)
- Feat: Add 'Before Run' hook to `System` [`991594f`](https://bitbucket.org/N1ghteyes/io-core/commits/991594f063348949bdc8a1dcd6fa2ab158a8a174)

#### [1.0.18](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.18..1.0.17)

> 4 September 2025

- Release 1.0.18 [`9cb12e8`](https://bitbucket.org/N1ghteyes/io-core/commits/9cb12e8a1602870c20d3403a86718c0db92a6854)
- allow fetching of json variable as associative array instead of object [`dfcb307`](https://bitbucket.org/N1ghteyes/io-core/commits/dfcb3072117f8faec69ff95dd565c832d32f7f49)

#### [1.0.17](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.17..1.0.16)

> 28 August 2025

- Fix: Add migration for `database_describe` table [`96c9d6b`](https://bitbucket.org/N1ghteyes/io-core/commits/96c9d6b2dc8fddf92ffc76829d26b84e3e116535)
- Release 1.0.17 [`e2cf6f0`](https://bitbucket.org/N1ghteyes/io-core/commits/e2cf6f0a8d07df5905bd23ae597e1eb81b53916e)

#### [1.0.16](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.16..1.0.15)

> 13 August 2025

- Release 1.0.16 [`c15469e`](https://bitbucket.org/N1ghteyes/io-core/commits/c15469ec41dd83d5d44cc6bc937b29214cf65d26)
- cache describe database queries [`d511076`](https://bitbucket.org/N1ghteyes/io-core/commits/d511076f8127a141e47526cfd0c98521c1b4b386)

#### [1.0.15](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.15..1.0.14)

> 6 January 2025

- Release 1.0.15 [`bee7028`](https://bitbucket.org/N1ghteyes/io-core/commits/bee7028f479cd371d8f5b4cace8c36fb31d23124)
- add cache-control header to all api requests [`080060e`](https://bitbucket.org/N1ghteyes/io-core/commits/080060e27efa22ad301f830020fdc7f2dda41e71)

#### [1.0.14](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.14..1.0.13)

> 16 February 2024

- Release 1.0.14 [`c6d6218`](https://bitbucket.org/N1ghteyes/io-core/commits/c6d6218a51273eef9acdffa6dbd42a79f2582dc2)
- improve logging of 404 errors [`22ad6cc`](https://bitbucket.org/N1ghteyes/io-core/commits/22ad6cc9e224321aa8f7a707f725d6e6ef2300d1)

#### [1.0.13](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.13..1.0.12)

> 29 January 2024

- Release 1.0.13 [`e552cee`](https://bitbucket.org/N1ghteyes/io-core/commits/e552cee5ecbca7cff91134dcc2ea84bc61455ca2)
- search lookups [`5d898d8`](https://bitbucket.org/N1ghteyes/io-core/commits/5d898d850326c640bcaa621a480a47375c98d36e)

#### [1.0.12](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.12..1.0.11)

> 21 November 2023

- Feat: Allow setting name of client-uploaded files [`679d909`](https://bitbucket.org/N1ghteyes/io-core/commits/679d9093e63853902f88dd32796f8c0fffc89fd6)
- Release 1.0.12 [`0c60d52`](https://bitbucket.org/N1ghteyes/io-core/commits/0c60d52ec7e6bfbc3c950776a1cf4b0e1b124d1a)

#### [1.0.11](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.11..1.0.10)

> 16 November 2023

- Feat: Better hook processing [`f6742db`](https://bitbucket.org/N1ghteyes/io-core/commits/f6742db38046633ce1d4db5ed10aa27c188e1830)
- Release 1.0.11 [`9811100`](https://bitbucket.org/N1ghteyes/io-core/commits/98111002ebdef87f0249bb80942006b9350d0af7)
- Feat: Add hook to modify fetched variables [`dfe19a3`](https://bitbucket.org/N1ghteyes/io-core/commits/dfe19a3039da9c01663cd2a2d2f940f3cb1ff8cb)

#### [1.0.10](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.10..1.0.9)

> 26 October 2023

- Release 1.0.10 [`57485d9`](https://bitbucket.org/N1ghteyes/io-core/commits/57485d9acec0b6fce77ab9d5cd7d68a4f3518086)
- generic function used for indexing data from any entity [`8fb0c13`](https://bitbucket.org/N1ghteyes/io-core/commits/8fb0c13976174c6c7b362e4c0148ad0db807ba72)

#### [1.0.9](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.9..1.0.8)

> 31 August 2023

- Release 1.0.9 [`4c7cdaa`](https://bitbucket.org/N1ghteyes/io-core/commits/4c7cdaa958538ae47ee32c608274b2bb34f52952)
- after using the generic controller delete function,  if display list route exists for the entity in question, redirect to it [`eb2dc89`](https://bitbucket.org/N1ghteyes/io-core/commits/eb2dc89bfd2bd036b4edbbe856c17e01d1d5bd9c)

#### [1.0.8](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.8..1.0.7)

> 7 July 2023

- Release 1.0.8 [`4dae91c`](https://bitbucket.org/N1ghteyes/io-core/commits/4dae91c5825a20e73046ca7b113c97929e5eec22)
- correct package.json to right tag version [`98e3e9e`](https://bitbucket.org/N1ghteyes/io-core/commits/98e3e9e69e62646ecf034852fffa9db64afa5290)
- fix abaility to call any method statically [`7cc03d6`](https://bitbucket.org/N1ghteyes/io-core/commits/7cc03d6356372b5a307bda07b8074cb4b9261371)

#### [1.0.7](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.7..1.0.6)

> 2 July 2023

- Fix display module issue [`6fba1c1`](https://bitbucket.org/N1ghteyes/io-core/commits/6fba1c1b39aeac40765fa40ae10a888706f7d667)

#### [1.0.6](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.6..1.0.5)

> 4 June 2023

- Add __callStatic method to core for static operator method calls [`830f6bb`](https://bitbucket.org/N1ghteyes/io-core/commits/830f6bb79760a92506a86a7897b57ae4ea514c51)

#### [1.0.5](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.5..1.0.4)

> 4 June 2023

- Auto stash before merge of "master" and "origin/master" [`1fe2ad8`](https://bitbucket.org/N1ghteyes/io-core/commits/1fe2ad8ef818d771cb3b7a762c04ea82f66fcc13)

#### [1.0.4](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.4..1.0.3)

> 22 May 2023

- Release 1.0.4 [`a12efaa`](https://bitbucket.org/N1ghteyes/io-core/commits/a12efaae8c42a04ca0ee766d8a9c3cf8b790d4ff)
- add utils dependency [`f05a5d9`](https://bitbucket.org/N1ghteyes/io-core/commits/f05a5d96ee3e288e587aa3e3d8bb579308b1cab0)

#### [1.0.3](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.3..1.0.2)

> 16 May 2023

- update dependencies [`b673841`](https://bitbucket.org/N1ghteyes/io-core/commits/b67384148a1310339ae406d1f1d140529df434f0)
- Release 1.0.3 [`7167225`](https://bitbucket.org/N1ghteyes/io-core/commits/7167225df1c5b1526f6c3123a23c49d1b4210274)

#### [1.0.2](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.2..1.0.1)

> 16 May 2023

- Release 1.0.2 [`e5c7d99`](https://bitbucket.org/N1ghteyes/io-core/commits/e5c7d99bc51922aaa3095fcf730dc6a11a911679)

#### [1.0.1](https://bitbucket.org/N1ghteyes/io-core/compare/1.0.1..1.0.0)

> 16 May 2023

- put uk at top of countries list,  change package requirements to ^1.0.0 [`a4256ba`](https://bitbucket.org/N1ghteyes/io-core/commits/a4256bae8200a881a5c4848ed847a0e7529b0aaa)
- Release 1.0.1 [`c82119a`](https://bitbucket.org/N1ghteyes/io-core/commits/c82119ad2c06520982af9b7b6fb48a1f72c5b3dd)
- modify package.json [`5c9ff0c`](https://bitbucket.org/N1ghteyes/io-core/commits/5c9ff0cd2bb45190cac43fd34b33a52cf7e1a170)

#### 1.0.0

> 13 February 2023

- Chore: Install various QoL tools [`d15874a`](https://bitbucket.org/N1ghteyes/io-core/commits/d15874a78859629843cd270885aaf7c285f86919)
- Chore: PHP CS Fixer run [`770cffd`](https://bitbucket.org/N1ghteyes/io-core/commits/770cffd03f6441ba6a1dabf7434937a050faf0bb)
- Add the Core IO code to its own repo for composer. [`588bbaf`](https://bitbucket.org/N1ghteyes/io-core/commits/588bbaf2355bc36b40241b2f5075f3694d8c26ef)
