# Wagtail 5.0 release notes - IN DEVELOPMENT _Unreleased_ ```{contents} --- local: depth: 1 --- ``` ## What's new ### ... ### Other features * Add `WAGTAILIMAGES_EXTENSIONS` setting to restrict image uploads to specific file types (Aman Pandey, Ananjan-R) * Update user list column level to `Access level` to be easier to understand (Vallabh Tiwari) * Migrate `.button-longrunning` behaviour to a Stimulus controller with support for custom label element & duration (Loveth Omokaro) * Implement new simplified userbar designs (Albina Starykova) * Add more Axe rules to the accessibility checker (Albina Starykova) ### Bug fixes * Ensure `label_format` on StructBlock gracefully handles missing variables (Aadi jindal) * Adopt a no-JavaScript and more accessible solution for the 'Reset to default' switch to Gravatar when editing user profile (Loveth Omokaro) * Ensure `Site.get_site_root_paths` works on cache backends that do not preserve Python objects (Jaap Roes) * Ignore right clicks on side panel resizer (Sage Abdullah) * Resize in the correct direction for RTL languages with the side panel resizer (Sage Abdullah) * Fix image uploads on storage backends that require file pointer to be at the start of the file (Matt Westcott) ### Documentation * Add code block to make it easier to understand contribution docs (Suyash Singh) * Add new "Icons" page for icons customisation and reuse across the admin interface (Coen van der Kamp) * Fix broken formatting for MultiFieldPanel / FieldRowPanel permission kwarg docs (Matt Westcott) ### Maintenance * Removed features deprecated in Wagtail 3.0 and 4.0 (Matt Westcott) * Update djhtml (html formatting) library to v 1.5.2 (Loveth Omokaro) * Re-enable `strictPropertyInitialization` in tsconfig (Thibaud Colas) * Refactor accessibility checker userbar item (Albina Starykova) * Removed unused `Page.get_static_site_paths` method (Yosr Karoui) * Provisional Django 5.0 compatibility fixes (Sage Abdullah) * Add unit tests for `CollapseAll` component (Albina Starykova) ## Upgrade considerations ### Removal of deprecated features The following features deprecated in Wagtail 3.0 have been fully removed. See [Wagtail 3.0 release notes](/releases/3.0) for details on these changes, including how to remove usage of these features: * The modules `wagtail.core`, `wagtail.tests`, `wagtail.admin.edit_handlers` and `wagtail.contrib.forms.edit_handlers` are removed. * The field panel classes `StreamFieldPanel`, `RichTextFieldPanel`, `ImageChooserPanel`, `DocumentChooserPanel` and `SnippetChooserPanel` are removed. * StreamField definitions must include `use_json_field=True` (with the exception of migrations created prior to Wagtail 5.0). * The `BASE_URL` setting is no longer recognised. * The `ModelAdmin.get_form_fields_exclude` method is no longer passed a `request` argument. * The `ModelAdmin.get_edit_handler` method is no longer passed a `request` or `instance` argument. * The `widget_overrides`, `required_fields`, `required_formsets`, `bind_to`, `render_as_object` and `render_as_field` methods on `Panel` (previously `EditHandler`) are removed. The following features deprecated in Wagtail 4.0 have been fully removed. See [Wagtail 4.0 release notes](/releases/4.0) for details on these changes, including how to remove usage of these features: * The `wagtail.contrib.settings.models.BaseSetting` class is removed. * The `Page.get_latest_revision_as_page` method is removed. * The `page` and `page_id` properties and `as_page_object` method on `Revision` are removed. * The JavaScript functions `createPageChooser`, `createSnippetChooser`, `createDocumentChooser` and `createImageChooser` are removed. * The `wagtail.contrib.modeladmin.menus.SubMenu` class is removed. * Subclasses of `wagtail.contrib.modeladmin.helpers.AdminURLHelper` are now required to accept a `base_url_path` keyword argument on the constructor. * The `wagtail.admin.widgets.chooser.AdminChooser` class is removed. * The `wagtail.snippets.views.snippets.get_snippet_edit_handler` function is removed. ### `Page.get_static_site_paths` method removed The undocumented `Page.get_static_site_paths` method (which returns a generator of URL paths for use by static site generator packages) has been removed. Packages relying on this functionality should provide their own fallback implementation. ### Progress button (`button-longrunning`) now implemented with Stimulus The `button-longrunning` class usage has been updated to use the newly adopted Stimulus approach, the previous data attributes will be deprecated in a future release. If using the old approach, ensure any HTML templates are updated to the new approach before the next major release. ### Old syntax ```html+django ``` ### New syntax Minimum required attributes are `data-controller` and a `data-action`. ```html+django ``` ### Examples of additional capabilities Stimulus [targets](https://stimulus.hotwired.dev/reference/targets) and [actions](https://stimulus.hotwired.dev/reference/actions) can be leveraged to revise the behaviour via data attributes. * `` - any element can be the button label (not just `em`) * `