~~~~~~~~~~~~~~~~~~~~
* 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 (Rahul Samant)
* 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)