Skip to content

Drop support for Active Record 7.2 - #66

Merged
nertzy merged 1 commit into
masterfrom
drop-rails-7-2
Aug 10, 2026
Merged

Drop support for Active Record 7.2#66
nertzy merged 1 commit into
masterfrom
drop-rails-7-2

Conversation

@nertzy

@nertzy nertzy commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Raise the minimum supported Active Record version to 8.0 now that Active Record 7.2 is end of life.
  • Remove the Active Record 7.2 release and stable-branch jobs from CI.
  • Remove obsolete table-existence, dependency-cache, and redundant Active Support descendants-cleanup paths.
  • Retain WithModel's own descendants filtering because Active Record 8 still exposes destroyed temporary classes when descendant clearing is disabled.
  • Follow Rails main by prepending the filter so later class-method extensions cannot bypass it, while keeping the patch scoped to Active Record.

Test plan

  • Run the full suite against Active Record 8.0 (133 RSpec examples and 10 minitest runs).
  • Run the full suite against Active Record 8.1 (133 RSpec examples and 10 minitest runs).
  • Reproduce descendants behavior with clearing disabled under both supported Active Record versions.
  • Verify a later Active Record class-method extension cannot bypass filtering.
  • Run Standard and diagnostics on the compatibility-cleanup files.
  • Verify the gemspec requires Active Record 8.0 or later.
  • Build the gem successfully.

🤖 Generated with Zed Agent

@nertzy nertzy changed the title Drop support for Rails 7.2 Drop support for Active Record 7.2 Aug 10, 2026
@nertzy
nertzy force-pushed the drop-rails-7-2 branch 2 times, most recently from 03eb884 to 790d1b9 Compare August 10, 2026 17:40
Active Record 7.2 reached end of life on 2026-08-09, so require Active Record 8.0 or later and stop exercising 7.2 release and stable branches in CI.

Remove obsolete compatibility paths along with it: an Active Record 4-era table existence fallback, dependency-reference cache cleanup that modern Active Support no longer defines, and redundant Active Support descendants cleanup. The gem still filters destroyed model classes itself because Active Record 8 exposes them when descendant clearing is disabled, and follows Rails main by prepending that filter so later class-method extensions cannot bypass it.
@nertzy
nertzy merged commit 2c88d6c into master Aug 10, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant