Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update wagtail to 6.3.1 #1855

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

This PR updates wagtail from 2.16.1 to 6.3.1.

Changelog

6.3

~~~~~~~~~~~~~~~~~~~~

* Add support for Python 3.13 (Matt Westcott)
* Add formal support for Django 5.1 (Matt Westcott)
* Add `ImageBlock` with alt text support (Chiemezuo Akujobi for Google Summer of Code, mentored by Storm Heg, Saptak Sengupta, Thibaud Colas and Matt Westcott)
* Implement incremental dashboard design enhancements (Albina Starykova, Ben Enright)
* Add a new enhanced contrast admin theming option for the admin interface (Albina Starykova, Victoria Ottah)
* Migrate workflow history views to universal listings (Sage Abdullah)
* Refactor documents views to use universal designs (Sage Abdullah)
* Refactor images views to use universal designs (Sage Abdullah)
* Implement universal listings for workflow usage and page type usage views (Sage Abdullah)
* Add search and filters to form pages listing (Sage Abdullah)
* Add support for uploading HEIC / HEIF images (Matt Westcott)
* Allow customization of preview device sizes in the live preview panel (Bart Cieliński, alexkiro, Sage Abdullah)
* Formalize support for MariaDB (Sage Abdullah, Daniel Black)
* Redirect to the last viewed listing page after deleting form submissions (Matthias Brück)
* Provide `getTextLabel` method on date / time StreamField blocks (Vaughn Dickson)
* Purge frontend cache when modifying redirects (Jake Howard)
* Deprecate the `WAGTAIL_AUTO_UPDATE_PREVIEW` setting, use `WAGTAIL_AUTO_UPDATE_PREVIEW_INTERVAL = 0` instead (Sage Abdullah)
* Consistently use `capfirst` for title-casing model verbose names (Sébastien Corbin)
* Fire `copy_for_translation_done` signal when copying translatable models as well as pages (Coen van der Kamp)
* Add support for an image `description` field across all images, to better support accessible image descriptions (Chiemezuo Akujobi)
* Prompt the user about unsaved changes when editing snippets (Sage Abdullah)
* Make dashboard upgrade banners dismissible (Sage Abdullah)
* Add support for specifying different preview modes to the "View draft" URL for pages (Robin Varghese)
* Implement new designs for the footer actions dropdown with more contrast and larger text (Sage Abdullah)
* All create/edit admin forms now use a sticky submit button, for consistency and to speed up edits (Sage Abdullah)
* Secondary form actions such as "Delete" are now in the header actions menu (Sage Abdullah)
* Allow setting page privacy rules when a restriction already exists on an ancestor page (Bojan Mihelac)
* Automatically create links when pasting content that contain URLs into a rich text input (Thibaud Colas)
* Add Uyghur language support
* Fix: Prevent page type business rules from blocking reordering of pages (Andy Babic, Sage Abdullah)
* Fix: Improve layout of object permissions table (Sage Abdullah)
* Fix: Fix typo in aria-label attribute of page explorer navigation link (Sébastien Corbin)
* Fix: Reinstate transparency indicator on image chooser widgets (Sébastien Corbin)
* Fix: Remove table headers that have no text (Matt Westcott)
* Fix: Fix broken link to user search (Shlomo Markowitz)
* Fix: Ensure that JS slugify function strips Unicode characters disallowed by Django slug validation (Atif Khan)
* Fix: Do not show notices about root / unroutable pages when searching or filtering in the page explorer (Matt Westcott)
* Fix: Resolve contrast issue for page deletion warning (Sanjeev Holla S)
* Fix: Make sure content metrics falls back to body element only when intended (Sage Abdullah)
* Fix: Remove wrongly-added filters from redirects index (Matt Westcott)
* Fix: Prevent popular tags filter from generating overly complex queries when not filtering (Matt Westcott)
* Fix: Fix content path links in usage view to scroll to the correct element (Sage Abdullah)
* Fix: Always show the minimap toggle button (Albina Starykova)
* Fix: Ensure that dropdown button toggles show with a border in high contrast mode (Ishwari8104, LB (Ben) Johnston)
* Fix: Update email notification header to the new logo design (rahulsamant37)
* Fix: Change `file_size` field on document model to avoid artificial 2Gb limit (Gabriel Getzie)
* Fix: Ensure that `TypedTableBlock` uses the correct API representations of child blocks (Matt Westcott)
* Fix: Footer action buttons now include their `media` definitions (Sage Abdullah)
* Fix: Improve the text contrast of the bulk actions "Select all" button (Sage Abdullah)
* Fix: Fix error on workflow settings view with multiple snippet types assigned to the same workflow on Postgres (Sage Abdullah)
* Fix: Fix datetime fields overflowing its parent wrapper in listing filters (Rohit Singh)
* Fix: Prevent multiple URLs from being combined into one when pasting links into a rich text input (Thibaud Colas)
* Fix: Improve layout of report listing tables (Sage Abdullah)
* Fix: Fix regression from creation of `AbstractGroupApprovalTask` to ensure `can_handle` checks for the abstract class correctly (Sumana Sree Angajala)
* Docs: Upgrade Sphinx to 7.3 (Matt Westcott)
* Docs: Upgrade sphinx-wagtail-theme to v6.4.0, with a new search integration and Read the Docs Addons bug fixes (Thibaud Colas)
* Docs: Document how to customize date/time format settings (Vince Salvino)
* Docs: Create a new documentation section for deployment and move fly.io deployment from the tutorial to this section (Vince Salvino)
* Docs: Clarify process for UserViewSet customization (Sage Abdullah)
* Docs: Correct `WAGTAIL_WORKFLOW_REQUIRE_REAPPROVAL_ON_EDIT` documentation to state that it defaults to `False` (Matt Westcott)
* Docs: Add an example of customizing a default accessibility check (Cynthia Kiser)
* Docs: Demonstrate access protection with `TokenAuthentication` in the Wagtail API v2 Configuration Guide (Krzysztof Jeziorny)
* Docs: Replace X links with Mastodon in the README (Alex Morega)
* Docs: Re-enable building offline formats in online documentation (Read the docs) for EPUB/PDF/HTML downloads (Joel William, Sage Abdullah)
* Docs: Resolve multiple output errors in the documentation ePub format (Sage Abdullah)
* Docs: Update social media examples to use LinkedIn, Reddit, Facebook (Ayaan Qadri)
* Maintenance: Removed support for Python 3.8 (Matt Westcott)
* Maintenance: Drop pytz dependency in favour of `zoneinfo.available_timezones` (Sage Abdullah)
* Maintenance: Relax django-taggit dependency to allow 6.0 (Matt Westcott)
* Maintenance: Improve page listing performance (Sage Abdullah)
* Maintenance: Phase out usage of SECRET_KEY in version and icon hashes (Jake Howard)
* Maintenance: Audit all use of localized and non-localized numbers in templates (Matt Westcott)
* Maintenance: Refactor StreamField `get_prep_value` for closer alignment with JSONField (Sage Abdullah)
* Maintenance: Move search implementation logic from generic `IndexView` to `BaseListingView` (Sage Abdullah)
* Maintenance: Upgrade Puppeteer integration tests for reliability (Matt Westcott)
* Maintenance: Restore ability to use `.in_bulk()` on specific querysets under Django 5.2a0 (Sage Abdullah)
* Maintenance: Add generated `test-media` to .gitignore (Shlomo Markowitz)
* Maintenance: Improve `debounce` util's return type for better TypeScript usage (Sage Abdullah)
* Maintenance: Ensure the side panel's show event is dispatched after any hide events (Sage Abdullah)
* Maintenance: Migrate preview-panel JavaScript to Stimulus & TypeScript, add full unit testing (Sage Abdullah)
* Maintenance: Move `wagtailConfig` values from inline scripts to the `wagtail_config` template tag (LB (Ben) Johnston, Sage Abdullah)
* Maintenance: Deprecate the `{% locales %}` and `{% js_translation_strings %}` template tags (LB (Ben) Johnston, Sage Abdullah)
* Maintenance: Ensure multi-line comments are cleaned from custom icons in addition to just single line comments (Jake Howard)
* Maintenance: Deprecate `window.wagtailConfig.BULK_ACTION_ITEM_TYPE` usage in JavaScript to reduce reliance on inline scripts (LB (Ben) Johnston)
* Maintenance: Remove `window.fileupload_opts` usage in JavaScript, use data attributes on fields instead to reduce reliance on inline scripts (LB (Ben) Johnston)
* Maintenance: Remove `image_format_name_to_content_type` helper function that duplicates Willow functionality (Matt Westcott)
* Maintenance: Improve code reuse for footer actions markup across generic views (Sage Abdullah)
* Maintenance: Deprecate internal `DeleteMenuItem` API for footer actions (Sage Abdullah)
* Maintenance: Update Pillow dependency to allow 11.x (Storm Heg)

