wagtail/docs/releases/7.1.md

110 wiersze
7.7 KiB
Markdown
Czysty Zwykły widok Historia

2025-04-25 13:24:14 +00:00
# Wagtail 7.1 release notes - IN DEVELOPMENT
_Unreleased_
```{contents}
---
local:
depth: 1
---
```
## What's new
2025-06-18 13:42:50 +00:00
### Site setting permissions
The [](../reference/contrib/settings) app now allows permission over site settings to be granted on a per-site basis. This makes it possible to give non-superuser accounts full control over the configuration of an individual site. This feature was developed by Matt Westcott.
2025-06-18 13:42:50 +00:00
2025-04-25 13:24:14 +00:00
### Other features
* Add iHeart oembed provider (Storm Heg)
2025-04-28 18:39:16 +00:00
* Add locale-aware `NumberColumn` to display numbers in universal listings (Baptiste Mispelon)
2025-04-30 09:14:32 +00:00
* Add ability for the header breadcrumbs to save their open/closed state across navigation & refresh (Srishti Jaiswal)
2025-05-01 20:06:31 +00:00
* Render listing buttons as template components (Sage Abdullah)
2025-05-07 14:05:27 +00:00
* Define default `GenericRelations` for `RevisionMixin` and `WorkflowMixin`, to avoid issues with deletion cascades (Sage Abdullah)
* Update Twitter oembed provider to recognise x.com links (manu)
2025-05-12 15:23:06 +00:00
* Document and relocate the `init_new_page` signal (Maciek Baron)
* Use `requests` to access oEmbed endpoints, for more robust SSL certificate handling (Matt Westcott)
2025-05-13 21:45:14 +00:00
* Ensure that bulk deletion views respect protected foreign keys (Sage Abdullah)
2025-05-15 13:41:57 +00:00
* Add minimum length validation for `RichTextBlock` and `RichTextField` (Alec Baron)
* Allow `SnippetChooserBlock`'s `icon` to take precedence over `SnippetViewSet.icon` (Matt Westcott)
2025-05-16 15:24:27 +00:00
* Allow searching the users index on custom fields (Paul Craciunoiu, Sage Abdullah)
2025-06-03 06:57:18 +00:00
* Support `preserve-svg` in Jinja2 image tags (Vishesh Garg)
* Recognise `preserve-svg` as a filter when calling `Image.get_rendition` directly (Richard Allen)
2025-06-03 06:57:18 +00:00
* Add support for `preserve-svg` for `Image.get_renditions`, picture, and srcset_image tags (Matt Westcott)
* Include `TypedTableBlock` content when indexing for search (Charan T M)
2025-06-16 14:27:42 +00:00
* Preserve query parameters when redirecting from the API `find` view to the `detail` view (Andrew Hosgood)
* Add 'Edit' button to success message after copying page (Dhruvi Patel)
2025-06-19 10:42:49 +00:00
* Restrict file dialog in multiple image uploader to the allowed image file types (Mustopha Mubarak O)
* Raise clear error when non-StreamBlock is used as top-level block in StreamField (Clifford Gama)
2025-06-20 15:55:38 +00:00
* Refactor userbar rendering to better support headless websites (Sage Abdullah)
* Add type-to-confirm step when deleting large numbers of pages through bulk actions (Rachel Smith)
2025-06-26 11:09:33 +00:00
* Add [`NoFutureDateValidator`](date_field_validation) to validate against dates in the future (Talha Rizwan)
* Extract separate `background_position_x` and `background_position_y` properties from `AbstractRendition.background_position_style` (Chiemezuo Akujobi)
* Add support for translated string concatenation in the locale selector when switching between a model's language in the admin (Matt Westcott, Ellie Walsh-O'Neill)
2025-04-25 13:24:14 +00:00
### Bug fixes
* Handle lazy translation strings as `preview_value` for `RichTextBlock` (Seb Corbin)
* Fix handling of newline-separated choices in form builder when using non-windows newline characters (Baptiste Mispelon)
* Ensure `WAGTAILADMIN_LOGIN_URL` is respected when logging out of the admin (Antoine Rodriguez, Ramon de Jezus)
2025-04-30 23:42:15 +00:00
* Fix behaviour of `ViewSet.inject_view_methods` with multiple methods (Gorlik)
* Preserve query strings in URLs submitted to CloudFront for invalidation (Jigyasu Rajput)
* Handle non-JSON-safe fields in `exclude_fields_in_copy` (Matt Westcott)
* Allow upload of AVIF images through image chooser on Firefox (Matt Westcott)
2025-05-16 11:37:53 +00:00
* Accept any string beginning with 'y' as confirmation for `import_redirects` command (Matt Westcott)
2025-05-23 09:44:33 +00:00
* Fix error when accessing the submissions listing view with a non-form page (Sage Abdullah)
* Replace inline styles with CSS classes in HTML files (Srishti Jaiswal)
* Refactor remaining inline styles to avoid unsafe-inline style-src CSP (Chiemezuo Akujobi)
* Avoid breaking words in listing table cells unless specifically enabled (Ziyao Yan)
2025-06-18 20:04:55 +00:00
* Ensure that "all items in listing" option on image / document bulk actions respects user permissions (Alex Morega)
2025-06-20 07:01:57 +00:00
* Adjust accessibility dialog position based on userbar position (Anees Asghar, Sage Abdullah)
* Correctly handle ordering API results by mixed ascending and descending order (Rohit Sharma, Mahmoud Nasser)
* Ensure that draft changes to an editable `first_published_at` field are preserved on reloading (Talha Rizwan)
2025-06-27 20:41:03 +00:00
* Remove ngram parser on MySQL that prevented autocomplete search from returning results (Vince Salvino)
2025-04-25 13:24:14 +00:00
### Documentation
* Add missing tag library imports to footer template code in tutorial (Dimaco)
* Improve documentation around securing user-uploaded files (Jake Howard)
* Introduce search_fields in a dedicated tutorial section instead of the introduction (Matt Westcott)
2025-04-25 13:24:14 +00:00
### Maintenance
* Refactor `get_embed` to remove `finder` argument which was only used for mocking in unit tests (Jigyasu Rajput)
* Simplify handling of `None` values in `TypedTableBlock` (Jigyasu Rajput)
* Remove squash.io configuration (Sage Abdullah)
2025-06-02 10:04:25 +00:00
* Use `utf8mb4` charset and collation for MySQL test database (Sage Abdullah)
* Add `django.contrib.postgres` to test settings `INSTALLED_APPS` (Sage Abdullah)
2025-04-25 13:24:14 +00:00
## Upgrade considerations - changes affecting all projects
## Upgrade considerations - deprecation of old functionality
## Upgrade considerations - changes affecting Wagtail customizations
### Deprecation of `PageListingButton`, `SnippetListingButton`, and `UserListingButton`
The `PageListingButton`, `SnippetListingButton`, and `UserListingButton` classes have been deprecated in favour of the generic `ListingButton` and `Button` classes.
The `PageListingButton` class was previously documented as part of the [`register_page_listing_buttons`](register_page_listing_buttons) hook. If you used this hook to add buttons to the page listing, you should now replace `wagtail.admin.widgets.PageListingButton` with `wagtail.admin.widgets.ListingButton`. Using the `PageListingButton` class will continue to work for now, but will raise a deprecation warning.
The `SnippetListingButton` and `UserListingButton` classes were previously documented as part of the [`register_snippet_listing_buttons`](register_snippet_listing_buttons) and [`register_user_listing_buttons`](register_user_listing_buttons) hooks, respectively. If you used these hooks to add buttons to the snippet or user listing, you should now replace `wagtail.snippets.widgets.SnippetListingButton` and `wagtail.users.widgets.UserListingButton` with one of the following:
- Use `wagtail.admin.widgets.Button` if you want the button to appear as an item inside the "More" actions dropdown in the listing.
- Use `wagtail.admin.widgets.ListingButton` if you want the button to appear as a top-level button in the listing.
Using the `SnippetListingButton` or `UserListingButton` classes will continue to work for now, but will raise a deprecation warning.
The `PageListingButton`, `SnippetListingButton`, and `UserListingButton` classes will be removed in a future release.
### Using `ListingButton` in `IndexView.get_list_more_buttons` now renders the button as a top-level button
If you have overridden the undocumented `get_list_more_buttons` method on a generic `IndexView` subclass (e.g. for a `ModelViewSet`) and used the `ListingButton` class to add buttons to the "More" actions dropdown, these buttons will now be rendered as top-level buttons in the listing. If you want the buttons to appear inside the "More" actions dropdown, you should use the `Button` class instead.
### `init_new_page` moved to `wagtail.signals`
The [](init_new_page_signal) signal, previously defined in `wagtail.admin.signals`, has now been moved to `wagtail.signals`. Any import lines referencing the old location need to be updated.
2025-04-25 13:24:14 +00:00
## Upgrade considerations - changes to undocumented internals