# Wagtail 8.0 release notes - IN DEVELOPMENT

*Unreleased*

> * [What’s new](#what-s-new)
> * [Upgrade considerations - removal of deprecated features from Wagtail 6.4 - 7.3](#upgrade-considerations-removal-of-deprecated-features-from-wagtail-6-4-7-3)
> * [Upgrade considerations - changes affecting all projects](#upgrade-considerations-changes-affecting-all-projects)
> * [Upgrade considerations - deprecation of old functionality](#upgrade-considerations-deprecation-of-old-functionality)
> * [Upgrade considerations - changes affecting Wagtail customizations](#upgrade-considerations-changes-affecting-wagtail-customizations)
> * [Upgrade considerations - changes to undocumented internals](#upgrade-considerations-changes-to-undocumented-internals)

## 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:

* [Wagtail 6.4 release notes](6.4.md)
* [Wagtail 7.0 release notes](7.0.md)
* [Wagtail 7.1 release notes](7.1.md)
* [Wagtail 7.2 release notes](7.2.md)
* [Wagtail 7.3 release notes](7.3.md)

## 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`](../reference/viewsets.md#wagtail.snippets.views.chooser.SnippetChooserViewSet.widget_class) attribute now correctly returns a widget class instead of an instance, consistent with [`ChooserViewSet.widget_class`](../reference/viewsets.md#wagtail.admin.viewsets.chooser.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.