6.2.3

~~~~~~~~~~~~~~~~~~

* Fix: Prevent multiple URLs from being combined into one when pasting links into a rich text input (Thibaud Colas)
* Fix: Fix error on workflow settings view with multiple snippet types assigned to the same workflow on Postgres (Sage Abdullah)
* Fix: Prevent history view from breaking if a log entry's revision is missing (Matt Westcott)
* Docs: Upgrade sphinx-wagtail-theme to v6.4.0, with a new search integration and Read the Docs Addons bug fixes (Thibaud Colas)

6.2.2

~~~~~~~~~~~~~~~~~~

* Fix: Fix various instances of `USE_THOUSAND_SEPARATOR` formatting numbers where formatting is invalid (Sébastien Corbin, Matt Westcott)
* Fix: Fix broken link to user search (Shlomo Markowitz)
* Fix: Make sure content metrics falls back to body element only when intended (Sage Abdullah)
* Fix: Remove wrongly-added filters from redirects index (Matt Westcott)
* Fix: Prevent popular tags filter from generating overly complex queries when not filtering (Matt Westcott)
* Docs: Clarify process for UserViewSet customization (Sage Abdullah)

6.2.1

~~~~~~~~~~~~~~~~~~

* Fix: Handle `child_block` being passed as a kwarg in ListBlock migrations (Matt Westcott)
* Fix: Fix broken task type filter in workflow task chooser modal (Sage Abdullah)
* Fix: Prevent circular imports between `wagtail.admin.models` and custom user models (Matt Westcott)
* Fix: Ensure that concurrent editing check works for users who only have edit access via workflows (Matt Westcott)

6.2

~~~~~~~~~~~~~~~~

* Optimize and consolidate redirects report view into the index view (Jake Howard, Dan Braghis)
* Support a `HOSTNAMES` parameter on `WAGTAILFRONTENDCACHE` 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 is available (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)
* Adopt more compact representation for StreamField definitions in migrations (Matt Westcott)
* Implement a new design for locale labels in listings (Albina Starykova)
* Add alt text validation rule in the accessibility checker (Albina Starykova)
* Add a `deactivate()` method to `ProgressController` (Alex Morega)
* Allow manually specifying credentials for CloudFront frontend cache backend (Jake Howard)
* Automatically register permissions for models registered with a `ModelViewSet` (Sage Abdullah)
* Implement universal listings UI for report views (Sage Abdullah)
* Make `routable_resolver_match` attribute available on RoutablePageMixin responses (Andy Chosak)
* Support customizations to `UserViewSet` via the app config (Sage Abdullah)
* Add word count and reading time metrics within the page editor (Albina Starykova. Sponsored by The Motley Fool)
* Implement a new design for accessibility checks (Albina Starykova)
* Allow changing available privacy options per page model (Shlomo Markowitz)
* Add concurrent editing notifications for pages and snippets (Matt Westcott, Sage Abdullah)
* Add "soft" client-side validation for `StreamBlock` / `ListBlock` `min_num` / `max_num` (Matt Westcott)
* Log accessibility checker results in the console to help developers with troubleshooting (Thibaud Colas)
* Disable pointer events on checker highlights to simplify DevTools inspections (Thibaud Colas)
* `StaticBlock` now renders nothing by default when no template is specified (Sævar Öfjörð Magnússon)
* Fix: Make `WAGTAILIMAGES_CHOOSER_PAGE_SIZE` setting functional again (Rohit Sharma)
* Fix: Enable `richtext` template tag to convert lazy translation values (Benjamin Bach)
* Fix: Ensure permission labels on group permissions page are translated where available (Matt Westcott)
* Fix: Preserve whitespace in comment replies (Elhussein Almasri)
* Fix: Address layout issues in the title cell of universal listings (Sage Abdullah)
* Fix: Support SVG icon id attributes with single quotes in the styleguide (Sage Abdullah)
* Fix: Do not show delete button on model edit views if per-instance permissions prevent deletion (Matt Westcott)
* Fix: Remove duplicate header in privacy dialog when a privacy setting is set on a parent page or collection (Matthias Brück)
* Fix: Allow renditions of `.ico` images (Julie Rymer)
* Fix: Handle choice groups as dictionaries in active filters (Sébastien Corbin)
* Fix: Add separators when displaying multiple error messages on a StructBlock (Kyle Bayliss)
* Fix: Specify `verbose_name` on `TranslatableMixin.locale` so that it is translated when used as a label (Romein van Buren)
* Fix: Disallow null characters in API filter values (Jochen Wersdörfer)
* Fix: Fix image preview when Willow optimizers are enabled (Alex Tomkins)
* Fix: Ensure external-to-internal link conversion works when the `wagtail_serve` view is on a non-root path (Sage Abdullah)
* Fix: Add missing `for_instance` method to `PageLogEntryManager` (Matt Westcott)
* Fix: Ensure that "User" column on history view is translatable (Romein van Buren)
* Fix: Handle StreamField migrations where the field value is null (Joshua Munn)
* Fix: Prevent incorrect menu ordering when order value is 0 (Ben Dickinson)
* Fix: Fix dynamic image serve view with certain backends (Sébastien Corbin)
* Fix: Show not allowed extension in error message (Sahil Jangra)
* Fix: Fix focal point chooser when localization enabled (Sébastien Corbin)
* Fix: Ensure that system checks for `WAGTAIL_DATE_FORMAT`, `WAGTAIL_DATETIME_FORMAT` and `WAGTAIL_TIME_FORMAT` take `FORMAT_MODULE_PATH` into account (Sébastien Corbin)
* Fix: Prevent rich text fields inside choosers from being duplicated when opened repeatedly (Sage Abdullah)
* Fix: Prevent history view from breaking if a log entry's revision is missing (Matt Westcott)
* Fix: Prevent long filenames from breaking layout on document chooser listings (Frank Yiu, Shaurya Panchal)
* Docs: Remove duplicate section on frontend caching proxies from performance page (Jake Howard)
* Docs: Document `restriction_type` field on PageViewRestriction (Shlomo Markowitz)
* Docs: Document Wagtail's bug bounty policy (Jake Howard)
* Docs: Fix incorrect Sphinx-style code references to use MyST style (Byron Peebles)
* Docs: Document the fact that `Orderable` is not required for inline panels (Bojan Mihelac)
* Docs: Add note about `prefers-reduced-motion` to the accessibility documentation (Roel Koper)
* Docs: Update deployment instructions for Fly.io (Jeroen de Vries)
* Docs: Add better docs for generating URLs on creating admin views (Shlomo Markowitz)
* Docs: Document the `vary_fields` property for custom image filters (Daniel Kirkham)
* Docs: Fix documentation build errors (Himanshu Garg, Chris Shenton)
* Docs: Fix PDF export (Nathanaël Jourdane)
* Maintenance: Use `DjangoJSONEncoder` instead of custom `LazyStringEncoder` to serialize Draftail config (Sage Abdullah)
* Maintenance: Refactor image chooser pagination to check `WAGTAILIMAGES_CHOOSER_PAGE_SIZE` at runtime (Matt Westcott)
* Maintenance: Exclude the `client/scss` directory in Tailwind content config to speed up CSS compilation (Sage Abdullah)
* Maintenance: Split `contrib.frontend_cache.backends` into dedicated sub-modules (Andy Babic)
* Maintenance: Remove unused `docs/autobuild.sh` script (Sævar Öfjörð Magnússon)
* Maintenance: Replace `urlparse` with `urlsplit` to improve performance (Jake Howard)
* Maintenance: Optimize embed finder lookups (Jake Howard)
* Maintenance: Improve performance of initial admin loading by moving sprite hashing out of module import time (Jake Howard)
* Maintenance: Remove workaround and inline scripts for activating workflow actions (Sage Abdullah)
* Maintenance: Prevent `'BlockWidget' object has no attribute '_block_json'` from masking errors during StreamField serialization (Matt Westcott)

