- Removed support for Python 3.8 (Matt Westcott)
- Added support for Python 3.14 (Sage Abdullah)
- Add usage count filter to the admin image and document listings (Joel William)
- Add keyboard shortcut (
?) to activate the keyboard shortcuts dialog (Dhruvi Patel) - Add keyboard shortcut (
/) to activate and focus on the search input in the sidebar (Dhruvi Patel) - Allow deep contentpath for comments on fields other than StreamField (Lasse Schmieding, Sébastien Corbin, Joel William, Sage Abdullah)
- Reorganize keyboard shortcuts into better categories with an ordering from most common to most specific (Dhruvi Patel)
- Add
max_valueof 100 (%) for theclosenessfield in Image URL Generator form (LB (Ben) Johnston) - Add reordering support to generic model and snippet listing views (Joey Jurjens, Sage Abdullah)
- Add messaging within the keyboard shortcuts dialog to indicate when keyboard shortcuts are disabled or how to disable them via user preferences (Pravin Kamble)
- Allow defining a custom
WorkflowLocksubclass viaTask.lock_classin a custom task (Dan Braghis) - Add new toggle from grid to list layout for image choosers (Joel William)
- Update grid-list layout toggle to new design (Joel William)
- Add readability score metric to content checks (Thibaud Colas)
- Add explainer panel for content metrics (Thibaud Colas)
- Add a button to jump to the first validation error in header messages (Srishti Jaiswal, LB (Ben) Johnston)
- Support calculating content metrics without opening the preview panel (Sage Abdullah)
- Update project template settings to use pathlib Path object (Eric Matthes)
- Migrate to django-modelsearch library, providing Elasticsearch 9 and OpenSearch backends (Karl Hobley, Matt Westcott)
- Fix: Use the correct method of resolving the file storage dynamically for FileField usage in images & documents (Amir Mahmoodi)
- Fix: Ensure the add comment keyboard shortcut is disabled when keyboard shortcuts are disabled in user preferences (Dhruvi Patel)
- Fix: Use model name when ordering by page type in page listings (Sage Abdullah)
- Fix: Prevent error from default
update_fieldsparameter onPage.asave()(Tosinibikunle) - Fix: Ignore hidden error messages in minimap &
CountControllerdefaultfindValue(Sage Abdullah) - Fix: Change default ordering for
UserViewSettoUser.USERNAME_FIELDto support default ordering ordering with custom User models that may not have anamefield (Lynwee) - Fix: Ensure starter tests in the project template pass (Lasse Schmieding)
- Fix: Ensure fixed RichText toolbar shows under footer actions (Maciek Baron)
- Fix: Prevent error when iterating over specific tasks with missing models (Lasse Schmieding)
- Fix: Ensure
TableBlockheader dropdown default option can be translated (arpitmak) - Fix: Fix missing cache key prefix when removing cached redirect files (Heric Libong)
- Docs: Fix cross-reference links to the TypeDoc-generated docs (Sage Abdullah)
- Docs: Refine readthedocs' search indexing for releases and client-side code (Sage Abdullah)
- Docs: Fix incorrect link to third party site in advanced topics (Yousef Al-Hadhrami (Yemeni))
- Docs: Fix incorrect import references and update steps for clarity in getting started tutorial (Hunzlah Malik, Pravin Kamble)
- Docs: Fix code example for
construct_wagtail_userbar(Baptiste Mispelon) - Docs: Add a note about CSP for background image position and responsive embed styles (Thibaud Colas, Chiemezuo Akujobi, Sage Abdullah)
- Docs: Add guidance for AI-led contributions to contributor docs (Andrew Selzer)
- Docs: Add guidance for AI agents via
AGENTS.md(Andrew Selzer) - Docs: Add Windows command examples for contributing setup (Shivam Kumar)
- Docs: Add recent third party tutorials from 2025 (LB (Ben) Johnston)
- Maintenance: Test against Python 3.14 prerelease (Sage Abdullah)
- Maintenance: Updated NPM packages and linting configuration (LB (Ben) Johnston)
- Maintenance: Added linting script to keep package.json and pre-commit package versions in sync (LB (Ben) Johnston)
- Maintenance: Migrate privacy switch modal field hiding to the Stimulus
RulesController(LB (Ben) Johnston) - Maintenance: Add semgrep rules for inline styles and scripts (Chiemezuo Akujobi, Sage Abdullah)
- Maintenance: Fix intermittent test failures caused by nondeterministic order in TestFilteredModelChoiceField (Sage Abdullah)
- Maintenance: Add support for
attrsinformattedfieldtag & clean up other usages of theattrstemplate include (LB (Ben) Johnston) - Maintenance: Allow exempting external templates from number formatting checks (Sage Abdullah)
- Maintenance: Migrate file title generation to SyncController for CSP compliance (Aayushman Singh, Chiemezuo Akujobi, LB (Ben) Johnston, Sage Abdullah)
- Maintenance: Remove outdated pytest configuration (Shivam Kumar)
- Maintenance: Avoid mutable default argument in
ImageNodewithin image template tags (minusf) - Maintenance: Use consistent sentence format for user-facing errors (LB (Ben) Johnson)
- Maintenance: Update django-tasks dependency to allow 0.9, for preliminary Django 6.0 support (Sage Abdullah)
- Maintenance: Fix linting issues B009, B010, B033 (minusf)