You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Breaking changes
LIKE wildcards are now escaped on every adapter, with an explicit ESCAPE clause.cont, start, end and their i_/not_/_any/_all variants treat the search term literally; % and _ typed by a user no longer act as wildcards on SQLite and other backends. Use matches to pass a pattern. — #1682, fixes #1581
The ActionView::Helpers::Tags::Base#value monkey patch is removed. It let Rails reach private Kernel methods on any form object and broke unrelated forms in host apps (text_field :test raised ArgumentError). — #1690, closes #1485, relates to #1215
Combinators are validated and normalised.'OR', :or and 'Or' all mean or instead of silently becoming AND; under ransack! / ignore_unknown_conditions: false an unrecognised combinator raises Ransack::InvalidSearchError at any nesting depth. — #1694, closes #1465
postgres_fields_sort_option is renamed fields_sort_option (the old name still works). NULLS FIRST / NULLS LAST now go through Arel and work on any backend that supports them, not only PostgreSQL. — #1696, closes #1463
Features
ignore_blank_values config option: treat blank values as filters (for JSON APIs) instead of ignoring them (the default, for HTML forms). Typed columns treat a blank as NULL. — #1683, closes #722, #1664
Keep an explicit nil inside an array from discarding the whole condition, for custom predicates — #1657
Compatibility
Respect config.active_record.permanent_connection_checkout: lib/ no longer calls the deprecated ActiveRecord::Base.connection, and metadata lookups no longer lease a connection. — #1692, closes #1570
Documentation
New sections on the advanced search parameter structure, combinators, blank values, whitespace stripping, LIKE wildcards, enum attributes, length predicates, sorting NULLs, and symbol allowlists. — #1695 and the PRs above
Infrastructure
Releases are published to RubyGems from GitHub Releases via Trusted Publishing — #1681
CI on Rails 8.1 with Ruby 3.3, 3.4 and 4.0; Trilogy job added — #1667, #1698