6.1.3

~~~~~~~~~~~~~~~~~~

* Fix: CVE-2024-39317: Regular expression denial-of-service via search query parsing (Jake Howard)
* Fix: Allow renditions of `.ico` images (Julie Rymer)
* Fix: Handle choice groups as dictionaries in active filters (Sébastien Corbin)
* Fix: Fix image preview when Willow optimizers are enabled (Alex Tomkins)
* Fix: Fix dynamic image serve view with certain backends (Sébastien Corbin)

6.1.2

~~~~~~~~~~~~~~~~~~

* Fix: Fix client-side handling of select inputs within `ChoiceBlock` (Matt Westcott)
* Fix: Support SVG icon id attributes with single quotes in the styleguide (Sage Abdullah)
* Fix: CVE-2024-35228: Improper handling of insufficient permissions in `wagtail.contrib.settings` (Victor Miti, Matt Westcott, Jake Howard)

6.1.1

~~~~~~~~~~~~~~~~~~

* Fix: Fix form action URL in user edit and delete views for custom user models (Sage Abdullah)
* Fix: Fix snippet copy view not prefilling form data (Sage Abdullah)
* Fix: Address layout issues in the title cell of universal listings (Sage Abdullah)
* Fix: Fix incorrect rich text to HTML conversion when multiple link / embed types are present (Andy Chosak, Matt Westcott)
* Fix: Restore ability for custom widgets in StreamField blocks to have multiple top-level nodes (Sage Abdullah, Matt Westcott)

6.1

~~~~~~~~~~~~~~~~

* Refine wording of page & collection privacy using password is a shared password and should not be used for secure content (Rohit Sharma, Jake Howard)
* Add RelatedObjectsColumn to the table UI framework (Matt Westcott)
* Reduce memory usage when rebuilding search indexes (Jake Howard)
* Support creating images in .ico format (Jake Howard)
* Add the ability to disable the usage of a shared password for enhanced security for the private pages and collections (documents) feature (Salvo Polizzi, Jake Howard)
* Add system checks to ensure that `WAGTAIL_DATE_FORMAT`, `WAGTAIL_DATETIME_FORMAT`, `WAGTAIL_TIME_FORMAT` are correctly configured (Rohit Sharma, Coen van der Kamp)
* Allow custom permissions with the same prefix as built-in permissions (Sage Abdullah)
* Allow displaying permissions linked to the Admin model's content type (Sage Abdullah)
* Add support for Draftail's JavaScript to use chooserUrls provided by entity options & for the Draftail widget to encode lazy URLs/ translations (Elhussein Almasri)
* Reimplement search promotions `IndexView` using the `generic.IndexView` (Rohit Sharma, Sage Abdullah, Storm Heg)
* Reimplement redirects `IndexView` using the `generic.IndexView` (Rohit Sharma, Sage Abdullah, Temidayo Azeez)
* Add `PageListingViewSet` for custom per-page-type page listings (Matt Westcott)
* Add `ChooseParentView` to `PageListingViewSet` to allow creating pages from custom page listings (Abdelrahman Hamada, Sage Abdullah)
* Implement new universal listings design for image listing view (Sage Abdullah)
* Implement new universal listings design for document listing view (Sage Abdullah)
* Implement new universal listings design for site and locale listing views (Sage Abdullah)
* Implement new universal listings design for page and snippet history view (Sage Abdullah)
* Implement new universal listings design for form builder submissions view (Sage Abdullah)
* Implement new universal listings design for collections listing view (Sage Abdullah)
* Implement new universal listings design for groups views (Sage Abdullah)
* Implement new universal listings design for users views (Sage Abdullah)
* Implement new universal listings design for workflow and task views (Sage Abdullah)
* Refine slim header button style to match designs (Sage Abdullah)
* Add simple admin keyboard shortcuts overview dialog, available in the help sub-menu (Karthik Ayangar, Rohit Sharma)
* Add ability to bulk toggle permissions in the user group editing view, including shift+click for multiple selections (LB (Ben) Johnston, Kalob Taulien)
* Update the minimum version of `djangorestframework` to 3.15.1 (Sage Abdullah)
* Add support for related fields in generic `IndexView.list_display` (Abdelrahman Hamada)
* Improve page fetching logic and cache route results per request (Gordon Pendleton)
* Optimize rewriting of links / embeds in rich text using bulk database lookups (Andy Chosak)
* Add normalization mechanism to StreamField so that assignments and defaults can be passed in a wider range of data types (Joshua Munn, Matt Westcott)
* Allow specifying a `STORAGES` alias name for `WAGTAILIMAGES_RENDITION_STORAGE` (Alec Baron)
* Update `PASSWORD_REQUIRED_TEMPLATE` setting to `WAGTAIL_PASSWORD_REQUIRED_TEMPLATE` with deprecation of previous naming (Saksham Misra, LB (Ben) Johnston)
* Update `DOCUMENT_PASSWORD_REQUIRED_TEMPLATE` setting to `WAGTAILDOCS_PASSWORD_REQUIRED_TEMPLATE` with deprecation of previous naming (Saksham Misra, LB (Ben) Johnston)
* When editing settings (contrib) use the same icon in the editing view that was declared when registering the setting (Vince Salvino, Rohit Sharma)
* Populate django-treebeard cache during page routing to improve performance of `get_parent` (Nigel van Keulen)
* Add a new user profile preference to configure user interface information density (Thibaud Colas)
* Add additional field types to Elasticsearch mapping (scott-8)
* Fix: CVE-2024-32882: Permission check bypass when editing a model with per-field restrictions through `wagtail.contrib.settings` or `ModelViewSet` (Ben Morse, Joshua Munn, Jake Howard, Sage Abdullah)
* Fix: Fix typo in `__str__` for MySQL search index (Jake Howard)
* Fix: Ensure that unit tests correctly check for migrations in all core Wagtail apps (Matt Westcott)
* Fix: Correctly handle `date` objects on `human_readable_date` template tag (Jhonatan Lopes)
* Fix: Ensure re-ordering buttons work correctly when using a nested InlinePanel (Adrien Hamraoui)
* Fix: Consistently remove model's `verbose_name` in group edit view when listing custom permissions (Sage Abdullah, Neeraj Yetheendran, Omkar Jadhav)
* Fix: Resolve issue local development of docs when running `make livehtml` (Sage Abdullah)
* Fix: Resolve issue with unwanted padding in chooser modal listings (Sage Abdullah)
* Fix: Ensure form builder emails that have date or datetime fields correctly localize dates based on the configured `LANGUAGE_CODE` (Mark Niehues)
* Fix: Ensure the Stimulus `UnsavedController` checks for nested removal/additions of inputs so that the unsaved warning shows in more valid cases when editing a page (Karthik Ayangar)
* Fix: Ensure `get_add_url()` is always used to re-render the add button when the listing is refreshed in viewsets (Sage Abdullah)
* Fix: Ensure dropdown content cannot get higher than the viewport and add scrolling within content if needed (Chiemezuo Akujobi)
* Fix: Prevent snippets model index view from crashing when a model does not have an `objects` manager (Jhonatan Lopes)
* Fix: Fix `get_dummy_request`'s resulting host name when running tests with `ALLOWED_HOSTS = ["*"]` (David Buxton)
* Fix: Fix timezone handling in the `timesince_last_update` template tag (Matt Westcott)
* Fix: Fix Postgres phrase search to respect the language set in settings (Ihar Marhitych)
* Fix: Retain query parameters when switching between locales in the page chooser (Abdelrahman Hamada, Sage Abdullah)
* Fix: Add `w-kbd-scope-value` with support for `global` so that specific keyboard shortcuts (e.g. ctrl+s/cmd+s) trigger consistently even when focused on fields (Neeraj Yetheendran)
* Fix: Improve exception handling when generating image renditions concurrently (Andy Babic)
* Fix: Respect `WAGTAIL_ALLOW_UNICODE_SLUGS` setting when auto-generating slugs (LB (Ben) Johnston)
* Fix: Use correct URL when redirecting back to page search results after an AJAX search (Sage Abdullah)
* Fix: Reinstate missing static files in style guide (Sage Abdullah)
* Fix: Provide `convert_mariadb_uuids` management command to assist with upgrading to Django 5.0+ on MariaDB (Matt Westcott)
* Fix: Ensure invalid submissions are marked as dirty edits on load to trigger UI and browser warnings for unsaved changes, restoring previous behavior from Wagtail 5.2 (Sage Abdullah)
* Fix: Update polldaddy oEmbed provider to use the crowdsignal URL (Matthew Scouten)
* Fix: Remove polleverywhere oEmbed provider as it this application longer supports oEmbed (Matthew Scouten)
* Docs: Add contributing development documentation on how to work with a fork of Wagtail (Nix Asteri, Dan Braghis)
* Docs: Make sure the settings panel is listed in tabbed interface examples (Tibor Leupold)
* Docs: Update content and page names to their US spelling instead of UK spelling (Victoria Poromon)
* Docs: Update broken and incorrect links throughout the documentation (EK303)
* Docs: Fix formatting of `--purge-only` in `wagtail_update_image_renditions` management command section (Pranith Beeram)
* Docs: Update template components documentation to better explain the usage of the Laces library (Tibor Leupold)
* Docs: Update Sphinx theme to `6.3.0` with a fix for the missing favicon (Sage Abdullah)
* Docs: Document risk of XSS attacks on document upload (Matt Westcott, with thanks to Georgios Roumeliotis of TwelveSec for the original report)
* Docs: Add clarity to how custom StreamField validation works (Tibor Leupold)
* Docs: Add additional reference to the `wagtail_update_image_renditions` management command on the using images page (LB (Ben) Johnston)
* Docs: Correct information about line endings in Window development docs (Sage Abdullah)
* Docs: Improve code snippets for "Create a footer for all pages" tutorial section (Drikus Roor)
* Docs: Update list of third-party tutorials (LB (Ben) Johnston)
* Docs: Update "Integrating into Django" documentation to emphasise creating page models (Matt Westcott)
* Maintenance: Move RichText HTML whitelist parser to use the faster, built in `html.parser` (Jake Howard)
* Maintenance: Remove duplicate 'path' in default_exclude_fields_in_copy (Ramchandra Shahi Thakuri)
* Maintenance: Update unit tests to always use the faster, built in `html.parser` & remove `html5lib` dependency (Jake Howard)
* Maintenance: Adjust Eslint rules for TypeScript files (Karthik Ayangar)
* Maintenance: Rename the React `Button` that only renders links (a element) to `Link` and remove unused prop & behavior that was non-compliant for aria role usage (Advik Kabra)
* Maintenance: Set up an `wagtail.models.AbstractWorkflow` model to support future customizations around workflows (Hossein)
* Maintenance: Improve `classnames` template tag to handle nested lists of strings, use template tag for admin `body` element (LB (Ben) Johnston)
* Maintenance: Merge `UploadedDocument` and `UploadedImage` into new `UploadedFile` model for easier shared code usage (Advik Kabra, Karl Hobley)
* Maintenance: Optimize queries in dashboard panels (Sage Abdullah)
* Maintenance: Optimize queries in group create/edit view (Sage Abdullah)
* Maintenance: Move modal-workflow.js script usage to base admin template instead of ad-hoc imports (Elhussein Almasri)
* Maintenance: Update all Draftail chooserUrls to be passed in via the Entity options instead of using `window.chooserUrls` globals, removing the need for inline scripts (Elhussein Almasri)
* Maintenance: Enhance `w-init` (InitController) to support a `detail` value to be dispatched on events (Chiemezuo Akujobi)
* Maintenance: Remove usage of inline scripts and instead use event dispatching to instantiate standalone Draftail editor instances (Chiemezuo Akujobi)
* Maintenance: Refactor `page_breadcrumbs` tag to use shared `breadcrumbs.html` template (Sage Abdullah)
* Maintenance: Add `keyboard` icon to admin icon set (Rohit Sharma)
* Maintenance: Remove dead code in the minimap when elements are not found (LB (Ben) Johnston)
* Maintenance: Ensure untrusted data sources are logged correctly in the Stimulus `SwapController` (LB (Ben) Johnston)
* Maintenance: Update Wagtail logo in admin sidebar & favicon plus documentation to the latest version (Osaf AliSayed, Albina Starykova, LB (Ben) Johnston)
* Maintenance: Remove usage of inline scripts and instead use a new Stimulus controller (`w-block`/`BlockController`) to instantiate `StreamField` blocks (Karthik Ayangar)
* Maintenance: Update NPM Babel, TypeScript and Webpack packages (Neeraj Yetheendran)
* Maintenance: Replace ad-hoc JavaScript and vendor Mousetrap usage to a new Stimulus controller (`w-kbd`/`KeyboardController`) (Neeraj Yetheendran)
* Maintenance: Update django-filter to 24.x (Sebastian Muthwill)
* Maintenance: Remove jQuery usage in telepath widget classes (Matt Westcott)
* Maintenance: Remove `xregexp` (IE11 polyfill) along with `window.XRegExp` global util (LB (Ben) Johnston)
* Maintenance: Refactor the Django port of `urlify` to use TypeScript, officially deprecate `window.URLify` global util (LB (Ben) Johnston)
* Maintenance: Adopt the modern best practice for `beforeunload` usage in `UnsavedController` to trigger a leave page warning when edits have been made (Shubham Mukati, Sage Abdullah)

