Wagtail 8.0 release notes - IN DEVELOPMENT¶
Unreleased
What’s new¶
Other features¶
Add customizability for all remaining page views to
PageViewSet(Sage Abdullah)Set
FieldPanel(required_on_save=True)forAbstractFormField’sfield_typefield (Alex Tomkins)Handle pasting of multiple tags separated by newlines or commas (Matthias Brück)
Make
Buttoncomponent render a<button>element when no URL is supplied (Nayeli De Jesus, LB (Ben Johnston), Sage Abdullah)Show site name in site switcher dropdown in site settings editor (Jack Morgan)
Improve clarity of different task states in workflow details dialog (Dan Braghis)
Add
submenu_hookattribute toViewSetGroupfor collecting submenu items registered via a hook (Hunzlah Malik, MariyaOT, Sage Abdullah)
Bug fixes¶
Make
SnippetChooserViewSet.widget_classa 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)Handle Pillow detecting decompression bombs when validating image pixel count (Jake Howard, Sage Abdullah)
Documentation¶
Add reference documentation entry for
SnippetChooserViewSet(Sage Abdullah)Fix panel classname and deprecated usage of
format_htmlinconstruct_homepage_panelsexample (Andreas Nüßlein)
Maintenance¶
Rename
requestargument tocache_objectinPage._get_site_root_paths()for correctness (Kailesh)Fix blank choice tests for Django 6.1 (Sage Abdullah)
Ignore
EMAIL_BACKENDsetting deprecation on Django 6.1 when running project template tests (Sage Abdullah)Use uv with lockfile in CI configurations (Sage Abdullah)
Add
oneandnotmatch support toRulesController(LB (Ben Johnston))Refactor pages’ function-based views to class-based views (Sage Abdullah)
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_userbarhook now receives a third argumentpagein addition torequestanditems; hook functions that only accept two arguments will now fail.The JavaScript functions
buildExpandingFormsetandinitPrefillTitleFromFilenameare removed.The settings
TAG_LIMITandTAG_SPACES_ALLOWEDare replaced byWAGTAIL_TAG_LIMITandWAGTAIL_TAG_SPACES_ALLOWED.Custom listing views using the template
wagtailadmin/generic/index.htmlmust now provide abreadcrumbs_itemscontext variable.The template
wagtailadmin/pages/_editor_js.htmlis removed.The
PageListingButton,SnippetListingButtonandUserListingButtonclasses are removed in favour ofListingButtonandButton.The function
wagtail.admin.signals.init_new_pageis moved towagtail.signals.init_new_page.The module
wagtail.telepathis moved towagtail.admin.telepath.The module
wagtail.widget_adaptersis moved towagtail.admin.telepath.widgets.The JavaScript include
wagtailadmin/js/telepath/telepath.jsis removed.The
INDEXoption onWAGTAILSEARCH_BACKENDSis replaced byINDEX_PREFIX(for example,"INDEX": "mysite"now becomes"INDEX_PREFIX": "mysite_").Userbar items now follow the template component API and do not provide a
rendermethod.The
resetValueproperty is removed fromTeleportController.
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.