- New scheduled publishing UI, available from the Status side panel (Sage Abdullah)
- Allow snippet admin views to be customised via
SnippetViewSet
(Sage Abdullah) - Implement scheduled publishing for snippets inheriting from
DraftStateMixin
(Sage Abdullah) - Add reference index and usage reports for images, documents and snippets (Karl Hobley, Matt Westcott)
- Formalised support for Python 3.11 (Matt Westcott)
- Add basic keyboard control and screen reader support for page listing re-ordering (Paarth Agarwal, Thomas van der Hoeven)
- Add
PageQuerySet.private
method as an alias ofnot_public
(Mehrdad Moradizadeh) - Most images in the admin will now only load once they are visible on screen (Jake Howard)
- Allow setting default attributes on image tags (Jake Howard)
- Optimise the performance of the Wagtail userbar to remove duplicated queries, improving page loads when viewing live pages while signed in (Jake Howard)
- Remove legacy styling classes for buttons (
unbutton
,button-neutral
,button-strokeonhover
,hover-no
,yes
) and refactor button styles to be more maintainable (Paarth Agarwal, LB (Ben Johnston)) - Add button variations to the pattern library (Paarth Agarwal)
- Provide a more accessible page title where the unique information is shown first and the CMS name is shown last (Mehrdad Moradizadeh)
- Pull out behaviour from
AbstractFormField
toFormMixin
andAbstractEmailForm
toEmailFormMixin
to allow use with subclasses ofPage
(Mehrdad Moradizadeh, Kurt Wall) - Add a
docs.wagtail.org/.well-known/security.txt
so that the security policy is available as per the specification on https://securitytxt.org/ (Jake Howard) - Add unit tests for the
classnames
Wagtail admin template tag (Mehrdad Moradizadeh) - Show an inverse locked indicator when the page has been locked by the current user in reports and dashboard listings (Vaibhav Shukla, LB (Ben Johnston))
- Add clarity to the development documentation that
admonition
should not be used and titles fornote
are not supported, including clean up of some existing incorrect usage (LB (Ben Johnston)) - Unify the styling of delete/destructive button styles across the admin interface (Paarth Agarwal)
- Adopt new designs and unify the styling styles for
.button-secondary
buttons across the admin interface (Paarth Agarwal) - Refine designs for disabled buttons throughout the admin interface (Paarth Agarwal)
- Update expanding formset add buttons to use
button
not link for behaviour (LB (Ben) Johnston) - Add robust unit testing for authentication scenarios across the user management admin pages (Mehrdad Moradizadeh)
- Avoid assuming an integer PK named 'id' on multiple upload views (Matt Westcott)
- Add a toggle to collapse/expand all page panels at once (Helen Chapman)
- Improve the GitHub Workflows (CI) security (Alex (sashashura))
- Use
search
type input in documentation search (LB (Ben) Johnston) - Render
help_text
when set onFieldPanel
,MultiFieldPanel
,FieldRowPanel
, and other panel APIs where it previously worked without official support (Matt Westcott) - Consolidate usage of Excel libraries to a single library
openpyxl
, removing usage ofXlsxWriter
,tablib
,xlrd
andxlwt
(Jaap Roes) - Adopt
wagtail.admin.views.generic.IndexView
for the Users index listing and search results (Mehrdad Moradizadeh) - Adopt
wagtail.admin.views.generic.CreateView
for the User creation view (Mehrdad Moradizadeh) - Adopt
wagtail.admin.views.generic.DeleteView
for the User delete view (Mehrdad Moradizadeh) - Adopt
wagtail.admin.views.generic.EditView
for the User edit view (Mehrdad Moradizadeh) - Add
button-secondary bicolor
variants to the pattern library and styleguide (Adinapunyo Banerjee) - Add better support for non-integer / non-
id
primary keys into Wagtail's generic views, including for Snippets and custom User models (Mehrdad Moradizadeh) - Upgrade jQuery UI to version 1.13.2 (LB (Ben) Johnston)
- Update pattern library background & text examples (Albina Starykova)
- Switch StreamField blocks to use a
<section>
element so screen reader users can bypass them more easily (Thibaud Colas) - Add anchor links to StreamField blocks so users can navigate straight to a given block (Thibaud Colas)
- Support "Ctrl + f" in-page search within collapsed StreamField blocks (Thibaud Colas)
- Remember the last opened side panel in the page editor, activating it on page load (Sage Abdullah)
- Ensure that the
update_index
command can run without console output if called with--verbosity 0
(Ben Sturmfels, Oliver Parker) - Improve side panels’ resizing in page editor and listings (Steven Steinwand)
- Adjust breadcrumb text alignment and size in page listings & page editor (Steven Steinwand)
- Improvements to getting started tutorial aimed at developers who are very new to Python and have no Django experience (Damilola Oladele)
- Update documentation dependencies; Sphinx Wagtail Theme to v5.3.2, MyST Parser to v0.18.1, add Sphinx Copy Button (LB (Ben) Johnston)
- Add "What's New" dashboard banner and "Help" menu in sidebar (Sage Abdullah)
- Implement new "minimap" component for the page editor (Thibaud Colas)
- The
image_url
template tag, when using the serve view to redirect rather than serve directly, will now use temporary redirects with a cache header instead of permanent redirects (Jake Howard) - Add new test assertions to
WagtailPageTestCase
-assertPageIsRoutable
,assertPageIsRenderable
,assertPageIsEditable
,assertPageIsPreviewable
(Andy Babic) - Add documentation to the performance section about how to better create image URLs when not used directly on the page (Jake Howard)
- Add ability to provide a required
permission
toPanelGroup
, used byTabbedInterface
,ObjectList
,FieldRowPanel
andMultiFieldPanel
(Oliver Parker) - Update documentation screenshots of the admin interface to align with changes in this release (Thibaud Colas)
- Fix: Prevent
PageQuerySet.not_public
from returning all pages when no page restrictions exist (Mehrdad Moradizadeh) - Fix: Ensure that duplicate block ids are unique when duplicating stream blocks in the page editor (Joshua Munn)
- Fix: Revise colour usage so that privacy & locked indicators can be seen in Windows High Contrast mode (LB (Ben Johnston))
- Fix: Ensure that disabled buttons have a consistent presentation on hover to indicate no interaction is available (Paarth Agarwal)
- Fix: Update the 'Locked pages' report menu title so that it is consistent with other pages reports and its own title on viewing (Nicholas Johnson)
- Fix: Support
formfield_callback
handling onModelForm.Meta
for future Django 4.2 release (Matt Westcott) - Fix: Ensure that
ModelAdmin
correctly supports filters in combination with subsequent searches without clearing the applied filters (Stefan Hammer) - Fix: Add missing translated values to site settings' headers plus models presented in listings and audit report filtering labels (Stefan Hammer)
- Fix: Remove
capitalize()
calls to avoid issues with other languages or incorrectly presented model names for reporting and parts of site settings (Stefan Hammer) - Fix: Add back rendering of
help_text
for InlinePanel (Matt Westcott) - Fix: Ensure
for_user
argument is passed to the form class when previewing pages (Matt Westcott) - Fix: Ensure the capitalisation of the
timesince_simple
tag is consistently added in the template based on usage in context (Stefan Hammer) - Fix: Add missing translation usage for the
timesince_last_update
and ensure the translated labels can be easier to work with in Transifex (Stefan Hammer) - Fix: Add additional checks for duplicate form field
clean_name
values in the Form Builder validation and increase performance of checks (Dan Bentley) - Fix: Use correct color for labels of radio and checkbox fields (Steven Steinwand)
- Fix: Adjust spacing of fields’ error messages and position in tables (Steven Steinwand)
- Fix: Update dead or redirected links throughout the documentation (LB (Ben) Johnston)
- Fix: Use different icons for workflow timeline component, so the steps can be distinguished with other means than color (Sam Moran)
- Fix: Use the correct custom font for the Wagtail userbar (Umar Farouk Yunusa)
- Fix: StreamField blocks are now collapsible with the keyboard (Thibaud Colas)
- Fix: StreamField block headings now have a label for screen reader users (Thibaud Colas)
- Fix: Display the "*" required field indicator for StreamField blocks (Thibaud Colas)
- Fix: Resolve inconsistency in action button positions in InlinePanel (Thibaud Colas)
- Fix: Use h3 elements with a counter in InlinePanel so screen reader users can navigate by heading (Thibaud Colas)
- Fix: Ensure that buttons on custom chooser widgets are correctly shown on hover (Thibaud Colas)
- Fix: Add missing asterisk to title field placeholder (Seremba Patrick, Stefan Hammer)
- Fix: Avoid creating an extra rich text block when inserting a new block at the end of the content (Matt Westcott)
- Fix: Removed the extra dot in the Wagtail version shown within the admin settings menu item (Loveth Omokaro)
- Fix: Fully remove the obsolete
wagtailsearch_editorspick
table that prevents flushing the database (Matt Westcott) - Fix: Update latest version message on Dashboard to accept dev build version format used on nlightly builds (Sam Moran)
- Fix: references extraction for ChooserBlock (Alex Tomkins)
- Fix: Regression in field width for authentication pages (log in / password reset) (Chisom)
- Fix: Ensure the new minimap correctly pluralises error counts for
aria-label
s (Matt Westcott)