Skip to content

build(deps): bump retriable from 3.8.0 to 4.2.0#5187

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bundler/retriable-4.2.0
Open

build(deps): bump retriable from 3.8.0 to 4.2.0#5187
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bundler/retriable-4.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 15, 2026

Copy link
Copy Markdown
Contributor

Bumps retriable from 3.8.0 to 4.2.0.

Release notes

Sourced from retriable's releases.

v4.2.0

Bug fixes

  • The Kernel extension methods (require "retriable/core_ext/kernel") are now private, matching idiomatic Kernel helpers like puts and rand. Previously retriable and retriable_with_context were public instance methods, so they leaked onto every object's public API and could be invoked with an explicit receiver (e.g. "foo".retriable { ... }). They remain callable in the documented receiver-less form. (#146)
  • Retriable.with_context (and Kernel#retriable_with_context) now raises ArgumentError when called without a block, matching with_override. Previously a missing block was silently ignored: the call returned nil and the intended block never ran, hiding a caller bug. Behavior change: code that relied on the silent no-op will now raise.
  • Config#validate! now validates the structure of each entry in contexts, so configured contexts are checked on every Retriable.retriable/ with_context call rather than only when a given context is first used. A context whose options contain an unknown key (including a nested contexts key) now raises ArgumentError, "<key> is not a valid option", matching the with_override path. Non-Hash contexts and non-Hash per-context values remain leniently treated as empty options (no behavior change). Option values are still validated lazily at retry time, unchanged.

Docs

  • Document that on_retry receives next_interval: nil on the final rescued attempt, when Retriable is about to give up because tries are exhausted. on_retry still fires before on_give_up (unchanged behavior); the nil contract is now called out in the on_retry documentation so handlers guard arithmetic or logging on next_interval.

Performance

  • Config#initialize no longer allocates a throwaway ExponentialBackoff (and runs its redundant validate!) just to read default values. Defaults now live in a frozen ExponentialBackoff::DEFAULTS constant, removing an allocation and redundant validation from the retriable hot path. (#149)

Retriable 4.1.1

Bug fixes

  • retry_if, on_retry, and on_give_up are now validated to be callable (respond to #call) or falsy. A non-callable truthy value raises ArgumentError at configuration time instead of a later NoMethodError on a retry path. (#140)

Internal

  • Add RBS type signatures for the public API (Retriable.configure, config, retriable, with_override, with_context, and Retriable::Config) and validate them in CI with rbs validate. (#142)
  • Enforce a minimum test coverage floor and add a bundler-audit dependency audit job to CI. (#143)
  • Remove an unused CC_TEST_REPORTER_ID from the CI workflow. (#141)

... (truncated)

Changelog

Sourced from retriable's changelog.

4.2.0

Bug fixes

  • The Kernel extension methods (require "retriable/core_ext/kernel") are now private, matching idiomatic Kernel helpers like puts and rand. Previously retriable and retriable_with_context were public instance methods, so they leaked onto every object's public API and could be invoked with an explicit receiver (e.g. "foo".retriable { ... }). They remain callable in the documented receiver-less form. (#146)
  • Retriable.with_context (and Kernel#retriable_with_context) now raises ArgumentError when called without a block, matching with_override. Previously a missing block was silently ignored: the call returned nil and the intended block never ran, hiding a caller bug. Behavior change: code that relied on the silent no-op will now raise.
  • Config#validate! now validates the structure of each entry in contexts, so configured contexts are checked on every Retriable.retriable/ with_context call rather than only when a given context is first used. A context whose options contain an unknown key (including a nested contexts key) now raises ArgumentError, "<key> is not a valid option", matching the with_override path. Non-Hash contexts and non-Hash per-context values remain leniently treated as empty options (no behavior change). Option values are still validated lazily at retry time, unchanged.

Docs

  • Document that on_retry receives next_interval: nil on the final rescued attempt, when Retriable is about to give up because tries are exhausted. on_retry still fires before on_give_up (unchanged behavior); the nil contract is now called out in the on_retry documentation so handlers guard arithmetic or logging on next_interval.

Performance

  • Config#initialize no longer allocates a throwaway ExponentialBackoff (and runs its redundant validate!) just to read default values. Defaults now live in a frozen ExponentialBackoff::DEFAULTS constant, removing an allocation and redundant validation from the retriable hot path. (#149)

4.1.1

Bug fixes

  • retry_if, on_retry, and on_give_up are now validated to be callable (respond to #call) or falsy. A non-callable truthy value raises ArgumentError at configuration time instead of a later NoMethodError on a retry path. (#140)

... (truncated)

Commits
  • 5be1372 Bump to 4.2.0
  • 4057ebf Validate context structure in Config#validate! (#154)
  • 124ca6e docs: strengthen with_override immutability contract (#152)
  • 38a4473 perf: hoist backoff defaults into ExponentialBackoff::DEFAULTS (#149)
  • 608797b test: cover with_context block validation order (#148)
  • 1e7d1f4 fix: with_context raises ArgumentError without a block (#147)
  • fc19152 Make Kernel core_ext methods private (#146)
  • 2f4e697 Document on_retry next_interval: nil contract on give-up attempt (#145)
  • fe00df3 Update rbs requirement from ~> 3.0 to ~> 4.0 (#144)
  • 516c357 Bump version to 4.1.1
  • 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 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)

Bumps [retriable](https://github.com/kamui/retriable) from 3.8.0 to 4.2.0.
- [Release notes](https://github.com/kamui/retriable/releases)
- [Changelog](https://github.com/kamui/retriable/blob/main/CHANGELOG.md)
- [Commits](kamui/retriable@v3.8.0...v4.2.0)

---
updated-dependencies:
- dependency-name: retriable
  dependency-version: 4.2.0
  dependency-type: indirect
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Jun 15, 2026
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 ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants