- Added support for Django 4.2
- Object usage information on deleting objects (Sage Abdullah)
- Support for SVG images (Joshua Munn)
- Custom validation support for StreamField (Matt Westcott)
- Add
WAGTAILIMAGES_EXTENSIONS
setting to restrict image uploads to specific file types (Aman Pandey, Ananjan-R) - Update user list column level to
Access level
to be easier to understand (Vallabh Tiwari) - Migrate
.button-longrunning
behaviour to a Stimulus controller with support for custom label element & duration (Loveth Omokaro) - Implement new simplified userbar designs (Albina Starykova)
- Add more Axe rules to the accessibility checker (Albina Starykova)
- Sort accessibility checker results by position on the page (Albina Starykova)
- Highlight elements with errors in accessibility checker (Albina Starykova)
- Add usage view for pages (Sage Abdullah)
- Copy page form now updates the slug field dynamically with a slugified value on blur (Loveth Omokaro)
- Ensure selected collection is kept when navigating from documents or images listings to add multiple views & upon upload (Aman Pandey, Bojan Mihelac)
- Keep applied filters when downloading form submissions (Suyash Srivastava)
- Messages added dynamically via JavaScript now have an icon to be consistent with those supplied in the page's HTML (Aman Pandey)
- Switch lock/unlock side panel toggle to a switch, with more appropriate confirmation message status (Sage Abdullah)
- Ensure that changed or cleared selection from choosers will dispatch a DOM
change
event (George Sakkis) - Add the ability to disable model indexing by setting
search_fields = []
(Daniel Kirkham) - Enhance
wagtail.search.utils.parse_query_string
to allow inner single quotes for key/value parsing (Aman Pandey) - Add helpful properties to
Locale
for more convenient usage within templates (Andy Babic) - Allow customising icons for snippets via
SnippetViewSet.icon
(Daniel Kirkham, Sage Abdullah) - Allow customising the base URL and URL namespace for snippet views (Sage Abdullah)
- Allow customising the default ordering and number of items per page for snippet listing views (Sage Abdullah)
- Re-label "StreamField blocks" option in block picker to "Blocks" (Thibaud Colas)
- Re-implement styleguide icons list as an auto-generated sequence of tables (Thibaud Colas)
- Switch styleguide navigation to use panel components and minimap (Thibaud Colas)
- Explicitly specify
MenuItem.name
for Snippets, Reports, and Settings menu items (Sage Abdullah) - Move the help text of fields and blocks directly below their label for easier reading (Thibaud Colas)
- Allow filters on snippet and generic index views to be customised through the
list_filter
attribute (Sage Abdullah) - The select all checkbox in simple translation's submit translation page will now be in sync with other checkbox changes (Hanoon)
- Update Wagtail’s default icon set to Font Awesome 6 (Thibaud Colas)
- Allow admin templates for snippets to be overridden on a per-model or per-app basis (Sage Abdullah)
- Allow overriding the base queryset to be used in snippet
IndexView
(Sage Abdullah) - Revise alignment and spacing of form fields and sections (Thibaud Colas)
- Update Wagtail’s type scale so StreamField block labels and field labels are the same size (Thibaud Colas)
- Allow customising the
search_fields
and search backend via SnippetViewSet (Sage Abdullah) - Style comments as per page editor design, in side panel (Karl Hobley, Thibaud Colas)
- Add support for custom panel icons, with defaults, displayed for top-level editor panels (Sage Abdullah)
- Add new icons for StreamField blocks (Sage Abdullah)
- Reveal the minimap on click rather than hover, keeping it expanded until dismissed, with state saved between page loads (Thibaud Colas)
- Expand a collapsed form section when navigating to it with the minimap (Thibaud Colas)
- The minimap and "Collapse all" button now appear next to side panels rather than underneath, so they can be used at any time (Thibaud Colas)
- Allow
panels
/edit_handler
to be specified viaSnippetViewSet
(Sage Abdullah) - Introduce dark mode support for the Wagtail admin interface, with a toggle in account preferences (Thibaud Colas)
- Allow snippets to be registered into arbitrary admin menu items (Sage Abdullah)
- Add configuration APIs in user bar accessibility checker for simpler customisation of the checks performed
- ReferenceIndex modified to only index Wagtail-related models, and allow other models to be explicitly registered (Daniel Kirkham)
- Fix: Ensure
label_format
on StructBlock gracefully handles missing variables (Aadi jindal) - Fix: Adopt a no-JavaScript and more accessible solution for the 'Reset to default' switch to Gravatar when editing user profile (Loveth Omokaro)
- Fix: Ensure
Site.get_site_root_paths
works on cache backends that do not preserve Python objects (Jaap Roes) - Fix: Ignore right clicks on side panel resizer (Sage Abdullah)
- Fix: Resize in the correct direction for RTL languages with the side panel resizer (Sage Abdullah)
- Fix: Support creating
StructValue
copies (Tidiane Dia) - Fix: Fix image uploads on storage backends that require file pointer to be at the start of the file (Matt Westcott)
- Fix: Fix "Edit this page" missing from userbar (Satvik Vashisht)
- Fix: No longer allow invalid duplicate site hostname creation as hostnames and domain names are a case insensitive (Coen van der Kamp)
- Fix: Image and Document multiple upload update forms now correctly use the progress button (longrunning) behaviour when clicked (Loveth Omokaro)
- Fix: Prevent audit log report from failing on missing models (Andy Chosak)
- Fix: Ensure that the privacy collection privacy edit button is styled as a button (Jatin Kumar)
- Fix: Fix page/snippet cannot proceed a
GroupApprovalTask
if it's locked by someone outside of the group (Sage Abdullah) - Fix: Allow manual lock even if
WorkflowLock
is currently applied (Sage Abdullah) - Fix: Add missing log information for
wagtail.schedule.cancel
(Stefan Hammer) - Fix: Fix timezone activation leaking into subsequent requests in
require_admin_access()
(Stefan Hammer) - Fix: Fix dialog component's message to have rounded corners at the top side (Sam)
- Fix: When multiple documents are uploaded and then subsequently updated, ensure that existing success messages are cleared correctly (Aman Pandey)
- Fix: Prevent matches from unrelated models from leaking into SQLite FTS searches (Matt Westcott)
- Fix: Prevent duplicate addition of StreamField blocks with the new block picker (Deepam Priyadarshi)
- Fix: Enable partial search on images and documents index view where available (Mng)
- Fix: Adopt a no-JavaScript and more accessible solution for option selection in reporting, using HTML only
radio
input fields (Mehul Aggarwal) - Fix: Ensure that document search results count shows the correct all matches, not the paginate total (Andy Chosak)
- Fix: Fix radio and checkbox elements shrinking when using a long label (Sage Abdullah)
- Fix: Fix select elements expanding beyond their container when using a long option label (Sage Abdullah)
- Fix: Fix timezone handling of
TemplateResponse
s for users with a custom timezone (Stefan Hammer, Sage Abdullah) - Fix: Ensure TableBlock initialisation correctly runs after load and its width is aligned with the parent panel (Dan Braghis)
- Fix: Ensure that the JavaScript media files are loaded by default in Snippet index listings for date fields (Sage Abdullah)
- Fix: Fix server-side caching of the icons sprite (Thibaud Colas)
- Fix: Avoid showing scrollbars in the block picker unless necessary (Babitha Kumari)
- Fix: Always show Add buttons, guide lines, Move up/down, Duplicate, Delete; in StreamField and Inline Panel (Thibaud Colas)
- Fix: Make admin JS i18n endpoint accessible to non-authenticated users (Matt Westcott)
- Fix: Fix incorrect API serialisation for document
download_url
whenWAGTAILDOCS_SERVE_METHOD
isdirect
(Swojak-A) - Fix: Fix template configuration of snippets index results view (fidoriel, Sage Abdullah)
- Fix: Prevent long preview mode names from making the select element overflow the side panel (Sage Abdullah)
- Fix: Autosize text area field will now correctly resize when switching between comments toggle states (Suyash Srivastava)
- Fix: When i18n is not enabled, avoid making a Locale query on every page view (Dan Braghis)
- Fix: Fix initialisation of commenting widgets within StreamField (Thibaud Colas)
- Fix: Fix various regressions in the commenting UI (Thibaud Colas)
- Fix: Prevent TableBlock from becoming uneditable after save (Sage Abdullah)
- Docs: Add code block to make it easier to understand contribution docs (Suyash Singh)
- Docs: Add new "Icons" page for icons customisation and reuse across the admin interface (Coen van der Kamp, Thibaud Colas)
- Docs: Fix broken formatting for MultiFieldPanel / FieldRowPanel permission kwarg docs (Matt Westcott)
- Docs: Add helpful troubleshooting links and refine wording for getting started with development (Loveth Omokaro)
- Docs: Ensure search autocomplete overlay on mobile does not overflow the viewport (Ayman Makroo)
- Docs: Improve documentation for InlinePanel (Vallabh Tiwari)
- Docs: Add contributor guidelines for building Stimulus Controllers (Thibaud Colas, Loveth Omokaro, LB (Ben) Johnston)
- Docs: Fix typo in "Extending Draftail" documentation (Hans Kelson)
- Docs: Clarify
ClusterableModel
requirements for using relations withRevisionMixin
-enabled models (Sage Abdullah) - Maintenance: Removed features deprecated in Wagtail 3.0 and 4.0 (Matt Westcott)
- Maintenance: Update djhtml (html formatting) library to v 1.5.2 (Loveth Omokaro)
- Maintenance: Re-enable
strictPropertyInitialization
in tsconfig (Thibaud Colas) - Maintenance: Refactor accessibility checker userbar item (Albina Starykova)
- Maintenance: Removed unused
Page.get_static_site_paths
method (Yosr Karoui) - Maintenance: Provisional Django 5.0 compatibility fixes (Sage Abdullah)
- Maintenance: Add unit tests for
CollapseAll
andMinimapItem
components (Albina Starykova) - Maintenance: Code quality fixes (GLEF1X)
- Maintenance: Refactor image / document / snippet usage views into a shared generic view (Sage Abdullah)
- Maintenance: Rename the Stimulus
AutoFieldController
to the less confusingSubmitController
(Loveth Omokaro) - Maintenance: Replace
script
tags withtemplate
tag for image/document bulk uploads (Rishabh Kumar Bahukhandi) - Maintenance: Remove unneeded float styles on 404 page (Fabien Le Frapper)
- Maintenance: Convert userbar implementation to TypeScript (Albina Starykova)
- Maintenance: Migrate slug field behaviour to a Stimulus controller and create new
SlugInput
widget (Loveth Omokaro) - Maintenance: Refactor
status
HTML usage to shared template tag (Aman Pandey, LB (Ben) Johnston, Himanshu Garg) - Maintenance: Add curlylint and update djhtml, semgrep versions in pre-commit config (Himanshu Garg)
- Maintenance: Use shared header template for
ModelAdmin
and Snippets type index header (Aman Pandey) - Maintenance: Move models and forms for
wagtailsearch.Query
towagtail.contrib.search_promotions
(Karl Hobley) - Maintenance: Migrate
initErrorDetection
(tabs error counts) to a Stimulus Controllerw-count
(Aman Pandey) - Maintenance: Migrate
window.addMessage
behaviour to a global event listener & Stimulus Controller approach withw-messages
(Aman Pandey) - Maintenance: Update Algolia DocSearch to use new application and correct versioning setup (Thibaud Colas)
- Maintenance: Move snippet choosers and model check registration to
SnippetViewSet.on_register()
(Sage Abdullah) - Maintenance: Remove unused snippets delete-multiple view (Sage Abdullah)
- Maintenance: Improve performance of determining live page URLs across the admin interface using
pageurl
template tag (Satvik Vashisht) - Maintenance: Migrate
window.initSlugAutoPopulate
behaviour to a Stimulus Controllerw-sync
(Loveth Omokaro) - Maintenance: Rename
status
classes tow-status
to align with preferred CSS class naming conventions (Mansi Gundre) - Maintenance: Include wagtail-factories in
wagtail.test.utils
to avoid cross-dependency issues (Matt Westcott) - Maintenance: Fix search tests to correctly reflect behaviour of search backends other than the fallback backend (Matt Westcott)
- Maintenance: Migrate select all checkbox in simple translation's submit translation page to Stimulus controller
w-bulk
, remove inline script usage (Hanoon) - Maintenance: Refactor
SnippetViewSet
to extendModelViewSet
(Sage Abdullah) - Maintenance: Migrate initDismissibles behaviour to a Stimulus controller
w-disimissible
(Loveth Omokaro) - Maintenance: Replace jQuery autosize v3 with Stimulus
w-autosize
controller using autosize npm package v6 (Suyash Srivastava) - Maintenance: Update
w-action
controller to support a click method (Suyash Srivastava) - Maintenance: Migrate the site settings switcher select from jQuery to a refined version of the
w-action
controller usage (Aadi jindal, LB (Ben) Johnston) - Maintenance: Always use expanded Sass output so CSS processing is identical in development and production builds (Thibaud Colas)
- Maintenance: Refactor admin color palette to semantic, theme-agnostic design tokens (Thibaud Colas)