- Add formal support for Django 5.2 (Matt Westcott)
- Allow validation of required fields to be deferred on saving drafts (Matt Westcott, Sage Abdullah)
- Add
WAGTAIL_
prefix to Wagtail-specific tag settings (Aayushman Singh) - Implement
normalize
onTypedTableBlock
to assist with settingdefault
andpreview_value
(Sage Abdullah) - Apply normalization when modifying a
StreamBlock
's value to assist with programmatic changes toStreamField
(Matt Westcott) - Allow a custom image rendition model to define its unique constraint with
models.UniqueConstraint
instead ofunique_together
(Oliver Parker, Cynthia Kiser, Sage Abdullah) - Default to the
standard
tokenizer on Elasticsearch, to correctly handle numbers as tokens (Matt Westcott) - Add color-scheme meta tag to Wagtail admin (Ashish Nagmoti)
- Add the ability to set the default privacy restriction for new pages using
get_default_privacy_setting
(Shlomo Markowitz) - Improve performance of batch purging page urls in the frontend cache, avoiding n+1 query issues (Andy Babic)
- Add better support and documentation for overriding or extending icons used in the in the userbar (Sébastien Corbin)
- List the comments action, if comments are enabled, within the admin keyboard shortcuts dialog (Dhruvi Patel)
- Add better support and documentation for overriding the default field widgets used within form pages (Baptiste Mispelon)
- Allow workflow tasks to specify a template for the action modal via
get_template_for_action
(Sage Abdullah) - Change 'Publish' button label to 'Schedule to publish' if go-live schedule is set (Sage Abdullah)
- Exclude snippets that have their own menu items from the "Snippets" menu (Andy Chosak, Matt Westcott)
- Introduce new designs for listings and chooser pagination (except page chooser) (Jordan Teichmann, Sage Abdullah)
- Add default "Locale" column to listings and choosers of translatable models (Dan Braghis, Sage Abdullah)
- Apply current content's locale in choosers by default and add the ability to clear the locale filter (Dan Braghis)
- Hide add locale button when no more languages are available (Dan Braghis)
- Allow customizing
InspectView
field display value via methods on the view (Dan Braghis) - Make rendering of active listing filters extensible, to support additional filter types (Sage Abdullah)
- Fix: Take preferred language into account for translatable strings in client-side code (Bernhard Bliem, Sage Abdullah)
- Fix: Do not show the content type column as sortable when searching pages (Srishti Jaiswal, Sage Abdullah)
- Fix: Support simple subqueries for
in
andexact
lookup on Elasticsearch (Sage Abdullah) - Fix: Force preview panel scroll behavior to instant to avoid flickering (Sage Abdullah)
- Fix: Support translating with the preferred language for rich text formatting labels (Bernhard Bliem, Sage Abdullah)
- Fix: Make "Actions" label translatable within the rich text toolbar (Bernhard Bliem, Sage Abdullah)
- Fix: Fix incorrect "Views (past week)" heading on promoted search results listing (Baptiste Mispelon)
- Fix: Ensure
InlinePanel
will be correctly ordered after the first save whenmin_num
is used (Elhussein Almasri, Joel William) - Fix: Avoid deprecation warnings about URLField
assume_scheme
on Django 5.x (Sage Abdullah) - Fix: Fix setup.cfg syntax for setuptools v78 (Sage Abdullah)
- Fix: Ensure
ImproperlyConfigured
is thrown fromdb_field
on unboundFieldPanel
s as intended (Matt Westcott) - Fix: Refine the positioning of the add comment button next to select, radio, checkbox fields and between field row columns (Srishti Jaiswal)
- Fix: Show the correct privacy status for child collections of private collections (Shlomo Markowitz)
- Fix: Ensure reference index correctly handles models with primary keys not named
id
(Sage Abdullah) - Fix: On "move page" bulk action, do not prefill the destination with the root page (Stefan Hammer)
- Fix: Ensure the default preferred language respects the
WAGTAILADMIN_PERMITTED_LANGUAGES
setting (Sébastien Corbin) - Fix: Ensure there is consistent padding in homepage panels table headers (Aditya (megatrron))
- Fix: Prevent redundant calls to context processors when rendering userbar (Ihor Marhitych)
- Docs: Add missing
django.contrib.admin
to list of apps in "add to Django project" guide (Mohamed Rabiaa) - Docs: Add tutorial on deploying on Ubuntu to third-party tutorials (Mohammad Fathi Rahman)
- Docs: Document that request_or_site is optional on BaseGenericSetting.load (Matt Westcott)
- Docs: Mention third-party StreamField based form builder packages in the form builder documentation (Matt Westcott)
- Docs: Clarify that
insert_editor_js
hook applies to all core editing/creation views (LB (Ben) Johnston) - Docs: Clarify requirement for non-page models using model mixins to be registered as snippets (Sage Abdullah)
- Maintenance: Migrate away from deprecated Sass import rules to module system (Srishti Jaiswal)
- Maintenance: Apply Sass mixed declarations migration in preparation for CSS nesting (Prabhpreet Kaur)
- Maintenance: Refactor styles for Draftail, minimap, and comments to fix remaining Sass migration warnings (Thibaud Colas)
- Maintenance: npm package updates;
downshift
,focus-trap-react
,immer
,redux
,uuid
(LB (Ben) Johnston) - Maintenance: Validate against invalid characters in Lexeme values (Matt Westcott)
- Maintenance: Split up
wagtail.models
module into submodules (Matt Westcott) - Maintenance: Update
ruff
to 0.9.6 (Sage Abdullah) - Maintenance: Fix up
stubs
&adapter
contents to better support Jest testing (LB (Ben) Johnston) - Maintenance: Cleanup Stimulus controller imports, JSDoc & linting (LB (Ben) Johnston)
- Maintenance: Rename
SkipLinkController
toFocusController
with improved reusability, updated unit tests, and added story (LB (Ben) Johnston) - Maintenance: Fix CI testing issues with the Stimulus
LocaleController
time zones & non-deterministic page ordering tests (Sage Abdullah) - Maintenance: Make GitHub highlight
.html
files as Django templates (Jake Howard) - Maintenance: Remove admin JavaScript imports from shared template includes, moving the imports to the appropriate core admin inclusion locations (Sai Srikar Dumpeti)
- Maintenance: Remove non-editing view inclusions of the
insert_editor_js
hook output, deprecate the wrapper template tag_editor_js.html
(Sai Srikar Dumpeti, LB (Ben) Johnston) - Maintenance: Remove upper bound on Django dependency (Matt Westcott)
- Maintenance: Add
default_auto_field
setting to home app in project template (Sylvain Boissel) - Maintenance: Migrate setuptools configuration from
setup.py
andsetup.cfg
topyproject.toml
(Sage Abdullah) - Maintenance: Refactor
move_choose_destination
to a class-based view (Chiemezuo Akujobi) - Maintenance: Remove deprecated
wagtailadmin/shared/ajax_pagination_nav.html
template (Sage Abdullah) - Maintenance: Formally deprecate support for listing views with no breadcrumbs (Sage Abdullah)