### 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.1.2](https://bitbucket.org/N1ghteyes/io-jobs/compare/3.1.2..3.1.1)

- fix: ask the handler's signature instead of guessing its data parameter [`4235a90`](https://bitbucket.org/N1ghteyes/io-jobs/commits/4235a90a7e455270dd9a55b3426d423a99512e3f)

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

> 6 August 2026

- Fix: The queue lost jobs when two enqueues raced for a sequence [`4edc02a`](https://bitbucket.org/N1ghteyes/io-jobs/commits/4edc02acda91c1286946de9ba4d04fd23fd3e6f6)
- Release 3.1.1 [`ef77ca4`](https://bitbucket.org/N1ghteyes/io-jobs/commits/ef77ca433b840e5ecefaeaf466b02d0259946b7f)

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

> 4 August 2026

- Feat: Let a handler decline a job without failing it [`8d81969`](https://bitbucket.org/N1ghteyes/io-jobs/commits/8d81969ef169962eb540918615f1acf58adf6590)
- Release 3.1.0 [`c3fde92`](https://bitbucket.org/N1ghteyes/io-jobs/commits/c3fde920930969058b945f089ec1af11c95d764d)

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

> 4 August 2026

- Fix: Make `jobs:run --limit` work instead of fatalling [`afc7fdb`](https://bitbucket.org/N1ghteyes/io-jobs/commits/afc7fdb1395fcf7019a16b994cbb64f7d4894071)
- Release 3.0.17 [`ba99dd5`](https://bitbucket.org/N1ghteyes/io-jobs/commits/ba99dd59f5d8abbeb1c8b67a723b0839f93b4b28)

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

> 16 July 2026

- Release 3.0.16 [`a74c7a2`](https://bitbucket.org/N1ghteyes/io-jobs/commits/a74c7a2290aee986295adff925e2475a0b873495)
- Chore: allow apexl/vault 4.0 (strict insert semantics) [`cb2092c`](https://bitbucket.org/N1ghteyes/io-jobs/commits/cb2092cd5ec7380bcdeb5186392aab2cf4cac0ff)

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

> 10 July 2026

- Release 3.0.15 [`b3f77dc`](https://bitbucket.org/N1ghteyes/io-jobs/commits/b3f77dcf37611c0eba45bf4c6abdf44009a8f577)
- Fix: Broken sql query in QueueJobFactory.php [`f9ed415`](https://bitbucket.org/N1ghteyes/io-jobs/commits/f9ed4158da88c958700eb82ff98cd9e51b69470e)

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

> 2 July 2026

- General enhancements [`#1`](https://bitbucket.org/N1ghteyes/io-jobs/pull-requests/1)
- Chore: Speed up job queue [`d292051`](https://bitbucket.org/N1ghteyes/io-jobs/commits/d292051c78579b5e4a5adc1854f95ce492763fc7)
- docs: add README (audit Phase C.7) [`f48e0b7`](https://bitbucket.org/N1ghteyes/io-jobs/commits/f48e0b709ddd2ca59623b488c77a14f6523a40f3)
- Release 3.0.14 [`b36bc6e`](https://bitbucket.org/N1ghteyes/io-jobs/commits/b36bc6ea61e3baab585cb5508203e7c0073f53cb)

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

> 23 May 2026

- fix: ship only the contract-level tests for 3.0.12 line [`13cab69`](https://bitbucket.org/N1ghteyes/io-jobs/commits/13cab69733ea2d9af899627d352b20dc1a65a19e)

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

> 23 May 2026

- feat: add phpunit suite covering handleFailure + retry paths (Phase D.P0) [`a60eee3`](https://bitbucket.org/N1ghteyes/io-jobs/commits/a60eee3cf444535e665d73341a9b18b0d695a299)

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

> 21 May 2026

- Add opt-in scheduled-retry / backoff support (non-breaking) [`3a546aa`](https://bitbucket.org/N1ghteyes/io-jobs/commits/3a546aa549e7000618e6a3ad4fd304a28fac0dc1)

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

> 26 March 2026

- Fix: Split logger config out into relevant modules [`134d83f`](https://bitbucket.org/N1ghteyes/io-jobs/commits/134d83f74f646b253e6aaae2f4278da47c647052)
- Release 3.0.10 [`f99f680`](https://bitbucket.org/N1ghteyes/io-jobs/commits/f99f680be81f68de60b182c6dd6654223767cdc3)

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

> 26 March 2026

- Chore: Remove cron hook [`0ed5e9c`](https://bitbucket.org/N1ghteyes/io-jobs/commits/0ed5e9c170079f590825199e2418404d5ae54143)
- Release 3.0.9 [`526caf3`](https://bitbucket.org/N1ghteyes/io-jobs/commits/526caf3c2574cc6f6b6d5bd156d230c0fdd75f7f)

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

> 29 January 2026

- Release 3.0.8 [`422826a`](https://bitbucket.org/N1ghteyes/io-jobs/commits/422826a98524faab9a18e5a23b4cfbe28c86200c)
- Fix: RM unneeded property override [`cdde3d1`](https://bitbucket.org/N1ghteyes/io-jobs/commits/cdde3d1ca1dac90cab23a928c1fa4cad811295bc)

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

> 2 December 2025

- Feat: Use `IoRequest` instead of `RequestHelper` for fetching request params [`f8d2067`](https://bitbucket.org/N1ghteyes/io-jobs/commits/f8d2067c5db5cd6beca1893ccaf4c607e7ddcefe)
- Release 3.0.7 [`5940b00`](https://bitbucket.org/N1ghteyes/io-jobs/commits/5940b00ea019bf6eb9bc9d94c05ac717479a8c86)

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

> 1 December 2025

- Release 3.0.6 [`01028dd`](https://bitbucket.org/N1ghteyes/io-jobs/commits/01028dd5715296f61d9c09e2c9d1204552a09bcd)
- Feat: Auto-resolve `RequestHelper`s in `Controller` and descendents [`a0237a3`](https://bitbucket.org/N1ghteyes/io-jobs/commits/a0237a36cf2ee97b6ffc6b1261f9e13e9b8074b3)

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

> 27 November 2025

- Release 3.0.5 [`8cd3459`](https://bitbucket.org/N1ghteyes/io-jobs/commits/8cd3459f44fb76f0c58b95ae57b3725eaa9256fa)

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

> 27 November 2025

- Release 3.0.4 [`08536a8`](https://bitbucket.org/N1ghteyes/io-jobs/commits/08536a866581135bcacc960015b9e1017438afbd)
- Fix: Namespace 'global' helper functions [`fde3e22`](https://bitbucket.org/N1ghteyes/io-jobs/commits/fde3e22895e8cb218d75248a99234a576b907657)

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

> 20 November 2025

- Chore:: Move DI into `__invoke` [`cecfce2`](https://bitbucket.org/N1ghteyes/io-jobs/commits/cecfce2db382642a395221cf18fa36491b95908b)
- Release 3.0.3 [`0446478`](https://bitbucket.org/N1ghteyes/io-jobs/commits/0446478c1367f3650d41b3696b483cef9a47cbcc)

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

> 14 November 2025

- Chore: Remove calls to `::getInstance()` [`b64ca32`](https://bitbucket.org/N1ghteyes/io-jobs/commits/b64ca3259fbb688ba8d227de52863457144e351c)
- Release 3.0.2 [`c7c91eb`](https://bitbucket.org/N1ghteyes/io-jobs/commits/c7c91ebd92e8aeb15b9e76f499fa8ded97330005)

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

> 13 November 2025

- Release 3.0.1 [`d8a66dc`](https://bitbucket.org/N1ghteyes/io-jobs/commits/d8a66dc109b5f781a9b7c3e0efe831c7d0d35ed7)
- Fix: Missing services file [`eb288a8`](https://bitbucket.org/N1ghteyes/io-jobs/commits/eb288a837b4e40df6600547578b07676015ebb20)

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

> 13 November 2025

- Refactor: Use DI Injection over singletons; Bump to IO V3; [`075f448`](https://bitbucket.org/N1ghteyes/io-jobs/commits/075f4484a5fb69ea53f226287b4f7c67d63bd875)
- Release 3.0.0 [`570ac93`](https://bitbucket.org/N1ghteyes/io-jobs/commits/570ac933569706dbcc6bb2da1dac1810ce53a3b7)

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

> 5 November 2025

- Chore: Refactor Controllers inline with IO 2.10 [`1cf2c3e`](https://bitbucket.org/N1ghteyes/io-jobs/commits/1cf2c3e04fa1977371e6f097fc8b9df976897463)
- Release 2.2.0 [`c48234b`](https://bitbucket.org/N1ghteyes/io-jobs/commits/c48234bdeeb8d8d3e86a876b3d74891247820269)

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

> 20 March 2025

- Release 2.1.2 [`6b92687`](https://bitbucket.org/N1ghteyes/io-jobs/commits/6b92687203b243b3874b96034000a9b6bf6c456c)
- Chore: Use DaedalusCommand as base for Commands [`b3bf059`](https://bitbucket.org/N1ghteyes/io-jobs/commits/b3bf0595419bb7588ad6f2a4dc51580e6654aef4)

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

> 9 July 2024

- Release 2.1.1 [`da05afe`](https://bitbucket.org/N1ghteyes/io-jobs/commits/da05afefb796c221bb36f4d3714aaa38ed374d49)
- Chore: Update min requirement for `io-vault` [`f1d8006`](https://bitbucket.org/N1ghteyes/io-jobs/commits/f1d8006854c2fef843af6984db0a6c9bed20da9d)

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

> 4 July 2024

- Chore: Rearrange QueueJob::create params [`6e8e7b9`](https://bitbucket.org/N1ghteyes/io-jobs/commits/6e8e7b9b28eda7245c485a45d556b416450c112c)
- Release 2.1.0 [`e8f6252`](https://bitbucket.org/N1ghteyes/io-jobs/commits/e8f6252bd159b5c27adfa67153da59bccefeddde)

#### [2.0.15](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.15..2.0.14)

> 12 June 2024

- Fix: Better debugging levels [`4a5ff8c`](https://bitbucket.org/N1ghteyes/io-jobs/commits/4a5ff8c94905c042c33e4fa83947d369e1e4ea73)
- Release 2.0.15 [`1904fb7`](https://bitbucket.org/N1ghteyes/io-jobs/commits/1904fb74d3b0520215f39cae612950df8aee4380)

#### [2.0.14](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.14..2.0.13)

> 6 June 2024

- Docs: Changelog [`8866bec`](https://bitbucket.org/N1ghteyes/io-jobs/commits/8866bec24b9eab6fa19316457ab69d90cd550010)
- Fix: Don't use NewtonTrailers Specific dependencies in modules [`b5e5750`](https://bitbucket.org/N1ghteyes/io-jobs/commits/b5e57504e5b06ea90d3e7d876f62062c4a14fd6b)
- Release 2.0.14 [`91ba7cc`](https://bitbucket.org/N1ghteyes/io-jobs/commits/91ba7ccfa65952f711ab105b50e1ca619e453cf5)

#### [2.0.13](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.13..2.0.12)

> 27 February 2024

- Feat: Add Daedalus job to run job queue [`a1ff609`](https://bitbucket.org/N1ghteyes/io-jobs/commits/a1ff609fd51a271c833acf6bead123d513daaf05)
- Feat: Allow toggling of Cron job to run job queue via config [`f842027`](https://bitbucket.org/N1ghteyes/io-jobs/commits/f842027db93477eea469d13ee40f94f464d1f489)
- Feat: Release tools [`1910a64`](https://bitbucket.org/N1ghteyes/io-jobs/commits/1910a646c208828b193c3a31c3e2f652a774f06b)

#### [2.0.12](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.12..2.0.11)

> 31 January 2024

- Fix: Missing migration reversal [`8ef3837`](https://bitbucket.org/N1ghteyes/io-jobs/commits/8ef3837ac8dee7c71f30eafc2c5b33b6691a0d67)
- Release 2.0.12 [`b19a03e`](https://bitbucket.org/N1ghteyes/io-jobs/commits/b19a03e96f877fd68073709220fdf097c93a84db)

#### [2.0.11](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.11..2.0.10)

> 18 December 2023

- Chore: Clear JobQueue contents on successful process [`d79104f`](https://bitbucket.org/N1ghteyes/io-jobs/commits/d79104f0fb1e2a06331fe8a0c6fa45fd2a350842)
- Release 2.0.11 [`b78549b`](https://bitbucket.org/N1ghteyes/io-jobs/commits/b78549b5ce5865f1ed03517b74d2e7898c7fc665)

#### [2.0.10](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.10..2.0.9)

> 14 December 2023

- Fix: Incorrect type [`dd8d4d5`](https://bitbucket.org/N1ghteyes/io-jobs/commits/dd8d4d5b60b2be0ea5deeb5bea978f3cc5462382)
- Release 2.0.10 [`3fdc826`](https://bitbucket.org/N1ghteyes/io-jobs/commits/3fdc8269cf1988f23c086bfca0052b199bc35c6a)

#### [2.0.9](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.9..2.0.8)

> 12 December 2023

- Release 2.0.9 [`218fd6e`](https://bitbucket.org/N1ghteyes/io-jobs/commits/218fd6e2fb2d5fc52ff136e1cf4f9373f76e928b)
- Fix: Use NPX to release [`8b3e2c0`](https://bitbucket.org/N1ghteyes/io-jobs/commits/8b3e2c03fc22f211cecc0c978874bf5b22049d31)
- Fix: Incorrect namespace [`b7d9dbf`](https://bitbucket.org/N1ghteyes/io-jobs/commits/b7d9dbfdbd5a9c153995d9ca66416b4d76f45bca)

#### [2.0.8](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.8..2.0.7)

> 14 November 2023

- Fix: Respect job queue limits [`92d2836`](https://bitbucket.org/N1ghteyes/io-jobs/commits/92d28365c73fa70af37acabbbbb79eb2aedcd4b5)
- Release 2.0.8 [`742b1a8`](https://bitbucket.org/N1ghteyes/io-jobs/commits/742b1a8b47e45682523f8338c14acfce2f8216e0)

#### [2.0.7](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.7..2.0.6)

> 14 November 2023

- Chore: Give cron job a useful ID [`8825f16`](https://bitbucket.org/N1ghteyes/io-jobs/commits/8825f163e53654fce476a236dfdc302a8702ee8f)
- Release 2.0.7 [`f488cd5`](https://bitbucket.org/N1ghteyes/io-jobs/commits/f488cd5d101d7cdd2edb1d8b21cdbb3ac5ebcd63)

#### [2.0.6](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.6..2.0.5)

> 14 November 2023

- Fix: Make job queue `contents` column into `mediumtext` [`e3586f5`](https://bitbucket.org/N1ghteyes/io-jobs/commits/e3586f5cd672b732422a8a379f07a9750059bed5)
- Release 2.0.6 [`4e1f737`](https://bitbucket.org/N1ghteyes/io-jobs/commits/4e1f73722b297fe993c1df5419c66f3c45121454)

#### [2.0.5](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.5..2.0.4)

> 17 October 2023

- Feat: Allow batching / limiting queue tasks [`d308e14`](https://bitbucket.org/N1ghteyes/io-jobs/commits/d308e14ba32e040dca84374176bfb9d485a61947)
- Feat: Add index to `job_queue.failed` [`cd3929b`](https://bitbucket.org/N1ghteyes/io-jobs/commits/cd3929b5c4cca786c53f7802e3db523833b8406d)
- Release 2.0.5 [`6916ea1`](https://bitbucket.org/N1ghteyes/io-jobs/commits/6916ea156c3c0f33cf420ce797b0eeffb56cbe40)

#### [2.0.4](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.4..2.0.3)

> 10 October 2023

- Chore: Use `SortDirection` enum instead of static strings [`5abeb8a`](https://bitbucket.org/N1ghteyes/io-jobs/commits/5abeb8a48d47ac0a5f426011b0c62a7eda5fcbbd)
- Release 2.0.4 [`9f95e0f`](https://bitbucket.org/N1ghteyes/io-jobs/commits/9f95e0faa1e710b6fd6b0e5a83070068c2afa688)

#### [2.0.3](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.3..2.0.2)

> 10 October 2023

- Fix: Swap order of index in job_queue table [`deba498`](https://bitbucket.org/N1ghteyes/io-jobs/commits/deba4982b440daa7e5eb2134aaa34f0e47e06318)
- Release 2.0.3 [`31c6302`](https://bitbucket.org/N1ghteyes/io-jobs/commits/31c63024e463b954a2dd4a87e6aa24c8cf77e6fb)

#### [2.0.2](https://bitbucket.org/N1ghteyes/io-jobs/compare/2.0.2..2.0.1)

> 5 October 2023

- Feat: More flexible failure handling [`1d9ac4f`](https://bitbucket.org/N1ghteyes/io-jobs/commits/1d9ac4fb8085de8203337bea85d9a4a3b7db98fd)
- Chore: Don't use Async jobs tp process queue [`39407ca`](https://bitbucket.org/N1ghteyes/io-jobs/commits/39407ca340d9e5ed3eb401cfd795f7460fab447a)
- Release 2.0.2 [`b0788f1`](https://bitbucket.org/N1ghteyes/io-jobs/commits/b0788f149e0c29c66ab69bebb6f55318cc703fa6)

#### 2.0.1

> 7 September 2023

- Feat: initial commit [`ba0eac6`](https://bitbucket.org/N1ghteyes/io-jobs/commits/ba0eac602f27067d876ba58723b86975698428f0)
- Release 2.0.1 [`f0612bf`](https://bitbucket.org/N1ghteyes/io-jobs/commits/f0612bf111f23c1b9292e2fa97e51a047a112515)
