Wagtail 7.1 release notes - IN DEVELOPMENT

Unreleased

What’s new

Other features

  • Add iHeart oembed provider (Storm Heg)

  • Add locale-aware NumberColumn to display numbers in universal listings (Baptiste Mispelon)

  • Add ability for the header breadcrumbs to save their open/closed state across navigation & refresh (Srishti Jaiswal)

  • Render listing buttons as template components (Sage Abdullah)

  • Define default GenericRelations for RevisionMixin and WorkflowMixin, to avoid issues with deletion cascades (Sage Abdullah)

  • Update Twitter oembed provider to recognise x.com links (manu)

  • Document and relocate the init_new_page signal (Maciek Baron)

  • Use requests to access oEmbed endpoints, for more robust SSL certificate handling (Matt Westcott)

  • Ensure that bulk deletion views respect protected foreign keys (Sage Abdullah)

  • Add minimum length validation for RichTextBlock and RichTextField (Alec Baron)

Bug fixes

  • Handle lazy translation strings as preview_value for RichTextBlock (Seb Corbin)

  • Fix handling of newline-separated choices in form builder when using non-windows newline characters (Baptiste Mispelon)

  • Ensure WAGTAILADMIN_LOGIN_URL is respected when logging out of the admin (Antoine Rodriguez, Ramon de Jezus)

  • Fix behaviour of ViewSet.inject_view_methods with multiple methods (Gorlik)

  • Preserve query strings in URLs submitted to CloudFront for invalidation (Jigyasu Rajput)

Documentation

Maintenance

  • Refactor get_embed to remove finder argument which was only used for mocking in unit tests (Jigyasu Rajput)

  • Simplify handling of None values in TypedTableBlock (Jigyasu Rajput)

  • Remove squash.io configuration (Sage Abdullah)

Upgrade considerations - changes affecting all projects

Upgrade considerations - deprecation of old functionality

Upgrade considerations - changes affecting Wagtail customizations

Deprecation of PageListingButton, SnippetListingButton, and UserListingButton

The PageListingButton, SnippetListingButton, and UserListingButton classes have been deprecated in favour of the generic ListingButton and Button classes.

The PageListingButton class was previously documented as part of the register_page_listing_buttons hook. If you used this hook to add buttons to the page listing, you should now replace wagtail.admin.widgets.PageListingButton with wagtail.admin.widgets.ListingButton. Using the PageListingButton class will continue to work for now, but will raise a deprecation warning.

The SnippetListingButton and UserListingButton classes were previously documented as part of the register_snippet_listing_buttons and register_user_listing_buttons hooks, respectively. If you used these hooks to add buttons to the snippet or user listing, you should now replace wagtail.snippets.widgets.SnippetListingButton and wagtail.users.widgets.UserListingButton with one of the following:

  • Use wagtail.admin.widgets.Button if you want the button to appear as an item inside the “More” actions dropdown in the listing.

  • Use wagtail.admin.widgets.ListingButton if you want the button to appear as a top-level button in the listing.

Using the SnippetListingButton or UserListingButton classes will continue to work for now, but will raise a deprecation warning.

The PageListingButton, SnippetListingButton, and UserListingButton classes will be removed in a future release.

Using ListingButton in IndexView.get_list_more_buttons now renders the button as a top-level button

If you have overridden the undocumented get_list_more_buttons method on a generic IndexView subclass (e.g. for a ModelViewSet) and used the ListingButton class to add buttons to the “More” actions dropdown, these buttons will now be rendered as top-level buttons in the listing. If you want the buttons to appear inside the “More” actions dropdown, you should use the Button class instead.

init_new_page moved to wagtail.signals

The init_new_page signal, previously defined in wagtail.admin.signals, has now been moved to wagtail.signals. Any import lines referencing the old location need to be updated.

Upgrade considerations - changes to undocumented internals