Fixes#7690. We need to retrieve the specific page instance before `save_revision`, or we'll end up clearing the subclass's fields (resulting in a ValidationError if any were required, or a published version with blanked fields if not).
Fixes#7681. Rather than a hide_bulk_actions flag that non-explorer views have to add to get the old behaviour, use a show_bulk_actions flag that's enabled on the views that do want it.
The django-filter package has changed its versioning from a semver to a year based one. The latest version (21.1) is the same as the old one that wagtail supported (2.4): https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst
So we could just bumb the requirement to `<=22` (I think it's fine to use that because the readme claims that breaking changes will be introduced to version+2 so breaking versions for v.21 will be introduced to v.23)
The current naming is conflicting with how the version number parts are
called accoring to semantic versioning. Wagtail does not strictly follow
semantic versioning, but it still seems reasonable to adopt the same
terminology as the rest of the world.
See related discussion in #7336 (in particular [this comment by @gasman](https://github.com/wagtail/wagtail/issues/7336#issuecomment-954223018))
Fixes#7654. Without this fix, the server-side logic ends up only considering column IDs up to the final number of columns in the table, so (for example) if you start with three columns, delete two and add one, it will only consider IDs up to 2 even though the last inserted column has been assigned an ID of 4.
* [feat] Documents, images and users bulk actions now work with custom models as well
* [fix] Bulk move disables invalid parent pages in the page chooser modal
* [refactor] Make the code DRY
Co-authored-by: Shohan <shohanduttaroy99@gmail.com>
* [feat] Add feature to customize behavior of select all objects in listing
* [feat] Select all in listing now works with search terms
* [refactor] Make the code DRY