Releases: thoughtbot/shoulda-matchers
v6.4.0
v6.3.1
v6.3.0
6.3.0 - 2024-08-09
What's Changed
Bug fixes
- Fix uniqueness check for a polymorphic association with STI by @matsales28 (#1624)
Features
- Add
default
qualifier todefine_enum_for
matcher by @matsales28 (#1627) - Add validating qualifier to enum matcher by @matsales28 (#1630)
- Add without_instance_methods qualifier to enum matcher by @vaot (#1636)
Improvements
- Update dependencies of rails-6.1 gemfile by @matsales28 (#1621)
- Update dependencies of rails-7_1 gemfile by @matsales28 (#1619)
- Update dependencies of rails-7.0 gemfile by @matsales28 (#1620)
- Support deprecated status code symbols by @ioquatix (#1637)
- Remove useless
logger
require by @Earlopain (#1634)
v6.2.0
6.2.0 - 2024-03-15
Bug fixes
- Allow beginless and endless ranges in validates_inclusion_of by @pjpires (#1615)
- Ensure uniqueness validation matcher works with STI by @matsales28 (#1610)
Features
- Add
against
method in allow_value matcher by @EduardoSCosta (#1543) - Add support for
strict_loading
option in association matchers by @rhannequin and @laicuRoot (#1607) - Add
have_delegated_type
matcher by @matsales28 (#1606) - Add support for
foreign_type
qualifier onAssociationMatcher
by @matsales28 (#1609)
Improvements
- Lazy load
ActionController
andRouting
matchers forActionController::TestCase
by @ilianah (#1613) - Call dynamic-readme reusable workflow by @stefannibrasil (#1617)
- Update dependencies by @matsales28 (#1611)
- Fix inline documentation for
is_greater_than
invalidate_comparison_of
matcher by @jeduardo824 (#1616) - Fix forgotten colon in documentation by @hotoolong (#1612)
v6.1.0
6.1.0 - 2024-01-19
Bug fixes
- Fix negative form of
validate_numericality
matcher by @matsales28 (#1603)
Features
- Add support for negated matcher on have_secure_password matcher by @amalrik (#1593)
- Add
encrypt
matcher to test usage of theencrypts
macro by @theforestvn88 (#1581) - Add
query_constraints
qualifier on the association matchers by @matsales28 (#1604)
Improvements
- Remove
array_column?
helper fromValidateAbsenceOfMatcher
by @jarenas9539 (#1562) - Bump rubocop version to 1.59.0 by @vsppedro (#1600)
- Update Ruby version to 3.3.0 by @VSSPedro(#1599)
- Fix
REPRODUCTION_SCRIPT.md
link returning 404 by @vsppedro (#1602) - Add support for globally enabled frozen-string-literals by @amalrik (#1598)
- Adjust typos in the documentation by @matsales28 (#1597)
v6.0.0
Backward-incompatible changes
- Drop support for Rails 5.2 and 6.0 as well as Ruby 2.6 and 2.7 they've been end-of-lifed by @dougmrqs and @HeitorMC.
The gem now supports Ruby 3.0+ and Rails 6.1+. (#1521, #1522, #1547, #1548)
Bug fixes
- Fix validate_uniqueness_of matcher not supporting column of the type timestampz by @callahat. (#1544)
- Ensure that validation specs work for ActiveModel without ActiveRecord by @stonefield. (#1580)
Features
- Add normalize matcher by @stephannv. (#1558)
- Add validates_comparison_of matcher by @matsales28. (#1552)
- Add support for Ruby 3.2 by @petergoldstein. (#1536)
- Add support for Ruby 3.3.0-rc1 by @mtasaka and @vsppedro. ([#1579], #1588)
- Add support for Rails 7.1 by @matsales28. (#1573)
- Add support for array attributes on validate_length_of matcher by @jarenas9539. #1560
- Allow length validation on associations by @matsales28. (#1569)
- Improve have_db_index to better handle columns with multiple indexes by @abrom. (#1542)
- Implement of_sql_type qualifier on have_db_column matcher by @matsales28. (#1555)
Improvements
- When an unrelated error is seen with negated allow_value, give a hint by @matsales28. (#1570)
Thanks everyone for the contributions!
v5.3.0
v5.2.0
Features
-
Add without_scopes method to enum matcher. (#1453)
-
Add support for Ruby 3.1. (#1474)
-
Add allow_blank method to validate_presence_of matcher. (#1499)
-
Add support for Rails 7.0. No new Rails 7.0 features are supported, but only existing features that broke with the upgrade. (#1506)
Thanks @technicalpickles, @dewyze, @andreLumor for your contributions!
v5.1.0
v5.0.0
Bug fixes
- Replace
in?
, method from ActiveSupport, withinclude?
to prevent exception "undefined methodin?
" on non-Rails app. (#1405)
Features
-
Add support for Rails 6.1. No new Rails 6.1 features are supported, but only existing features that broke with the upgrade. (#1418)
-
Add support for RVM (Ruby Version Manager) to setting up local environment. (#1424)
-
Add support for alias in matcher define_enum. (#1419)
Improvements
- Remove deprecated warnings emitted on Rails 6.1 in ActiveModel errors. (#1444)
Backward-incompatible changes
-
Drop support for Rails 4.2, 5.0 and 5.1 as well as Ruby 2.4 and 2.5
they've been end-of-lifed. The gem now supports Ruby 2.6+ and Rails 5.2+. (#1412, #1415, #1422, #1428, #1429) -
Remove deprecated matchers:
use_before_filter
,use_after_filter
,use_around_filter
andallow_mass_assignment_of
. (#1430, #1431)