CHANGELOG.md in job-iteration-1.4.1 vs CHANGELOG.md in job-iteration-1.5.0

- old
+ new

@@ -1,5 +1,26 @@ ### Main (unreleased) +Nil + +## v1.5.0 (May 29, 2024) +### Changes + +- [437](https://github.com/Shopify/job-iteration/pull/437) - Use minimum between per-class `job_iteration_max_job_runtime` and `JobIteration.max_job_runtime`, instead of enforcing only setting decreasing values. + Because it is possible to change the global or parent values after setting the value on a class, it is not possible to truly enforce the decreasing value constraint. Instead, we now use the minimum between the global value and per-class value. This is considered a non-breaking change, as it should not break any **existing** code, it only removes the constraint on new classes. +- [443](https://github.com/Shopify/job-iteration/pull/443) - Use Sidekiq `:quit` callback to detect graceful shutdown. This makes job-iteration compatible with Sidekiq run in embedded mode. +- [445](https://github.com/Shopify/job-iteration/pull/445) - Add the `around_iterate` callback, which runs around each call of `each_iteration`. This adds extensibility to build some generic handlers, such as metrics collection and logging. +- [450](https://github.com/Shopify/job-iteration/pull/450) - Infer which interruption adapter to use from the queue adapter of the job. This deprecates setting `JobIteration.interruption_adapter = <callable>`, in favor of `JobIteration.register_interruption_adapter(<queue adapter name>, <callable>)`. `JobIteration.interruption_adapter` will be removed in a future release. + +### Bug fixes + +- [437](https://github.com/Shopify/job-iteration/pull/437) - Defer reading `JobIteration.max_job_runtime` until runtime, instead of closing around the value at the time of job definition. +- [431](https://github.com/Shopify/job-iteration/pull/431) - Use `#id_value` instead of `send(:id)` +when generating position for cursor based on `:id` column (Rails 7.1 and above, where composite +primary models are now supported). This ensures we grab the value of the id column, rather than a +potentially composite primary key value. +- [456](https://github.com/Shopify/job-iteration/pull/431) - Use Arel to generate SQL that's type compatible for the + cursor pagination conditionals in ActiveRecord cursor. Previously, the cursor would coerce numeric ids to a string value + (e.g.: `... AND id > '1'`) ## v1.4.1 (Sep 5, 2023) ### Bug fixes