6.0.6

~~~~~~~~~~~~~~~~~~

* Fix: CVE-2024-39317: Regular expression denial-of-service via search query parsing (Jake Howard)

6.0.5

~~~~~~~~~~~~~~~~~~

* Fix: CVE-2024-35228: Improper handling of insufficient permissions in `wagtail.contrib.settings` (Victor Miti, Matt Westcott, Jake Howard)

6.0.4

~~~~~~~~~~~~~~~~~~

* Fix: Fix snippet copy view not prefilling form data (Sage Abdullah)

6.0.3

~~~~~~~~~~~~~~~~~~

* Fix: CVE-2024-32882: Permission check bypass when editing a model with per-field restrictions through `wagtail.contrib.settings` or `ModelViewSet` (Ben Morse, Joshua Munn, Jake Howard, Sage Abdullah)
* Fix: Respect `WAGTAIL_ALLOW_UNICODE_SLUGS` setting when auto-generating slugs (LB (Ben) Johnston)
* Fix: Use correct URL when redirecting back to page search results after an AJAX search (Sage Abdullah)
* Fix: Reinstate missing static files in style guide (Sage Abdullah)
* Fix: Provide `convert_mariadb_uuids` management command to assist with upgrading to Django 5.0+ on MariaDB (Matt Westcott)
* Fix: Fix generic CopyView for models with primary keys that need to be quoted (Sage Abdullah)

6.0.2

~~~~~~~~~~~~~~~~~~

* Fix: Ensure that modal tabs width are not impacted by side panel opening (LB (Ben) Johnston)
* Fix: Resolve issue local development of docs when running `make livehtml` (Sage Abdullah)
* Fix: Resolve issue with unwanted padding in chooser modal listings (Sage Abdullah)
* Fix: Ensure `get_add_url()` is always used to re-render the add button when the listing is refreshed in viewsets (Sage Abdullah)
* Fix: Move `modal-workflow.js` script usage to base admin template instead of ad-hoc imports so that choosers work in `ModelViewSet`s (Elhussein Almasri)
* Fix: Ensure JavaScript for common widgets such as `InlinePanel` is included by default in `ModelViewSet`'s create and edit views (Sage Abdullah)
* Fix: Reinstate styles for customizations of `extra_footer_actions` block in page create/edit templates (LB (Ben) Johnston, Sage Abdullah)
* Fix: Prevent crash when loading an empty table block in the editor (Sage Abdullah)
* Docs: Update Sphinx theme to `6.3.0` with a fix for the missing favicon (Sage Abdullah)

