Skip to content

build(deps): Bump oban from 2.18.0 to 2.19.4 #1242

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 26, 2025

Bumps oban from 2.18.0 to 2.19.4.

Release notes

Sourced from oban's releases.

v2.19.2

Enhancements

  • [Oban] Allow setting a MFA in :get_dynamic_repo

    Anonymous functions don't work with OTP releases, as anonymous functions cannot be used in configuration. Now a MFA tuple can be passed instead of a fun, and the scaling guide recommends a function instead.

  • [Cron] Include configured timezone in cron job metadata

    Along with the cron expression, stored as cron_expr, the configured timezone is also recorded as cron_tz in cron job metadata.

  • [Cron] Add next_at/2 and last_at/2 for cron time calculations

    This implements jumping functions for cron expressions. Rather than naively iterating through minutes, it uses the expression values to efficiently jump to the next or last cron run time.

  • [Executor] Always convert queue_time to native time unit

    The telemetry docs state that measurements are recorded in native time units. However, that hasn't been the case for queue_time for a while now. It usually worked anyway native and nanosecond is of the same resolution, but now it is guaranteed.

Bug Fixes

  • [Peer] Correct leadership elections for the Dolphin engine

    MySQL always returns the number of entries attempted, even when nothing was added. The previous match caused all nodes to believe they were the leader. This uses a secondary query within the same transaction to detect if the current instance is the leader.

  • [Reindexer] Drop invalid indexes concurrently when reindexing.

    The DROP INDEX query would lock the whole table with an ACCESS EXCLUSIVE lock and could cause queries to fail unexpectedly.

  • [Testing] Use Ecto.Type.cast/2 for backward compatibility

    The cast!/2 function wasn't added until Ecto 3.12. This reverts time casting to use cast/2 for compatibility with earlier Ecto versions.

  • [Worker] Validate that the unique option isn't an empty list.

    An empty list was accepted at compile time, but wouldn't be valid later at runtime. Now the two validations match for greater parity.

v2.19.1

Bug Fixes

  • [Mix] Improve igniter installer idempotency and compatibility.

    The installer now uses on_exists: :skip when generating a migration, so it composes safely with other igniter installers. It also removes unnecessary add_dep calls that would overwrite a previously specified Oban version with ~> 2.18.

v2.19

The minimum Elixir version is now v1.15. The official policy is to only support the three latest versions of Elixir.

🐬 MySQL Support

Oban officially supports MySQL with the new Dolphin engine. Oban supports modern (read "with full JSON support") MySQL [versions from 8.4][m84] on, and has been tested on the highly scalable [Plantescale][pla] database.

... (truncated)

Changelog

Sourced from oban's changelog.

v2.19.4 — 2025-03-25

Bug Fixes

  • [Validation] Partially revert removal of unused validators.

    Some validations are actively used by the current version of Oban Pro and shouldn't have been removed.

  • [Plugins] Handle and log all unexpected messages.

    Some genservers handled unexpected messages while others did not. Now all plugins and other genservers consistently handle those messages. Public facing modules, such as plugins, all log a warning about the message while internal modules ignore them.

v2.19.3 — 2025-03-24

Bug Fixes

  • [Install] Use configure_new for idempotent installation.

    Prevent overwriting existing :oban configuration when running installer.

  • [Sonar] Correct stale node logic for sonar tracking.

    The original code had a logical error. By calculating stale as current time + interval * multiplier, it would reject nodes that were recorded in the future relative to the current time (which is unlikely to be the intended behavior) The new code correctly identifies stale nodes by checking if they're older than the threshold.

Enhancements

  • [Worker] Check for worker functions rather than behaviour

    Behaviours can't contain overlapping callbacks. In order to have a worker-like module that defines it's own timeout/1 or backoff/1, we must use an alternate callback.

  • [Worker] Improve warning message on incorrect return from perform/1.

  • [Telemetry] Skip logging peer events unless node leadership changes.

    The default logger only outputs peer events when something changed: either the peer became leader or lost the leader.

  • [Validation] Add schema validator for tuple options.

    Being able to validate tuples eliminates the need for custom validator functions in several locations.

  • [Oban] Compatiblity updates for changes in the upcoming Elixir v1.19

... (truncated)

Commits
  • 8b0aada Release v2.19.4
  • f91ea26 Partially revert removal of unused validators
  • d86f2b9 Handle and log unexpected messages
  • 6151f17 Release v2.19.3
  • 02bd42f Skip logging peer events unless leadership changes
  • 3ae8122 Correct stale node logic for sonar tracking
  • 470cdd0 Expand defining queues guide
  • 4f3bc80 Expand operational maintenance guide
  • 2c488ed Expand and enhance the periodic jobs guide
  • 3776ff0 Expand and clarify scheduling guide
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file elixir Pull requests that update elixir code minor less important than important but more than nice-to-have labels Mar 26, 2025
@dependabot dependabot bot force-pushed the dependabot/hex/oban-2.19.4 branch 2 times, most recently from 99e6880 to 0123e14 Compare March 30, 2025 18:04
Bumps [oban](https://github.com/oban-bg/oban) from 2.18.0 to 2.19.4.
- [Release notes](https://github.com/oban-bg/oban/releases)
- [Changelog](https://github.com/oban-bg/oban/blob/main/CHANGELOG.md)
- [Commits](oban-bg/oban@v2.18.0...v2.19.4)

---
updated-dependencies:
- dependency-name: oban
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/hex/oban-2.19.4 branch from 0123e14 to 1137ef3 Compare April 3, 2025 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file elixir Pull requests that update elixir code minor less important than important but more than nice-to-have
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants