# Wagtail 6.2 release notes - IN DEVELOPMENT _Unreleased_ ```{contents} --- local: depth: 1 --- ``` ## What's new ### Other features * Optimize and consolidate redirects report view into the index view (Jake Howard, Dan Braghis) * Support a [`HOSTNAMES` parameter on `WAGTAILFRONTENDCACHE`](frontendcache_multiple_backends) to define which hostnames a backend should respond to (Jake Howard, sponsored by Oxfam America) * Refactor redirects edit view to use the generic `EditView` and breadcrumbs (Rohit Sharma) * Allow custom permission policies on snippets to prevent superusers from creating or editing them (Sage Abdullah) * Do not link to edit view from listing views if user has no permission to edit (Sage Abdullah) * Allow access to snippets and other model viewsets to users with "View" permission (Sage Abdullah) * Skip `ChooseParentView` if only one possible valid parent page availale (Matthias Brück) * Add `copy_for_translation_done` signal when a page is copied for translation (Arnar Tumi Þorsteinsson) * Remove reduced opacity for draft page title in listings (Inju Michorius) ### Bug fixes * Make `WAGTAILIMAGES_CHOOSER_PAGE_SIZE` setting functional again (Rohit Sharma) * Enable `richtext` template tag to convert lazy translation values (Benjamin Bach) * Ensure permission labels on group permissions page are translated where available (Matt Westcott) * Preserve whitespace in comment replies (Elhussein Almasri) * Address layout issues in the title cell of universal listings (Sage Abdullah) * Support SVG icon id attributes with single quotes in the styleguide (Sage Abdullah) * Do not show delete button on model edit views if per-instance permissions prevent deletion (Matt Westcott) * Remove duplicate header in privacy dialog when a privacy setting is set on a parent page or collection (Matthias Brück) * Allow renditions of `.ico` images (Julie Rymer) * Fix the rendering of grouped choices when using ChoiceFilter in combination with choices (Sébastien Corbin) * Add separators when displaying multiple error messages on a StructBlock (Kyle Bayliss) ### Documentation * Remove duplicate section on frontend caching proxies from performance page (Jake Howard) * Document `restriction_type` field on PageViewRestriction (Shlomo Markowitz) * Document Wagtail's bug bounty policy (Jake Howard) * Fix incorrect Sphinx-style code references to use MyST style (Byron Peebles) * Document the fact that `Orderable` is not required for inline panels (Bojan Mihelac) * Add note about `prefers-reduced-motion` to the accessibility documentation (Roel Koper) * Update deployment instructions for Fly.io (Jeroen de Vries) ### Maintenance * Use `DjangoJSONEncoder` instead of custom `LazyStringEncoder` to serialize Draftail config (Sage Abdullah) * Refactor image chooser pagination to check `WAGTAILIMAGES_CHOOSER_PAGE_SIZE` at runtime (Matt Westcott) * Exclude the `client/scss` directory in Tailwind content config to speed up CSS compilation (Sage Abdullah) * Split `contrib.frontend_cache.backends` into dedicated sub-modules (Andy Babic) * Remove unused `docs/autobuild.sh` script (Sævar Öfjörð Magnússon) ## Upgrade considerations - changes affecting all projects ### Specifying a dict of distribution IDs for CloudFront cache invalidation is deprecated Previous versions allowed passing a dict for `DISTRIBUTION_ID` within the `WAGTAILFRONTENDCACHE` configuration for a CloudFront backend, to allow specifying different distribution IDs for different hostnames. This is now deprecated; instead, multiple distribution IDs should be defined as [multiple backends](frontendcache_multiple_backends), with a `HOSTNAMES` parameter to define the hostnames associated with each one. For example, a configuration such as: ```python WAGTAILFRONTENDCACHE = { 'cloudfront': { 'BACKEND': 'wagtail.contrib.frontend_cache.backends.CloudfrontBackend', 'DISTRIBUTION_ID': { 'www.wagtail.org': 'your-distribution-id', 'www.madewithwagtail.org': 'other-distribution-id', }, }, } ``` should now be rewritten as: ```python WAGTAILFRONTENDCACHE = { 'mainsite': { 'BACKEND': 'wagtail.contrib.frontend_cache.backends.CloudfrontBackend', 'DISTRIBUTION_ID': 'your-distribution-id', 'HOSTNAMES': ['www.wagtail.org'], }, 'madewithwagtail': { 'BACKEND': 'wagtail.contrib.frontend_cache.backends.CloudfrontBackend', 'DISTRIBUTION_ID': 'other-distribution-id', 'HOSTNAMES': ['www.madewithwagtail.org'], }, } ``` ## Upgrade considerations - deprecation of old functionality ## Upgrade considerations - changes affecting Wagtail customisations ## Upgrade considerations - changes to undocumented internals