Wagtail 2.11 release notes - IN DEVELOPMENT

What’s new

Other features

  • Add before_edit_snippet, before_create_snippet and before_delete_snippet hooks and documentation (Karl Hobley. Sponsored by the Mozilla Foundation)
  • Add register_snippet_listing_buttons and construct_snippet_listing_buttons hooks and documentation (Karl Hobley. Sponsored by the Mozilla Foundation)
  • Add wagtail --version to available Wagtail CLI commands (Kalob Taulien)
  • Add hooks.register_temporarily utility function for testing hooks (Karl Hobley. Sponsored by the Mozilla Foundation)
  • Remove unidecode and use anyascii in for Unicode to ASCII conversion (Robbie Mackay)
  • Add render helper to RoutablePageMixin to support serving template responses according to Wagtail conventions (Andy Babic)
  • Specify minimum Python version in setup.py (Vince Salvino)
  • Extend treebeard’s fix_tree method with the ability to non-destructively fix path issues and add a –full option to apply path fixes (Matt Westcott)
  • Add support for hierarchical/nested Collections (Robert Rollins)
  • Show user’s full name in report views (Matt Westcott)
  • Improve Wagtail admin page load performance by caching SVG icons sprite in localstorage (Coen van der Kamp)

Bug fixes

  • Make page-level actions accessible to keyboard users in page listing tables (Jesse Menn)
  • WAGTAILFRONTENDCACHE_LANGUAGES was being interpreted incorrectly. It now accepts a list of strings, as documented (Karl Hobley)
  • Update oEmbed endpoints to use https where available (Matt Westcott)
  • Revise edit_handler bind order in ModelAdmin views and fix duplicate form instance creation (Jérôme Lebleu)
  • Properly distinguish child blocks when comparing revisions with nested StreamBlocks (Martin Mena)

Upgrade considerations

SiteMiddleware moved to wagtail.contrib.legacy

The SiteMiddleware class (which provides the request.site property, and has been deprecated since Wagtail 2.9) has been moved to the wagtail.contrib.legacy namespace. On projects where this is still in use, the 'wagtail.core.middleware.SiteMiddleware' entry in MIDDLEWARE should be changed to 'wagtail.contrib.legacy.sitemiddleware.SiteMiddleware'.

Run fixtree to prevent Collection creation issues

If you are using Wagtail’s Collections feature to organise images, documents or other media, please ensure you run the following command in each environment:

python manage.py fixtree --full

Previously, collections were stored in the order in which they were created - and then sorted by name where displayed in the CMS. Collections are now ordered by treebeard path by default, so the above command must be run to retain alphabetical ordering.

Failure to do this won’t affect your current colllections, but may affect your ability to add new ones.

Site.get_site_root_paths now returns language code

In previous releases, Site.get_site_root_paths returned a list of (site_id, root_path, root_url) tuples. To support the new internationalisation model, this has now been changed to a list of named tuples with the fields: site_id, root_path, root_url and language_code. Existing code that handled this as a 3-tuple should be updated accordingly.