MM-7739 Add support for ActiveRecord 8.0 and 8.1#23
MM-7739 Add support for ActiveRecord 8.0 and 8.1#23pjmartorell wants to merge 1 commit intoprocore-oss:mainfrom
Conversation
- Updated gemspec to support ActiveRecord versions up to 8.2 - Added test configurations for ActiveRecord 8.0 and 8.1 - Added test configurations with strong_migrations integration - Generated gemfiles for all new configurations - All tests passing (13 examples, 0 failures) for both 8.0.3 and 8.1.0 - Updated CHANGELOG.md to document new Rails support
There was a problem hiding this comment.
Pull Request Overview
This PR extends the gem's ActiveRecord compatibility to include Rails 8.0 and 8.1 by updating version constraints and adding corresponding test configurations.
Key Changes:
- Updated the ActiveRecord dependency upper bound from
< 8.0to< 8.2 - Added four new Appraisal test configurations for ActiveRecord 8.0 and 8.1 (with and without strong_migrations)
- Documented the new version support in the changelog
Reviewed Changes
Copilot reviewed 7 out of 18 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| migration-lock-timeout.gemspec | Updated ActiveRecord version constraint to allow 8.0 and 8.1 |
| Appraisals | Added test configurations for ActiveRecord 8.0 and 8.1 |
| gemfiles/activerecord_8_0.gemfile | Generated gemfile for ActiveRecord 8.0 testing |
| gemfiles/activerecord_8_0_with_strong_migrations.gemfile | Generated gemfile for ActiveRecord 8.0 with strong_migrations |
| gemfiles/activerecord_8_1.gemfile | Generated gemfile for ActiveRecord 8.1 testing |
| gemfiles/activerecord_8_1_with_strong_migrations.gemfile | Generated gemfile for ActiveRecord 8.1 with strong_migrations |
| CHANGELOG.md | Added entry documenting Rails 8.0 and 8.1 support |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
joe-sharp
left a comment
There was a problem hiding this comment.
Looks great! Thanks so much for the PR @pjmartorell
|
This PR is stale because it has been open 20 days with no activity. Replace the |
|
This PR was closed because it has been stalled for 5 days with no activity. |
|
Apologies for the delay on getting traction with this PR. You may have noticed we moved it to a new Organization within GitHub and had to rewrite the CI for it. At this point I have cherry-picked your commit over to #31 so I can continue working on getting it tested, approved, and merged. The good news is that it has already passed testing on Ruby 3.2! At this point I will close this PR out but I will ping you on the new one when we merge it and release a new version of the gem. Thanks for your patience! |
Summary
This PR adds support for ActiveRecord 8.0 and 8.1 to the
migration-lock-timeoutgem.Resolves #22
Changes
Gemspec
< 8.0to< 8.2Test Configurations
Added 4 new Appraisal configurations:
activerecord_8_0- Testing with ActiveRecord 8.0.xactiverecord_8_0_with_strong_migrations- Testing 8.0 with strong_migrations integrationactiverecord_8_1- Testing with ActiveRecord 8.1.xactiverecord_8_1_with_strong_migrations- Testing 8.1 with strong_migrations integrationDocumentation
CHANGELOG.mdto document new Rails 8.0 and 8.1 supportTesting
All tests pass successfully across all new configurations:
activerecord_8_0activerecord_8_0_with_strong_migrationsactiverecord_8_1activerecord_8_1_with_strong_migrationsCompatibility Analysis
The gem's implementation uses only stable ActiveRecord APIs that have remained unchanged in Rails 8.x:
ActiveRecord::Migrationprepending and extendingexecutemethod for SQL commandsdisable_ddl_transactionattribute:upvs:down)Rails 8.0 and 8.1 introduce no breaking changes to these migration APIs, ensuring full compatibility.
Version Support Matrix
With this change, the gem now supports: