Skip to content

chore(deps-dev): bump shoulda-matchers from 7.0.1 to 8.0.1#2646

Merged
mroderick merged 1 commit into
masterfrom
dependabot/bundler/shoulda-matchers-8.0.1
Jun 15, 2026
Merged

chore(deps-dev): bump shoulda-matchers from 7.0.1 to 8.0.1#2646
mroderick merged 1 commit into
masterfrom
dependabot/bundler/shoulda-matchers-8.0.1

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Bumps shoulda-matchers from 7.0.1 to 8.0.1.

Release notes

Sourced from shoulda-matchers's releases.

v8.0.1

What's Changed

Full Changelog: thoughtbot/shoulda-matchers@v8.0.0...v8.0.1

v8.0.0

8.0.0 - 2026-06-12

Backward-incompatible changes

Features

Bug fixes

Improvements

#1651: thoughtbot/shoulda-matchers#1651 #1690: thoughtbot/shoulda-matchers#1690 #1692: thoughtbot/shoulda-matchers#1692 #1693: thoughtbot/shoulda-matchers#1693 #1694: thoughtbot/shoulda-matchers#1694 #1695: thoughtbot/shoulda-matchers#1695 #1697: thoughtbot/shoulda-matchers#1697 #1700: thoughtbot/shoulda-matchers#1700 #1702: thoughtbot/shoulda-matchers#1702 #1703: thoughtbot/shoulda-matchers#1703 #1705: thoughtbot/shoulda-matchers#1705 #1708: thoughtbot/shoulda-matchers#1708 #1709: thoughtbot/shoulda-matchers#1709

Changelog

Sourced from shoulda-matchers's changelog.

8.0.1 - 2026-06-12

Bug fixes

  • Fix validate_uniqueness_of raising "DescendantsTracker.clear was disabled" when config.enable_reloading is false by @​matsales28 (#1713)

#1713: thoughtbot/shoulda-matchers#1713

8.0.0 - 2026-06-12

Backward-incompatible changes

Features

Bug fixes

Improvements

#1651: thoughtbot/shoulda-matchers#1651 #1690: thoughtbot/shoulda-matchers#1690 #1692: thoughtbot/shoulda-matchers#1692 #1693: thoughtbot/shoulda-matchers#1693 #1694: thoughtbot/shoulda-matchers#1694 #1695: thoughtbot/shoulda-matchers#1695 #1697: thoughtbot/shoulda-matchers#1697 #1700: thoughtbot/shoulda-matchers#1700 #1702: thoughtbot/shoulda-matchers#1702 #1703: thoughtbot/shoulda-matchers#1703 #1705: thoughtbot/shoulda-matchers#1705 #1708: thoughtbot/shoulda-matchers#1708 #1709: thoughtbot/shoulda-matchers#1709

Commits

@dependabot dependabot Bot added dependencies ruby Pull requests that update Ruby code labels Jun 15, 2026
Bumps [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) from 7.0.1 to 8.0.1.
- [Release notes](https://github.com/thoughtbot/shoulda-matchers/releases)
- [Changelog](https://github.com/thoughtbot/shoulda-matchers/blob/main/CHANGELOG.md)
- [Commits](thoughtbot/shoulda-matchers@v7.0.1...v8.0.1)

---
updated-dependencies:
- dependency-name: shoulda-matchers
  dependency-version: 8.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/bundler/shoulda-matchers-8.0.1 branch from fc6000f to c9a8a3b Compare June 15, 2026 07:24
@mroderick

Copy link
Copy Markdown
Collaborator

Dependency Upgrade Review: shoulda-matchers v7.0.1 → v8.0.1

PR Scope

Dependency-only — only Gemfile (version constraint) and Gemfile.lock changed.

Changes in shoulda-matchers

This is a major version bump (7 → 8), combining the 8.0.0 release and the 8.0.1 bugfix patch.

Breaking changes (8.0.0):

  • Drop support for Rails 7.1 and Ruby 3.2 — Neither affects this app. We're on Rails 8.1.2 and Ruby 3.4.8.

New features (8.0.0):

  • Validate multiple attributes at once (should validate(:name, :email))
  • Error for using with_options in define_enum_for matcher
  • Support for deprecated associations API

Bug fixes:

  • Prevent ActiveRecord constant leak in uniqueness matcher (8.0.0)
  • Prevent test-model leak without DescendantsTracker.clear (8.0.1)

Refactored matchers: Many validation matchers were restructured internally to support the multi-attribute feature. The public API remains backward compatible.

Usage in Repository

  • Configured in spec/spec_helper.rb via require 'shoulda/matchers'
  • Used extensively in model specs:
    • validate_presence_of (20+ usages)
    • validate_uniqueness_of (3 usages, including scoped)
    • validate_numericality_of (4 usages)
    • validate_inclusion_of (1 usage with range)
    • validate_length_of (1 usage)
    • belong_to (5 usages, including .optional)
    • have_many (1 usage with .class_name and .dependent)
    • define_enum_for (1 usage)

Compatibility Assessment

Compatible. The only breaking change (dropping Rails 7.1 / Ruby 3.2) doesn't apply. All matchers used in this codebase retain their existing API. The internal refactoring to support multi-attribute validation is transparent to existing usage patterns. The 8.0.1 patch fixes a test isolation edge case that we weren't hitting (no custom enable_reloading config).

Test Coverage

Good coverage — the spec suite heavily exercises these matchers across many models. If something broke, tests would catch it.

Confidence Rating

High — the breaking change doesn't apply, and all used matchers are backward compatible. The codebase has extensive model specs that exercise these matchers.

@mroderick mroderick left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved after review analysis (see comment above for full details).

@mroderick mroderick merged commit 7223c6c into master Jun 15, 2026
16 of 17 checks passed
@mroderick mroderick deleted the dependabot/bundler/shoulda-matchers-8.0.1 branch June 15, 2026 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant