ransack icon indicating copy to clipboard operation
ransack copied to clipboard

Release 5.0.0

Open scarroll32 opened this issue 3 months ago • 8 comments

Please let me know if you would like to help with this significant effort, you can ping me or else self-assign any unassigned issues with Milestone 5.0.0.

Ransack is almost at 100 million downloads, but it has a lot of identified bugs and the sprawling codebase is challenging. The current release of Ransack is 4.4.0 and the next major version will be 5.0.0. This will be an effort to clean up the many bugs in Ransack's backlog and refactor the codebase so it is easier to extend or fix bugs in future and it will be a release with potential breaking changes.

Candidate 5.0.0 issues are marked with the 5.0.0 milestone and linked to this issue once confirmed.

To test against this release as it unflolds, please point your Gemfile to the v5.0.0 branch:

gem 'ransack', :github => 'activerecord-hackery/ransack', :branch => 'v5.0.0'

New features such as full text search can be added after 5.0.0 depending on community interest and involvement; the candidate issues are currently in the Backlog milestone.

High level tasks

  • [x] Improve test coverage
  • [ ] Simplify documentation
  • [ ] Explicitly define Ransack's boundries in code and documentation (adapters and gem interactions)
  • [ ] Refactor the codebase
  • [ ] Cleanup outstanding bugs

Target Timeline

  • Complete all coding and merge to main : end of October 2025
  • Release 5.0.0 : end of November 2025, to allow time for people to test any breaking changes against main

scarroll32 avatar Sep 25 '25 09:09 scarroll32

As this is a large change, and because of https://github.com/activerecord-hackery/ransack/issues/1644, moving the unreleased code to the v5.0.0 branch.

To test against this release as it unflolds, please point your Gemfile to the v5.0.0 branch:

gem 'ransack', :github => 'activerecord-hackery/ransack', :branch => 'v5.0.0'

scarroll32 avatar Sep 29 '25 11:09 scarroll32

@deivid-rodriguez @gregmolnar if either of you have time, I can send you the PRs for this effort

scarroll32 avatar Sep 29 '25 14:09 scarroll32

@scarroll32 you can hit me with those PRs. I might not respond quickly, but I can allocate some time in the next few weeks for them.

gregmolnar avatar Oct 01 '25 17:10 gregmolnar

@scarroll32 Same from my side!

deivid-rodriguez avatar Oct 01 '25 17:10 deivid-rodriguez

@scarroll32 if we are doing a new major release and breaking changes are fine, it would be beneficial to look into moving away from relying on Active Record's private APIs. It would make ransack way more stable and we wouldn't need to deal with issue when things in Rails are moved around or changed. It would require some research though to see if it is even possible.

gregmolnar avatar Oct 01 '25 17:10 gregmolnar

@gregmolnar thanks for your comments, my laptop is actually in the shop being repaired right now. I should have it back in few days and will reply in more detail then.

Cheers!

scarroll32 avatar Oct 01 '25 19:10 scarroll32

it would be beneficial to look into moving away from relying on Active Record's private APIs. It would make ransack way more stable and we wouldn't need to deal with issue when things in Rails are moved around or changed.

This is an interesting idea @gregmolnar any appetite to look into it?

scarroll32 avatar Dec 02 '25 21:12 scarroll32

@scarroll32 appetite I have, but time is more difficult. I will try to allocate some time in the next couple of weeks to look into how to move away from the private APIs. But if anyone else want to have a stab at it, please do so.

gregmolnar avatar Dec 04 '25 10:12 gregmolnar