6.0.1

~~~~~~~~~~~~~~~~~~

* Fix: Ensure `BooleanRadioSelect` uses the same styles as `RadioSelect` (Thibaud Colas)
* Fix: Prevent failure on `collectstatic` when `ManifestStaticFilesStorage` is in use (Matt Westcott)
* Fix: Prevent error on submitting an empty search in the admin under Elasticsearch (Maikel Martens)

6.0

~~~~~~~~~~~~~~~~

* Added support for Django 5.0
* Implemented universal listings – a unified listing and filtering interface for Pages, Snippets, Forms (Ben Enright, Matt Westcott, Thibaud Colas, Sage Abdullah)
* Add the accessibility checker within the page and snippets editor (Thibaud Colas)
* Added `search_index` option to StreamField blocks to control whether the block is indexed for searching (Vedant Pandey)
* Remember previous location on returning from page add/edit actions (Robert Rollins)
* Update settings file in project settings to address Django 4.2 deprecations (Sage Abdullah)
* Improve layout and accessibility of the image URL generator page, reduce reliance on JavaScript (Temidayo Azeez)
* Allow `UniqueConstraint` in place of `unique_together` for `TranslatableMixin`'s system check (Temidayo Azeez, Sage Abdullah)
* Make use of `IndexView.get_add_url()` in snippets index view template (Christer Jensen, Sage Abdullah)
* Allow `Page.permissions_for_user()` to be overridden by specific page types (Sébastien Corbin)
* Improve visual alignment of explore icon in Page listings for longer content (Krzysztof Jeziorny)
* Add `extra_actions` blocks to Snippets and generic index templates (Bhuvnesh Sharma)
* Added page types usage report (Jhonatan Lopes)
* Add support for defining `panels` / `edit_handler` on `ModelViewSet` (Sage Abdullah)
* Use a single instance of `PagePermissionPolicy` in `wagtail.permissions` module (Sage Abdullah)
* Add max tag length validation for multiple uploads (documents/images) (Temidayo Azeez)
* Ensure expanded side panel does not overlap form content for most viewports (Chiemezuo Akujobi)
* Add ability to modify the default ordering for the page explorer view (Shlomo Markowitz)
* Remove overly verbose image captions in image listings for screen readers (Sage Abdullah)
* Ensure screen readers and dictation tools can more easily navigate bulk actions in images, documents and page listings by streamlining labels and descriptions (Sage Abdullah)
* Remove support for Safari 14 (Thibaud Colas)
* Add ability to click to copy the URL in the image URL generator page (Sai Srikar Dumpeti)
* Add ability to filter by page type and date updated in the page listing view (Matt Westcott)
* Add ability to filter by owner and site in the page listing view (Matt Westcott)
* Improve right-to-left support by using flow-relative float styles (Thibaud Colas)
* Improve right-to-left support by mirroring Wagtail icons as needed (Sage Abdullah)
* Add support for mirroring third-party icons added in Wagtail (Sage Abdullah)
* Show edit as a main action in generic history and usage views (Sage Abdullah)
* Make styles for header buttons consistent (Sage Abdullah)
* Improve styles of slim header's search and filters (Sage Abdullah)
* Change page listing's add button to icon-only (Sage Abdullah)
* Add sublabel to breadcrumbs, including history, usage, and inspect views (Sage Abdullah)
* Standardise search form placeholder to 'Search…' (Sage Abdullah)
* Use SlugInput on all SlugFields by default (LB (Ben) Johnston)
* Show character counts on RichTextBlock with `max_length` (Elhussein Almasri)
* Move locale selector in generic IndexView to a filter (Sage Abdullah)
* Add ability to customize a page's copy form (Neeraj Yetheendran)
* Add optional caption field to `TypedTableBlock` (Tommaso Amici, Cynthia Kiser)
* Switch the `TableBlock` header controls to a field that requires user input (Bhuvnesh Sharma, Aman Pandey, Cynthia Kiser)
* Add `WAGTAILADMIN_LOGIN_URL` setting to allow customizing the login URL (Neeraj Yetheendran)
* Replace legacy dropdown component with new Tippy dropdown-button (Thibaud Colas)
* Add ability to filter by existence of child pages in the page listing view (Matt Westcott)
* Polish dark theme styles and update color tokens (Thibaud Colas, Rohit Sharma)
* Keep database state of pages and snippets updated while in draft state (Stefan Hammer)
* Add `DrilldownController` and `w-drilldown` component to support drilldown menus (Thibaud Colas)
* Add support for `caption` on admin UI Table component (Aman Pandey)
* Add API support for a redirects (contrib) endpoint (Rohit Sharma, Jaap Roes, Andreas Donig)
* Add the default ability for all `SnippetViewSet` & `ModelViewSet` to support being copied (Shlomo Markowitz)
* Support dynamic Wagtail guide links in the admin that are based on the running version of Wagtail (Tidiane Dia)
* Added `AbstractGroupApprovalTask` to simplify customizing behavior of custom `Task` models (John-Scott Atlakson)
* Fix: Update system check for overwriting storage backends to recognize the `STORAGES` setting introduced in Django 4.2 (phijma-leukeleu)
* Fix: Prevent password change form from raising a validation error when browser autocomplete fills in the "Old password" field (Chiemezuo Akujobi)
* Fix: Ensure that the legacy dropdown options, when closed, do not get accidentally clicked by other interactions on wide viewports (CheesyPhoenix, Christer Jensen)
* Fix: Add a fallback background for the editing preview iframe for sites without a background (Ian Price)
* Fix: Preserve whitespace in rendered comments (Elhussein Almasri)
* Fix: Remove search logging from project template so that new projects without the search promotions module will not error (Matt Westcott)
* Fix: Ensure text-only email notifications for updated comments do not escape HTML characters (Rohit Sharma)
* Fix: Use the latest draft when copying an unpublished page for translation (Andrey Nehaychik)
* Fix: Make Workflow and Aging Pages reports only available to users with page-related permissions (Rohit Sharma)
* Fix: Make searching on specific fields work correctly on Elasticsearch when boost is in use (Matt Westcott)
* Fix: Use a visible border and background color to highlight active formatting in the rich text toolbar (Cassidy Pittman)
* Fix: Ensure image focal point box can be removed (Gunnar Scherf)
* Fix: Ensure that Snippets search results correctly use the `index_results.html` or `index_results_template_name` override on initial load (Stefan Hammer)
* Fix: Avoid error when attempting to moderate a page drafted by a now deleted user (Dan Braghis)
* Fix: Do not show multiple error messages when editing a Site to use existing hostname and port (Rohit Sharma)
* Fix: Avoid error when exporting Aging Pages report where a page has an empty `last_published_by_user` (Chiemezuo Akujobi)
* Fix: Ensure Page querysets support using `alias` and `specific` (Tomasz Knapik)
* Fix: Ensure workflow dashboard panels work when the page/snippet is missing (Sage Abdullah)
* Fix: Ensure `ActionController` explicitly checks for elements that allow select functionality (Nandini Arora)
* Fix: Prevent a ValueError with `FormSubmissionsPanel` on Django 5.0 when creating a new form page (Matt Westcott)
* Fix: Avoid duplicate entries in "Recent edits" panel when copying pages (Matt Westcott)
* Fix: Prevent TitleFieldPanel from raising an error when the slug field is missing or read-only (Rohit Sharma)
* Fix: Ensure that the close button on the new dialog designs is visible in the non-message variant (Nandini Arora)
* Fix: Ensure the sidebar account toggle has no duplicate accessible labels (Nandini Arora)
* Fix: Avoid text overflow issues in comment replies and scroll position issues for long comments (Rohit Sharma)
* Fix: Ensure that page listing re-ordering messages and accessible labels can be translated (Aman Pandey, LB (Ben) Johnston)
* Fix: Resolve multiple issues with page listing re-ordering using keyboard and screen readers (Aman Pandey)
* Fix: Remove 'Page' from page types filter on aging pages report (Matt Westcott)
* Fix: Prevent page types filter from showing other non-Page models that match by name (Matt Westcott)
* Fix: Ensure `MultipleChooserPanel` modal works correctly when `USE_THOUSAND_SEPARATOR` is `True` for pages with ids over 1,000 (Sankalp, Rohit Sharma)
* Fix: When using an empty table header (`th`) for visual spacing, ensure this is ignored by accessibility tooling (V Rohitansh)
* Fix: Ensure the panel anchor button sizes meet accessibility guidelines for minimum dimensions (Nandini Arora)
* Fix: Raise a 404 for bulk actions for models that don't exist instead of throwing a 500 error (Alex Tomkins)
* Fix: Raise a `SiteSetting.DoesNotExist` error when retrieving settings for an unrecognized site (Nick Smith)
* Fix: Ensure that defaulted or unique values declared in `exclude_fields_in_copy` are correctly excluded in new copies, resolving to the default value (Elhussein Almasri)
* Fix: Ensure that `default_ordering` set on IndexView is preserved if ModelViewSet does not specify an explicit ordering (Cynthia Kiser)
* Fix: Ensure that TableBlock cells are accessible when using keyboard control only (Elhussein Almasri)
* Fix: Resolve issue where clicking Publish for a Page that was in workflow in Safari would block publishing and not trigger the workflow confirmation modal (Alex Morega)
* Fix: Fix pagination links on model history and usage views (Matt Westcott)
* Fix: Fix crash when accessing workflow reports with a deleted snippet (Sage Abdullah)
* Docs: New developer tutorial (Damilola Oladele, Meagen Voss, Thibaud Colas)
* Docs: Document, for contributors, the use of translate string literals passed as arguments to tags and filters using `_()` within templates (Chiemezuo Akujobi)
* Docs: Document all features for the Documents app in one location (Neeraj Yetheendran)
* Docs: Add section to testing docs about creating pages and working with page content (Mariana Bedran Lesche)
* Docs: Add more nuance to the database recommendations in performance page (Jadesola Kareem)
* Docs: Add clarity that MultipleChooserPanel may require a chooser viewset and how the functionality is expected to work (Andy Chosak)
* Docs: Clarify where documentation build commands should be run (Nikhil S Kalburgi)
* Docs: Add missing import to tutorial BlogPage example (Salvo Polizzi)
* Docs: Update contributing guide documentation and GitHub templates to better support new contributors (Thibaud Colas)
* Docs: Add more CSS authoring guidelines (Thibaud Colas)
* Docs: Update MyST documentation parser library to 2.0.0 (Neeraj Yetheendran)
* Docs: Add documentation writing guidelines for intersphinx / external links (LB (Ben) Johnston)
* Docs: Add `Page` model reference `get_children` documentation (Salvo Polizzi)
* Docs: Enforce CI build checks for documentation so that malformed links or missing images will not be allowed (Neeraj Yetheendran)
* Docs: Update spelling on customizing admin template and page model section from British to American English (Victoria Poromon)
* Docs: Add documentation for how to override the file locations for custom image models via `get_upload_to` methods (Osaf AliSayed, Dharmik Gangani)
* Docs: Update documentation theme (Sphinx Wagtail Theme) to 6.2.0, fixing the incorrect favicon (LB (Ben) Johnston, Sahil Jangra)
* Docs: Refactor promotion banner without jQuery and use sameSite cookies when storing if cleared (LB (Ben) Johnston)
* Docs: Use cross-reference for compatible Python versions in tutorial instead of the out-of-date listing (mirusu400)
* Maintenance: Update BeautifulSoup upper bound to 4.12.x (scott-8)
* Maintenance: Migrate initialization of classes (such as `body.ready`) from multiple JavaScript implementations to one Stimulus controller `w-init` (Chiemezuo Akujobi)
* Maintenance: Adopt the usage of translate string literals using `arg=_('...')` in all `wagtailadmin` module templates (Chiemezuo Akujobi)
* Maintenance: Migrate the contrib styleguide index view to a class-based view (Chiemezuo Akujobi)
* Maintenance: Update djhtml to 3.0.6 (Matt Westcott)
* Maintenance: Migrate the contrib settings edit view to a class-based view (Chiemezuo Akujobi, Sage Abdullah)
* Maintenance: Remove django-pattern-library upper bound in testing dependencies (Sage Abdullah)
* Maintenance: Split up functions in Elasticsearch backend for easier extensibility (Marcel Kornblum, Cameron Lamb, Sam Dudley)
* Maintenance: Relax draftjs_exporter dependency to allow using version 5.x (Sylvain Fankhauser)
* Maintenance: Refine styling of listings, account settings panels and the block chooser (Meli Imelda)
* Maintenance: Remove icon font support (Matt Westcott)
* Maintenance: Remove deprecated SVG icons (Matt Westcott)
* Maintenance: Remove icon font styles (Thibaud Colas)
* Maintenance: Migrate account editing view to a class-based view (Kehinde Bobade)
* Maintenance: Upgrade frontend tooling to use Node 20 (LB (Ben) Johnston)
* Maintenance: Upgrade `ruff` and replace `black` with `ruff format` (John-Scott Atlakson)
* Maintenance: Update Willow upper bound to 2.x (Dan Braghis)
* Maintenance: Removed support for Django < 4.2 (Dan Braghis)
* Maintenance: Refactor page explorer index template to extend generic index template (Sage Abdullah)
* Maintenance: Replace template components implementation with standalone `laces` library (Tibor Leupold)
* Maintenance: Refactor snippets index view and template to make better use of generic IndexView (Sage Abdullah)
* Maintenance: Introduce an internal `{% formattedfield %}` tag to replace direct use of `wagtailadmin/shared/field.html` (Matt Westcott)
* Maintenance: Update Telepath dependency to 0.3.1 (Matt Westcott)
* Maintenance: Allow `ActionController` to have a `noop` method to more easily leverage standalone Stimulus action options (Nandini Arora)
* Maintenance: Upgrade to latest TypeScript and Storybook (Thibaud Colas, Sage Abdullah)
* Maintenance: Turn on `skipLibCheck` for TypeScript (LB (Ben) Johnston)
* Maintenance: Refactor documents listing view to use generic IndexView (Sage Abdullah)
* Maintenance: Support for the Stimulus `CloneController` to auto clear the added content after a set duration (LB (Ben) Johnston)
* Maintenance: Refactor images listing view to use generic IndexView (Sage Abdullah)
* Maintenance: Refactor form pages listing view to use generic IndexView (Sage Abdullah)
* Maintenance: Update Stylelint, our linting configuration, Sass, and related code changes (LB (Ben) Johnston)
* Maintenance: Simplify browserslist and browser support documentation (Thibaud Colas)
* Maintenance: Relax django-taggit dependency to allow 5.0 (Sylvain Fankhauser)
* Maintenance: Fix various warnings when building docs (Cynthia Kiser)
* Maintenance: Upgrade sphinxcontrib-spelling to 7.x for Python 3.12 compatibility (Matt Westcott)
* Maintenance: Move logic for django-filters filtering into `BaseListingView` (Matt Westcott)
* Maintenance: Remove or replace legacy CSS classes: visuallyhidden, visuallyvisible, divider-after, divider-before, inline, inline-block, block, u-hidden, clearfix, reordering, overflow (Thibaud Colas)
* Maintenance: Prevent future issues with icon.html end-of-file newlines (Thibaud Colas)
* Maintenance: Rewrite styles using legacy `c-`, `o-`, `u-`, `t-`, `is-` prefixes (Thibaud Colas)
* Maintenance: Remove invalid CSS styles / Sass selector concatenation (Thibaud Colas)
* Maintenance: Refactor listing views to share more queryset ordering logic (Matt Westcott)
* Maintenance: Remove `initTooltips` in favor of Stimulus controller (LB (Ben) Johnston)
* Maintenance: Enhance the Stimulus `InitController` to allow for custom event dispatching when ready (Aditya, LB (Ben) Johnston)
* Maintenance: Remove inline script usage for comment initialization and adopt an event listener/dispatch approach for better CSP compliance (Aditya, LB (Ben) Johnston)
* Maintenance: Migrate styleguide ad-hoc JavaScript to use styles only to avoid CSP issues (LB (Ben) Johnston)
* Maintenance: Update Jest version - frontend tooling (Nandini Arora)
* Maintenance: Remove non-functional and inaccessible auto-focus on first field in page create forms (LB (Ben) Johnston)
* Maintenance: Migrate the unsaved form checks & confirmation trigger to Stimulus `UnsavedController` (Sai Srikar Dumpeti, LB (Ben) Johnston)
* Maintenance: Reduce gap between snippets and generic views/templates (Sage Abdullah)
* Maintenance: Migrate page listing menu re-ordering (drag & drop) from jQuery inline scripts to `OrderableController` with a more accessible solution (Aman Pandey, LB (Ben) Johnston)
* Maintenance: Clean up scss variable usage, remove unused variables and mixins, adopt more core token variables (Jai Vignesh J, Nandini Arora, LB (Ben) Johnston)
* Maintenance: Migrate Image URL generator views to class-based views (Rohit Sharma)
* Maintenance: Use Django's `FileResponse` when serving files such as Images or Documents (Jake Howard)
* Maintenance: Deprecated `WidgetWithScript` base widget class (LB (Ben) Johnston)
* Maintenance: Remove support for Django 4.1 and below (Sage Abdullah)

