Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 9, 2026

Bumps dry-types from 1.8.3 to 1.9.0.

Release notes

Sourced from dry-types's releases.

v1.9.0

Added

  • params.* with .optional can now handle empty strings consistently with optional.params.* by returning nil instead of raising an error. (@​baweaver in #487, @​flash-gordon in #490)

    This behavior is not enabled by default because it's a breaking change. Set Dry::Types.use_namespaced_optionals(true) to enable it.

    Dry::Types["params.integer"].optional.("") # => CoercionError
    # Activate namespaced optionals
    Dry::Types.use_namespaced_optionals true
    Dry::Types["params.integer"].optional.("") # => nil

Changed

  • Require Ruby 3.2 or later.
  • Support bigdecimal version 4.0 as well as 3.0, improving compatibility with other gems that require 4.0 only. (@​rus-max in #492)
  • Improve sum type error handling documentation. (@​baweaver in #486)

Fixed

  • Fix Constructor#primitive? delegation for sum types. (@​baweaver in #484)

    This now works without error:

    a = Types::String.constrained(size: 2) | Types::Hash
    b = Types::String.constrained(size: 1) | Types::Hash
    c = (a.constructor { |x| x.is_a?(Hash) ? x : x.downcase }) |
    (b.constructor { |x| x.is_a?(Hash) ? x : x.upcase })

  • Fix Sum type to_s with Dry::Struct types. (@​baweaver in #485)

    This now works without error:

    class A < Dry::Struct; end
    class B < Dry::Struct; end
    (A | B).to_s

Compare v1.8.3 ... v1.9.0

Changelog

Sourced from dry-types's changelog.

1.9.0 - 2026-01-09

Added

  • params.* with .optional can now handle empty strings consistently with optional.params.* by returning nil instead of raising an error. (@​baweaver in #487, @​flash-gordon in #490)

    This behavior is not enabled by default because it's a breaking change. Set Dry::Types.use_namespaced_optionals(true) to enable it.

    Dry::Types["params.integer"].optional.("") # => CoercionError
    # Activate namespaced optionals
    Dry::Types.use_namespaced_optionals true
    Dry::Types["params.integer"].optional.("") # => nil

Changed

  • Require Ruby 3.2 or later.
  • Support bigdecimal version 4.0 as well as 3.0, improving compatibility with other gems that require 4.0 only. (@​rus-max in #492)
  • Improve sum type error handling documentation. (@​baweaver in #486)

Fixed

  • Fix Constructor#primitive? delegation for sum types. (@​baweaver in #484)

    This now works without error:

    a = Types::String.constrained(size: 2) | Types::Hash
    b = Types::String.constrained(size: 1) | Types::Hash
    c = (a.constructor { |x| x.is_a?(Hash) ? x : x.downcase }) |
    (b.constructor { |x| x.is_a?(Hash) ? x : x.upcase })

  • Fix Sum type to_s with Dry::Struct types. (@​baweaver in #485)

    This now works without error:

    class A < Dry::Struct; end
    class B < Dry::Struct; end
    (A | B).to_s

Commits
  • adb1373 Prepare for v1.9.0
  • e89c805 Tweak CHANGELOG wording
  • f7aadd7 File sync from hanakai-rb/repo-sync
  • a4bf4c1 Prepare CHANGELOG for v1.9.0
  • 9b295c7 Tidy CHANGELOG formatting
  • 61bb30d File sync from hanakai-rb/repo-sync
  • f3590ed File sync from hanakai-rb/repo-sync
  • 57b9848 Fix rubocop issues
  • 429dc9b File sync from hanakai-rb/repo-sync
  • 87a3fb2 File sync from hanakai-rb/repo-sync
  • 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)

Bumps [dry-types](https://github.com/dry-rb/dry-types) from 1.8.3 to 1.9.0.
- [Release notes](https://github.com/dry-rb/dry-types/releases)
- [Changelog](https://github.com/dry-rb/dry-types/blob/main/CHANGELOG.md)
- [Commits](dry-rb/dry-types@v1.8.3...v1.9.0)

---
updated-dependencies:
- dependency-name: dry-types
  dependency-version: 1.9.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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 Jan 9, 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