Wagtail 6.5 release notes - IN DEVELOPMENT¶
Unreleased
What’s new¶
Other features¶
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)
Bug fixes¶
Take preferred language into account for translatable strings in client-side code (Bernhard Bliem, Sage Abdullah)
Support translating with the preferred language for rich text formatting labels (Bernhard Bliem, Sage Abdullah)
Make “Actions” label translatable within the rich text toolbar (Bernhard Bliem, Sage Abdullah)
Do not show the content type column as sortable when searching pages (Srishti Jaiswal, Sage Abdullah)
Support simple subqueries for
in
andexact
lookup on Elasticsearch (Sage Abdullah)Force preview panel scroll behavior to instant to avoid flickering (Sage Abdullah)
Fix incorrect “Views (past week)” heading on promoted search results listing (Baptiste Mispelon)
Ensure
InlinePanel
will be correctly ordered after the first save whenmin_num
is used (Elhussein Almasri, Joel William)Avoid deprecation warnings about URLField
assume_scheme
on Django 5.x (Sage Abdullah)Fix setup.cfg syntax for setuptools v78 (Sage Abdullah)
Ensure
ImproperlyConfigured
is thrown fromdb_field
on unboundFieldPanel
s as intended (Matt Westcott)
Documentation¶
Add missing
django.contrib.admin
to list of apps in “add to Django project” guide (Mohamed Rabiaa)Add tutorial on deploying on Ubuntu to third-party tutorials (Mohammad Fathi Rahman)
Document that request_or_site is optional on BaseGenericSetting.load (Matt Westcott)
Maintenance¶
Migrate away from deprecated Sass import rules to module system (Srishti Jaiswal)
Apply Sass mixed declarations migration in preparation for CSS nesting (Prabhpreet Kaur)
Refactor styles for Draftail, minimap, and comments to fix remaining Sass migration warnings (Thibaud Colas)
npm package updates;
downshift
,focus-trap-react
,immer
,redux
,uuid
(LB (Ben) Johnston)Validate against invalid characters in Lexeme values (Matt Westcott)
Split up
wagtail.models
module into submodules (Matt Westcott)Update
ruff
to 0.9.6 (Sage Abdullah)Fix up
stubs
&adapter
contents to better support Jest testing (LB (Ben) Johnston)Cleanup Stimulus controller imports, JSDoc & linting (LB (Ben) Johnston)
Rename
SkipLinkController
toFocusController
with improved reusability, updated unit tests, and added story (LB (Ben) Johnston)Fix CI testing issues with the Stimulus
LocaleController
time zones & non-deterministic page ordering tests (Sage Abdullah)Make GitHub highlight
.html
files as Django templates (Jake Howard)
Upgrade considerations - changes affecting all projects¶
Page.save()
no longer automatically calls full_clean
for draft pages¶
In previous releases, the save()
method on page models called the full_clean
method to apply model-level validation rules, regardless of whether the page was in a draft or live state, unless this was explicitly disabled by passing clean=False
. As of this release, saving a page in a draft state (live=False
) will only perform the minimum validation necessary to ensure data integrity: the title must be non-empty, and the slug must be unique within the parent page. Saving a page with live=True
will apply full validation as before. If you have user code that creates draft pages and requires them to be validated, you must now call full_clean
explicitly.
Upgrade considerations - deprecation of old functionality¶
TAG_LIMIT
and TAG_SPACES_ALLOWED
settings renamed to WAGTAIL_TAG_LIMIT
and WAGTAIL_TAG_SPACES_ALLOWED
¶
The TAG_LIMIT
and TAG_SPACES_ALLOWED
settings have been renamed to WAGTAIL_TAG_LIMIT
and WAGTAIL_TAG_SPACES_ALLOWED
respectively. The old settings will continue to work for now, but will be removed in a future release.