5.2.7

~~~~~~~~~~~~~~~~~~

* Fix: Prevent multiple URLs from being combined into one when pasting links into a rich text input (Thibaud Colas)
* Fix: Fix error on workflow settings view with multiple snippet types assigned to the same workflow on Postgres (Sage Abdullah)

5.2.6

~~~~~~~~~~~~~~~~~~

* Fix: CVE-2024-39317: Regular expression denial-of-service via search query parsing (Jake Howard)
* Fix: Fix image preview when Willow optimizers are enabled (Alex Tomkins)
* Maintenance: Remove django-pattern-library upper bound in testing dependencies (Sage Abdullah)

5.2.5

~~~~~~~~~~~~~~~~~~

* Fix: Respect `WAGTAIL_ALLOW_UNICODE_SLUGS` setting when auto-generating slugs (LB (Ben) Johnston)
* Fix: Use correct URL when redirecting back to page search results after an AJAX search (Sage Abdullah)
* Fix: Provide `convert_mariadb_uuids` management command to assist with upgrading to Django 5.0+ on MariaDB (Matt Westcott)

5.2.4

~~~~~~~~~~~~~~~~~~

* Fix: Prevent TitleFieldPanel from raising an error when the slug field is missing or read-only (Rohit Sharma)
* Fix: Fix pagination links on model history and usage views (Matt Westcott)
* Fix: Fix crash when accessing workflow reports with a deleted snippet (Sage Abdullah)
* Fix: Prevent error on submitting an empty search in the admin under Elasticsearch (Maikel Martens)

