Wagtail 8.0 release notes - IN DEVELOPMENT

Unreleased

What’s new

Other features

  • Set FieldPanel(required_on_save=True) for AbstractFormField’s field_type field (Alex Tomkins)

  • Handle pasting of multiple tags separated by newlines or commas (Matthias Brück)

  • Make Button component render a <button> element when no URL is supplied (Nayeli De Jesus, LB (Ben Johnston), Sage Abdullah)

Bug fixes

  • Make SnippetChooserViewSet.widget_class a class instead of an instance (Amrinder Singh, Sage Abdullah)

  • Prevent an error when approving a workflow that has been cancelled in a different session (Kailesh)

  • Accommodate multilingual sites in skipping the “choose parent” step when creating a new page from a flat page listing (Amrinder Singh)

  • Prevent error when moving a page to a destination with missing translations and WAGTAILSIMPLETRANSLATION_SYNC_PAGE_TREE = True (Sahil Kumar)

Documentation

  • Add reference documentation entry for SnippetChooserViewSet (Sage Abdullah)

Maintenance

  • Rename request argument to cache_object in Page._get_site_root_paths() for correctness (Kailesh)

Upgrade considerations - removal of deprecated features from Wagtail 6.4 - 7.3

Features previously deprecated in Wagtail 6.4, 7.0, 7.1, 7.2, and 7.3 have been fully removed:

  • The construct_wagtail_userbar hook now receives a third argument page in addition to request and items; hook functions that only accept two arguments will now fail.

  • The JavaScript functions buildExpandingFormset and initPrefillTitleFromFilename are removed.

  • The settings TAG_LIMIT and TAG_SPACES_ALLOWED are replaced by WAGTAIL_TAG_LIMIT and WAGTAIL_TAG_SPACES_ALLOWED.

  • Custom listing views using the template wagtailadmin/generic/index.html must now provide a breadcrumbs_items context variable.

  • The template wagtailadmin/pages/_editor_js.html is removed.

  • The PageListingButton, SnippetListingButton and UserListingButton classes are removed in favour of ListingButton and Button.

  • The function wagtail.admin.signals.init_new_page is moved to wagtail.signals.init_new_page.

  • The module wagtail.telepath is moved to wagtail.admin.telepath.

  • The module wagtail.widget_adapters is moved to wagtail.admin.telepath.widgets.

  • The JavaScript include wagtailadmin/js/telepath/telepath.js is removed.

  • The INDEX option on WAGTAILSEARCH_BACKENDS is replaced by INDEX_PREFIX (for example, "INDEX": "mysite" now becomes "INDEX_PREFIX": "mysite_").

  • Userbar items now follow the template component API and do not provide a render method.

  • The resetValue property is removed from TeleportController.

For additional details on these changes, see:

Upgrade considerations - changes affecting all projects

Upgrade considerations - deprecation of old functionality

Upgrade considerations - changes affecting Wagtail customizations

SnippetChooserViewSet.widget_class is now a class

The SnippetChooserViewSet.widget_class attribute now correctly returns a widget class instead of an instance, consistent with ChooserViewSet.widget_class. This change may require updates to any customizations that relied on the previous behavior, such as an override in a SnippetChooserViewSet subclass that uses super().widget_class.

Upgrade considerations - changes to undocumented internals

request argument to Page._get_site_root_paths is now cache_object

The request argument to the undocumented method Page._get_site_root_paths() is renamed to cache_object to reflect the fact that it is not always a request object, but may be any object that can be used for caching purposes.

If you pass request as a positional argument, no changes are needed. If you pass request as a keyword argument to this method, you will need to update the argument name to cache_object in your code or turn it into a positional argument.

Passing a request keyword argument will continue to work for now and raise a deprecation warning, but support for this will be removed in a future release.