- 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, useWAGTAIL_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 ensurecan_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 toFalse
(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
toBaseListingView
(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 thewagtail_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)