5.2.3

~~~~~~~~~~~~~~~~~~

* Fix: Prevent a ValueError with `FormSubmissionsPanel` on Django 5.0 when creating a new form page (Matt Westcott)
* Fix: Specify telepath 0.3.1 as the minimum supported version, for Django 5.0 compatibility (Matt Westcott)

5.2.2

~~~~~~~~~~~~~~~~~~

* Added support for Django 5.0
* Fix: Use a visible border and background color to highlight active formatting in the rich text toolbar (Cassidy Pittman)
* Fix: Ensure image focal point box can be removed (Gunnar Scherf)
* Fix: Ensure that Snippets search results correctly use the `index_results.html` or `index_results_template_name` override on initial load (Stefan Hammer)
* Fix: Avoid error when attempting to moderate a page drafted by a now deleted user (Dan Braghis)
* Fix: Ensure workflow dashboard panels work when the page/snippet is missing (Sage Abdullah)
* Fix: Prevent custom controls from stacking on top of the comment button in Draftail toolbar (Ben Morse)

5.2.1

~~~~~~~~~~~~~~~~~~

* Fix: Add a fallback background for the editing preview iframe for sites without a background (Ian Price)
* Fix: Remove search logging from project template so that new projects without the search promotions module will not error (Matt Westcott)
* Fix: Ensure text only email notifications for updated comments do not escape HTML characters (Rohit Sharma)
* Fix: Use logical OR operator to combine search fields for Django ORM in generic IndexView (Varun Kumar)
* Fix: Ensure that explorer_results views fill in the correct next_url parameter on action URLs (Matt Westcott)
* Fix: Fix crash when accessing the history view for a translatable snippet (Sage Abdullah)
* Fix: Prevent upload of SVG images from failing when image feature detection is enabled (Joshua Munn)
* Fix: Fix crash when using the locale switcher on the snippets create view (Sage Abdullah)
* Fix: Fix performance regression on reports from calling `decorate_paginated_queryset` before pagination / filtering (Alex Tomkins)
* Fix: Make searching on specific fields work correctly on Elasticsearch when boost is in use (Matt Westcott)
* Fix: Prevent snippet permission post-migrate hook from failing on multiple database configurations (Joe Tsoi)
* Fix: Reinstate ability to filter on page type when searching on an empty query (Sage Abdullah)
* Fix: Prevent error on locked pages report when a user has locked multiple pages (Matt Westcott)
* Docs: Fix code example for `{% picture ... as ... %}` template tag (Rezyapkin)

5.2

~~~~~~~~~~~~~~~~~~~~

