=========================================== Wagtail 2.11 release notes - IN DEVELOPMENT =========================================== .. contents:: :local: :depth: 1 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) * Support SVG icons in ModelAdmin menu items (Scott Cranfill) * Serve PDFs inline in the browser (Matt Westcott) * Make document ``content-type`` and ``content-disposition`` configurable via ``WAGTAILDOCS_CONTENT_TYPES`` and ``WAGTAILDOCS_INLINE_CONTENT_TYPES`` (Matt Westcott) * Slug generation no longer removes stopwords (Andy Chosak, Scott Cranfill) * Add check to disallow StreamField block names that do not match Python variable syntax (François Poulain) * The ``BASE_URL`` setting is now converted to a str, if it isn't already, when constructing API URLs (thenewguy) 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) * Correctly handle Turkish 'İ' characters in client-side slug generation (Matt Westcott) * Page chooser widgets now reflect custom ``get_admin_display_title`` methods (Saptak Sengupta) 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: .. code-block:: python 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.