---
local:
depth: 1
---
Wagtail 4.1 is designated a Long Term Support (LTS) release. Long Term Support releases will continue to receive maintenance updates as necessary to address security and data-loss related issues, up until the next LTS release (typically a period of 12 months).
Scheduled publishing settings can now be found within the Status side panel of the page editing view. This change aims to improve clarity over who is able to set schedules, and when they take effect. This feature was developed by Sage Abdullah.
The register_snippet
function now accepts a SnippetViewSet
class, allowing various aspects of the snippet's admin views to be customised. See [](wagtailsnippets_custom_admin_views). This feature was developed by Sage Abdullah.
Snippet models that inherit from DraftStateMixin
can now be assigned go-live and expiry dates. This feature was developed by Sage Abdullah.
Images, documents and snippets now provide a usage report, listing the places where references to those objects appear. This report is powered by a new ReferenceIndex
model which records cross-references between objects whenever those objects to save; this allows it to work more efficiently than the old report available through the WAGTAIL_USAGE_COUNT_ENABLED
setting, as well as handling references within StreamField and rich text fields.
Note that on first upgrading to Wagtail 4.1, you will need to run the rebuild_references_index
management command to populate the references table and ensure that reference counts are displayed accurately.
This feature was developed by Karl Hobley and Matt Westcott.
PageQuerySet.private
method as an alias of not_public
(Mehrdad Moradizadeh)AbstractFormField
to FormMixin
and AbstractEmailForm
to EmailFormMixin
to allow use with subclasses of Page
[](form_builder_mixins) (Mehrdad Moradizadeh, Kurt Wall)docs.wagtail.org/.well-known/security.txt
so that the security policy is available as per the specification on https://securitytxt.org/ (Jake Howard)classnames
Wagtail admin template tag (Mehrdad Moradizadeh)admonition
should not be used and titles for note
are not supported, including clean up of some existing incorrect usage (LB (Ben Johnston)).button-secondary
buttons across the admin interface (Paarth Agarwal)button
not link for behaviour and remove support for disabled as a class (LB (Ben) Johnston)search
type input in documentation search (LB (Ben) Johnston)help_text
when set on FieldPanel
, MultiFieldPanel
, FieldRowPanel
, and other panel APIs where it previously worked without official support (Matt Westcott)openpyxl
, removing usage of XlsxWriter
, tablib
, xlrd
and xlwt
(Jaap Roes)button-secondary bicolor
variants to the pattern library and styleguide (Adinapunyo Banerjee)id
primary keys into Wagtail's generic views, including for custom Snippets and User models (Mehrdad Moradizadeh)PageQuerySet.not_public
from returning all pages when no page restrictions exist (Mehrdad Moradizadeh)formfield_callback
handling on ModelForm.Meta
for future Django 4.2 release (Matt Westcott)ModelAdmin
correctly supports filters in combination with subsequent searches without clearing the applied filters (Stefan Hammer)capitalize()
calls to avoid issues with other languages or incorrectly presented model names for reporting and parts of site settings (Stefan Hammer)help_text
for InlinePanel (Matt Westcott)for_user
argument is passed to the form class when previewing pages (Matt Westcott)timesince_simple
tag is consistently added in the template based on usage in context (Stefan Hammer)timesince_last_update
and ensure the translated labels can be easier to work with in Transifex (Stefan Hammer)clean_name
values in the Form Builder validation and increase performance of checks (Dan Bentley)rebuild_references_index
management commandAfter upgrading, you will need to run ./manage.py rebuild_references_index
in order to populate the references table and ensure that usage counts for images, documents and snippets are displayed accurately.
The button-secondary
class is no longer compatible with either the .serious
or .no
classes, this partially worked previously but is no longer officially supported.
When adding custom buttons using the ModelAdmin
ButtonHelper
class, custom buttons will no longer include the button-secondary
class by default in index listings.
If using the hook register_user_listing_buttons
to register buttons along with the undocumented UserListingButton
class, the button-secondary
class will no longer be included by default.
Avoid using disabled
as a class on button
elements, instead use the disabled
attribute as support for this as a class may be removed in a future version of Wagtail and is not accessible.
If using custom expanding-formset
the add button will no longer support the disabled
class but instead must require the disabled
attribute to be set.
The following button classes have been removed, none of which were being used within the admin but may have been used by custom code or packages:
button-neutral
button-strokeonhover
hover-no
unbutton
yes
.xls
Spreadsheet files into Redirects.xls
legacy Microsoft Excel 97-2003 spreadsheets will no longer be supported for importing into the contrib Redirects listing..xlsx
, .csv
, .tsv
formats are still supported.