* Redesigned page listing view (Ben Enright, Matt Westcott, Thibaud Colas, Sage Abdullah)
* Support OpenSearch as an alternative to Elasticsearch (Matt Westcott)
* Add support for Python 3.12 (Matt Westcott)
* Add preview-aware and page-aware fragment caching template tags, `wagtailcache` & `wagtailpagecache` (Jake Howard)
* Always set help text element ID for form fields with help text in `field.html` template (Sage Abdullah)
* Move `SnippetViewSet` menu registration mechanism to base `ViewSet` class (Sage Abdullah)
* Enable reference index tracking for models registered with `ModelViewSet` (Sage Abdullah)
* When copying a page or creating an alias, copy its view restrictions to the destination (Sandeep Choudhary, Suyash Singh)
* Support pickling of StreamField values (pySilver)
* Move `SnippetViewSet` template override mechanism to `ModelViewSet` (Sage Abdullah)
* Move `SnippetViewSet.list_display` to `ModelViewSet` (Sage Abdullah)
* Remove `wagtail.publish` log action on aliases when they are created from live source pages or the source page is published (Dan Braghis)
* Remove `wagtail.unpublish` log action on aliases when source page is unpublished (Dan Braghis)
* Add compare buttons to workflow dashboard panel (Matt Westcott)
* Add the ability to use filters and to export listings in generic `IndexView` (Sage Abdullah)
* Move `list_filter`, `filterset_class`, `search_fields`, `search_backend_name`, `list_export`, `export_filename`, `list_per_page`, and `ordering` from `SnippetViewSet` to `ModelViewSet` (Sage Abdullah, Cynthia Kiser)
* Add default header titles to generic `IndexView` and `CreateView` (Sage Abdullah)
* Allow overriding `IndexView.export_headings` via `ModelViewSet` (Christer Jensen, Sage Abdullah)
* Support specifying a `get_object_list` method on `ChooserViewSet` (Matt Westcott)
* Add `linked_fields` mechanism on chooser widgets to allow choices to be limited by fields on the calling page (Matt Westcott)
* Add support for merging cells within `TableBlock` with the `mergedCells` option (Gareth Palmer)
* When adding a panel within `InlinePanel`, focus will now shift to that content similar to `StreamField` (Faishal Manzar)
* Show the full first published at date within a tooltip on the Page status sidebar on the relative date (Rohit Sharma)
* Extract generic breadcrumbs functionality from page breadcrumbs (Sage Abdullah)
* Add support for `placement` in the `human_readable_date` tooltip template tag (Rohit Sharma)
* Add breadcrumbs support to custom `ModelViewSet` views (Sage Abdullah)
* Support passing extra context variables via the `{% component %}` tag (Matt Westcott)
* Allow subclasses of `PagesAPIViewSet` override default Page model via the `model` attribute (Neeraj Yetheendran, Herbert Poul)
* Allow `ModelViewSet` to be used with models that have non-integer primary keys (Sage Abdullah)
* Add the ability to set an external link/text for promoted search result entries (TopDevPros, Brad Busenius)
* Add support for subject and body in the Email link chooser form (TopDevPros, Alexandre Joly)
* Extract generic `HistoryView` from snippets and add it to `ModelViewSet` (Sage Abdullah)
* Add generic `UsageView` to `ModelViewSet` (Sage Abdullah)
* Add the ability to define listing buttons on generic `IndexView` (Sage Abdullah)
* Add a visual progress bar to the output of the `wagtail_update_image_renditions` management command (Faishal Manzar)
* Increase the read buffer size to improve efficiency and performance when generating file hashes for document or image uploads, use `hashlib.file_digest` if available (Python 3.11+) (Jake Howard)
* API ordering now supports multiple fields (Rohit Sharma, Jake Howard)
* Pass block value to `Block.get_template` to allow varying template based on value (Florian Delizy)
* Add `InlinePanel` DOM events for when ready and when items added or removed (Faishal Manzar)
* Add a new `picture` template tag for Django Templates and Jinja (Thibaud Colas)
* Add a new `srcset_image` template tag for Django Templates and Jinja (Thibaud Colas)
* Support `Filter` instances as input for `AbstractImage.get_renditions()` (Thibaud Colas)
* Improve error messages for image template tags (Thibaud Colas)
* Do not render minimap if there are no panel anchors (Sage Abdullah)
* Use dropdown buttons on listings in dashboard panels (Sage Abdullah)
* Implement breadcrumbs design refinements (Thibaud Colas)
* Support extending Wagtail client-side with Stimulus (LB (Ben) Johnston)
* Update all `FieldPanel('title')` examples to use the recommended `TitleFieldPanel('title')` panel (Chinedu Ihedioha)
* The `purge_revisions` management command now respects revisions that have a `on_delete=PROTECT` foreign key relation and won't delete them (Neeraj P Yetheendran, Meghana Reddy, Sage Abdullah, Storm Heg)
* Add support for Shift + Click behavior in form submissions and simple translations submissions (LB (Ben) Johnston)
* Improve filtering of audit logging based on the user's permissions (Stefan Hammer)
* Fix: Ensure that StreamField's `FieldBlock`s correctly set the `required` and `aria-describedby` attributes (Storm Heg)
* Fix: Avoid an error when the moderation panel (admin dashboard) contains both snippets and private pages (Matt Westcott)
* Fix: When deleting collections, ensure the collection name is correctly shown in the success message (LB (Ben) Johnston)
* Fix: Filter out comments on Page editing counts that do not correspond to a valid field / block path on the page such as when a field has been removed (Matt Westcott)
* Fix: Allow `PublishMenuItem` to more easily support overriding its label via `construct_page_action_menu` (Sébastien Corbin)
* Fix: Allow locale selection when creating a page at the root level (Sage Abdullah)
* Fix: Ensure the admin login template correctly displays all `non_fields_errors` for any custom form validation (Sébastien Corbin)
* Fix: Ensure 'mark as active' label in workflow bulk action set active form can be translated (Rohit Sharma)
* Fix: Ensure the panel title for a user's settings correctly reflects the `WAGTAIL_EMAIL_MANAGEMENT_ENABLED` setting by not showing 'email' if disabled (Omkar Jadhav)
* Fix: Update Spotify oEmbed provider URL parsing to resolve correctly (Dhrűv)
* Fix: Update link colors within help blocks to meet accessible contrast requirements (Rohit Sharma)
* Fix: Ensure the search promotions popular search terms picker correctly refers to the correct model (LB (Ben) Johnston)
* Fix: Correctly quote non-numeric primary keys on snippet inspect view (Sage Abdullah)
* Fix: Prevent crash on snippet inspect view when displaying a null foreign key to an image (Sage Abdullah)
* Fix: Ensure that pages in moderation show as "Live + In Moderation" in the page explorer rather than "Live + Draft" (Sage Abdullah)
* Fix: Prevent error when updating reference index for objects with a lazy ParentalKey-related object (Chris Shaw)
* Fix: Ignore conflicts when inserting reference index entries to prevent race conditions causing uniqueness errors (Chris Shaw)
* Fix: Populate the correct return value when creating a new snippet within the snippet chooser (claudobahn)
* Fix: Reinstate missing filter by page type on page search (Matt Westcott)
* Fix: Ensure very long words can wrap when viewing saved comments (Chiemezuo Akujobi)
* Fix: Avoid forgotten password link text conflicting with the supplied aria-label (Thibaud Colas)
* Fix: Fix log message to record the correct restriction type when removing a page view restriction (Rohit Sharma, Hazh. M. Adam)
* Fix: Avoid potential race condition with new Page subscriptions on the edit view (Alex Tomkins)
* Fix: Use the correct action log when creating a redirect (Thibaud Colas)
* Fix: Ensure that all password fields consistently allow leading & trailing whitespace (Neeraj P Yetheendran)
* Docs: Expand documentation on using `ViewSet` and `ModelViewSet` (Sage Abdullah)
* Docs: Document `WAGTAILADMIN_BASE_URL` on "Integrating Wagtail into a Django project" page (Shreshth Srivastava)
* Docs: Replace incorrect screenshot for authors listing on tutorial (Shreshth Srivastava)
* Docs: Add documentation for building non-model-based choosers using the _queryish_ library (Matt Westcott)
* Docs: Fix incorrect tag library import on focal points example (Hatim Makki Hoho)
* Docs: Add reminder about including your custom Draftail feature in any overridden `WAGTAILADMIN_RICH_TEXT_EDITORS` setting (Charlie Sue)
* Docs: Mention the need to install `python3-venv` on Ubuntu (Brian Mugo)
* Docs: Document the use of the Google developer documentation style guide in documentation (Damilola Oladele)
* Docs: Fix Inconsistent URL Format in Getting Started tutorial (Olumide Micheal)
* Maintenance: Fix snippet search test to work on non-fallback database backends (Matt Westcott)
* Maintenance: Update Eslint, Prettier, Jest, a11y-dialog, axe-core and js-cookie npm packages (LB (Ben) Johnston)
* Maintenance: Add npm scripts for TypeScript checks and formatting SCSS files (LB (Ben) Johnston)
* Maintenance: Run tests in parallel in some of the CI setup (Sage Abdullah)
* Maintenance: Remove unused WorkflowStatus view, urlpattern, and workflow-status.js (Storm Heg)
* Maintenance: Add support for options/attrs in Telepath widgets so that attrs render on the created DOM (Storm Heg)
* Maintenance: Update pre-commit hooks to be in sync with latest changes to Eslint & Prettier for client-side changes (Storm Heg)
* Maintenance: Add `WagtailTestUtils.get_soup()` method for testing HTML content (Storm Heg, Sage Abdullah)
* Maintenance: Allow `ViewSet` subclasses to customize `url_prefix` and `url_namespace` logic (Matt Westcott)
* Maintenance: Simplify `SnippetViewSet` registration code (Sage Abdullah)
* Maintenance: Rename groups `IndexView.results_template_name` to `results.html` (Sage Abdullah)
* Maintenance: Migrate form submission listing checkbox toggling to the shared `w-bulk` Stimulus implementation (LB (Ben) Johnston)
* Maintenance: Allow viewsets to define a common set of view kwargs (Matt Westcott)
* Maintenance: Migrate the editor unsaved messages popup to be driven by Stimulus using the shared `w-message` controller (LB (Ben) Johnston, Hussain Saherwala)
* Maintenance: Do not use jest inside `stubs.js` to prevent Storybook from crashing (LB (Ben) Johnston)
* Maintenance: Refactor snippets templates to reuse the shared `slim_header.html` template (Sage Abdullah)
* Maintenance: Refactor `slim_header.html` template to reduce code duplication (Sage Abdullah)
* Maintenance: Upgrade Willow to v1.6.2 to support MIME type data without reliance on `imghdr` (Jake Howard)
* Maintenance: Replace `imghdr` with Willow's built-in MIME type detection (Jake Howard)
* Maintenance: Migrate all other `data-tippy` HTML attribute usage to the Stimulus data-*-value attributes for w-tooltip & w-dr

@pyup-bot pyup-bot mentioned this pull request Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant