We recently updated Ransack from 1.8.4 to 1.8.7, and ActiveAdmin 1.0.0 broke.
Ransack::Predicates.names_by_decreasing_length got removed, but ActiveAdmin calls this in activeadmin-1.0.0/lib/active_admin/filters/humanized.rb:50, apparently in order to retrieve a list of defined predicates.
Could you re-add this function and remove it again with the next minor version bump?
@varyonic what do you think about this?
I think @sriedel's options are to upgrade to ActiveAdmin 1.1 (which reworked humanized.rb in PR 4951) or stay with Ransack 1.8.4.
@sriedel you can lock your Ransack version in your gem file or upgrade to 1.1.
Closing.
Ok, I guess I'll have to do that, easy enough.
However, since you're breaking a public API in a patchlevel update, ransack is not really adhering to semantic versioning. It would be fair to stress this in your readme section on semantic versioning, so that users are aware that patchlevel updates are not pure bugfixes, and interfaces can be unexpectedly broken, when only bugfixes are expected.
Came here with the same issue, a bugfix update of Ransack unexpectedly broke our ActiveAdmin.
@vinc Which versions were the problematic ones?
@gregmolnar we upgraded to 1.8.9 and it broke ActiveAdmin 1.0.0, so we reverted to 1.8.4 as suggested by @varyonic (thanks) and that fixed ActiveAdmin. This issue is easy to find from a search engine so it's an easy fix.
The only problem here was that the versioning and the changelog should have been more clear that this was a breaking change.
For reference this change was proposed by an ActiveAdmin maintainer and discussed in #820
Most helpful comment
Ok, I guess I'll have to do that, easy enough.
However, since you're breaking a public API in a patchlevel update, ransack is not really adhering to semantic versioning. It would be fair to stress this in your readme section on semantic versioning, so that users are aware that patchlevel updates are not pure bugfixes, and interfaces can be unexpectedly broken, when only bugfixes are expected.