### 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.0.4](https://bitbucket.org/N1ghteyes/io-core/compare/3.0.4..3.0.3)

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

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

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