Releases: wagtail/wagtail
Releases · wagtail/wagtail
5.2.3
5.2.2
- Added support for Django 5.0
- Fix: Use a visible border and background color to highlight active formatting in the rich text toolbar (Cassidy Pittman)
- Fix: Ensure image focal point box can be removed (Gunnar Scherf)
- Fix: Ensure that Snippets search results correctly use the
index_results.html
orindex_results_template_name
override on initial load (Stefan Hammer) - Fix: Avoid error when attempting to moderate a page drafted by a now deleted user (Dan Braghis)
- Fix: Ensure workflow dashboard panels work when the page/snippet is missing (Sage Abdullah)
- Fix: Prevent custom controls from stacking on top of the comment button in Draftail toolbar (Ben Morse)
- Fix: Avoid error when exporting Aging Pages report where a page has an empty
last_published_by_user
(Chiemezuo Akujobi)
5.2.1
- Fix: Add a fallback background for the editing preview iframe for sites without a background (Ian Price)
- Fix: Remove search logging from project template so that new projects without the search promotions module will not error (Matt Westcott)
- Fix: Ensure text only email notifications for updated comments do not escape HTML characters (Rohit Sharma)
- Fix: Use logical OR operator to combine search fields for Django ORM in generic IndexView (Varun Kumar)
- Fix: Ensure that explorer_results views fill in the correct next_url parameter on action URLs (Matt Westcott)
- Fix: Fix crash when accessing the history view for a translatable snippet (Sage Abdullah)
- Fix: Prevent upload of SVG images from failing when image feature detection is enabled (Joshua Munn)
- Fix: Fix crash when using the locale switcher on the snippets create view (Sage Abdullah)
- Fix: Fix performance regression on reports from calling
decorate_paginated_queryset
before pagination / filtering (Alex Tomkins) - Fix: Make searching on specific fields work correctly on Elasticsearch when boost is in use (Matt Westcott)
- Fix: Prevent snippet permission post-migrate hook from failing on multiple database configurations (Joe Tsoi)
- Fix: Reinstate ability to filter on page type when searching on an empty query (Sage Abdullah)
- Fix: Prevent error on locked pages report when a user has locked multiple pages (Matt Westcott)
- Docs: Fix code example for
{% picture ... as ... %}
template tag (Rezyapkin)
5.2 (LTS)
- Redesigned page listing view (Ben Enright, Matt Westcott, Thibaud Colas, Sage Abdullah)
- Support OpenSearch as an alternative to Elasticsearch (Matt Westcott)
- Add support for Python 3.12 (Matt Westcott)
- Add preview-aware and page-aware fragment caching template tags,
wagtailcache
&wagtailpagecache
(Jake Howard) - Always set help text element ID for form fields with help text in
field.html
template (Sage Abdullah) - Move
SnippetViewSet
menu registration mechanism to baseViewSet
class (Sage Abdullah) - Enable reference index tracking for models registered with
ModelViewSet
(Sage Abdullah) - When copying a page or creating an alias, copy its view restrictions to the destination (Sandeep Choudhary, Suyash Singh)
- Support pickling of StreamField values (pySilver)
- Move
SnippetViewSet
template override mechanism toModelViewSet
(Sage Abdullah) - Move
SnippetViewSet.list_display
toModelViewSet
(Sage Abdullah) - Remove
wagtail.publish
log action on aliases when they are created from live source pages or the source page is published (Dan Braghis) - Remove
wagtail.unpublish
log action on aliases when source page is unpublished (Dan Braghis) - Add compare buttons to workflow dashboard panel (Matt Westcott)
- Add the ability to use filters and to export listings in generic
IndexView
(Sage Abdullah) - Move
list_filter
,filterset_class
,search_fields
,search_backend_name
,list_export
,export_filename
,list_per_page
, andordering
fromSnippetViewSet
toModelViewSet
(Sage Abdullah, Cynthia Kiser) - Add default header titles to generic
IndexView
andCreateView
(Sage Abdullah) - Allow overriding
IndexView.export_headings
viaModelViewSet
(Christer Jensen, Sage Abdullah) - Support specifying a
get_object_list
method onChooserViewSet
(Matt Westcott) - Add
linked_fields
mechanism on chooser widgets to allow choices to be limited by fields on the calling page (Matt Westcott) - Add support for merging cells within
TableBlock
with themergedCells
option (Gareth Palmer) - When adding a panel within
InlinePanel
, focus will now shift to that content similar toStreamField
(Faishal Manzar) - Show the full first published at date within a tooltip on the Page status sidebar on the relative date (Rohit Sharma)
- Extract generic breadcrumbs functionality from page breadcrumbs (Sage Abdullah)
- Add support for
placement
in thehuman_readable_date
tooltip template tag (Rohit Sharma) - Add breadcrumbs support to custom
ModelViewSet
views (Sage Abdullah) - Support passing extra context variables via the
{% component %}
tag (Matt Westcott) - Allow subclasses of
PagesAPIViewSet
override default Page model via themodel
attribute (Neeraj Yetheendran, Herbert Poul) - Allow
ModelViewSet
to be used with models that have non-integer primary keys (Sage Abdullah) - Add the ability to set an external link/text for promoted search result entries (TopDevPros, Brad Busenius)
- Add support for subject and body in the Email link chooser form (TopDevPros, Alexandre Joly)
- Extract generic
HistoryView
from snippets and add it toModelViewSet
(Sage Abdullah) - Add generic
UsageView
toModelViewSet
(Sage Abdullah) - Add the ability to define listing buttons on generic
IndexView
(Sage Abdullah) - Add a visual progress bar to the output of the
wagtail_update_image_renditions
management command (Faishal Manzar) - Increase the read buffer size to improve efficiency and performance when generating file hashes for document or image uploads, use
hashlib.file_digest
if available (Python 3.11+) (Jake Howard) - API ordering now supports multiple fields (Rohit Sharma, Jake Howard)
- Pass block value to
Block.get_template
to allow varying template based on value (Florian Delizy) - Add
InlinePanel
DOM events for when ready and when items added or removed (Faishal Manzar) - Add a new
picture
template tag for Django Templates and Jinja (Thibaud Colas) - Add a new
srcset_image
template tag for Django Templates and Jinja (Thibaud Colas) - Support
Filter
instances as input forAbstractImage.get_renditions()
(Thibaud Colas) - Improve error messages for image template tags (Thibaud Colas)
- Do not render minimap if there are no panel anchors (Sage Abdullah)
- Use dropdown buttons on listings in dashboard panels (Sage Abdullah)
- Implement breadcrumbs design refinements (Thibaud Colas)
- Support extending Wagtail client-side with Stimulus (LB (Ben) Johnston)
- Update all
FieldPanel('title')
examples to use the recommendedTitleFieldPanel('title')
panel (Chinedu Ihedioha) - The
purge_revisions
management command now respects revisions that have aon_delete=PROTECT
foreign key relation and won't delete them (Neeraj P Yetheendran, Meghana Reddy, Sage Abdullah, Storm Heg) - Add support for Shift + Click behaviour in form submissions and simple translations submissions (LB (Ben) Johnston)
- Improve filtering of audit logging based on the user's permissions (Stefan Hammer)
- Fix: Ensure that StreamField's
FieldBlock
s correctly set therequired
andaria-describedby
attributes (Storm Heg) - Fix: Avoid an error when the moderation panel (admin dashboard) contains both snippets and private pages (Matt Westcott)
- Fix: When deleting collections, ensure the collection name is correctly shown in the success message (LB (Ben) Johnston)
- Fix: Filter out comments on Page editing counts that do not correspond to a valid field / block path on the page such as when a field has been removed (Matt Westcott)
- Fix: Allow
PublishMenuItem
to more easily support overriding its label viaconstruct_page_action_menu
(Sébastien Corbin) - Fix: Allow locale selection when creating a page at the root level (Sage Abdullah)
- Fix: Ensure the admin login template correctly displays all
non_fields_errors
for any custom form validation (Sébastien Corbin) - Fix: Ensure 'mark as active' label in workflow bulk action set active form can be translated (Rohit Sharma)
- Fix: Ensure the panel title for a user's settings correctly reflects the
WAGTAIL_EMAIL_MANAGEMENT_ENABLED
setting by not showing 'email' if disabled (Omkar Jadhav) - Fix: Update Spotify oEmbed provider URL parsing to resolve correctly (Dhrűv)
- Fix: Update link colours within help blocks to meet accessible contrast requirements (Rohit Sharma)
- Fix: Ensure the search promotions popular search terms picker correctly refers to the correct model (LB (Ben) Johnston)
- Fix: Correctly quote non-numeric primary keys on snippet inspect view (Sage Abdullah)
- Fix: Prevent crash on snippet inspect view when displaying a null foreign key to an image (Sage Abdullah)
- Fix: Ensure that pages in moderation show as "Live + In Moderation" in the page explorer rather than "Live + Draft" (Sage Abdullah)
- Fix: Prevent error when updating reference index for objects with a lazy ParentalKey-related object (Chris Shaw)
- Fix: Ignore conflicts when inserting reference index entries to prevent race conditions causing uniqueness errors (Chris Shaw)
- Fix: Populate the correct return value when creating a new snippet within the snippet chooser (claudobahn)
- Fix: Reinstate missing filter by page type on page search (Matt Westcott)
- Fix: Ensure very long words can wrap when viewing saved comments (Chiemezuo Akujobi)
- Fix: Avoid forgotten password link text conflicting with the supplied aria-label (Thibaud Colas)
- Fix: Fix log message to record the correct restriction type when removing a page view restriction (Rohit Sharma, Hazh. M. Adam)
- Fix: Avoid potential race condition with new Page subscriptions on the edit view (Alex Tomkins)
- Fix: Use the correct action log when creating a redirect (Thibaud Colas)
- Fix: Ensure that all password fields consistently allow leading & trailing whitespace (Neeraj P Yetheendran)
- Docs: Expand documentation on using
ViewSet
andModelViewSet
(Sage Abdullah) - Docs: Document
WAGTAILADMIN_BASE_URL
on "Integrating Wagtail into a Django project" page (Shreshth Srivastava) - Docs: Replace incorrect screenshot for authors listing on tutorial (Shreshth Srivastava)
- Docs: Add documentation for building non-model-based choosers using the queryish library (Matt Westcott)
- Docs: Fix incorrect tag library import on focal points example (Hatim Makki Hoho)
- Docs: Add reminder about including your custom Draftail feature in any overridden
WAGTAILADMIN_RICH_TEXT_EDITORS
setting (Charlie Sue) - Docs: Mention the need to install
python3-venv
on Ubuntu (Brian Mugo) - Docs: Document the use of the Google developer documentation style guide in documentation (Damilola Oladele)
- Docs: Fix Inconsistent URL Format in Getting Started tutorial (Olumide Micheal)
- Maintenance: Fix snippet search test to work on non-fallback database backends (Matt Westcott)
- Maintenance: Update Eslint, Prettier, Jest, a11y-dialog, axe-core and js-cookie npm packages (LB (Ben) Johnston)
- Maintenance: Add npm scripts for TypeScript checks and formatting SCSS files (LB (Ben) Johnston)
- Maintenance: Run tests in parallel in some of the CI setup (Sage Abdullah)
- Maintenance: Remove unused WorkflowStatus view, urlpattern, and workflow-status.js (Storm Heg)
- Maintenance: Add support for options/attrs in Telepath widgets so that attrs render on the created DOM (Storm Heg)
- Maintenance: Update pre-commit hooks to be in sync with latest changes to Eslint & Prettier for client-side changes (Storm Heg)
- Maintenance: Add
WagtailTestUtils.get_soup()
method for testing HTML content (Storm Heg, Sage Abdullah) - Maintenance: Allow
ViewSet
subclasses to customiseurl_prefix
andurl_namespace
logic (Matt Westcott) - Maintenance: Simplify
SnippetViewSet
registration code (Sage Abdullah) - Maintenance: Rename groups `IndexView.results_template_na...
5.1.3
- Fix: CVE-2023-45809: Disclosure of user names via admin bulk action views (Matt Westcott)
- Fix: Fix
SnippetBulkAction
not respectingmodels
definition (Sandro Rodrigues) - Fix: Correctly quote non-numeric primary keys on snippet inspect view (Sage Abdullah)
- Fix: Prevent crash on snippet inspect view when displaying a null foreign key to an image (Sage Abdullah)
- Fix: Populate the correct return value when creating a new snippet within the snippet chooser (claudobahn)
- Fix: Reinstate missing filter by page type on page search (Matt Westcott)
- Fix: Use the correct action log when creating a redirect (Thibaud Colas)
5.0.5
- Fix: CVE-2023-45809: Disclosure of user names via admin bulk action views (Matt Westcott)
5.2rc1
- Redesigned page listing view (Ben Enright, Matt Westcott, Thibaud Colas, Sage Abdullah)
- Support OpenSearch as an alternative to Elasticsearch (Matt Westcott)
- Add support for Python 3.12 (Matt Westcott)
- Add preview-aware and page-aware fragment caching template tags,
wagtailcache
&wagtailpagecache
(Jake Howard) - Always set help text element ID for form fields with help text in
field.html
template (Sage Abdullah) - Move
SnippetViewSet
menu registration mechanism to baseViewSet
class (Sage Abdullah) - Enable reference index tracking for models registered with
ModelViewSet
(Sage Abdullah) - When copying a page or creating an alias, copy its view restrictions to the destination (Sandeep Choudhary, Suyash Singh)
- Support pickling of StreamField values (pySilver)
- Move
SnippetViewSet
template override mechanism toModelViewSet
(Sage Abdullah) - Move
SnippetViewSet.list_display
toModelViewSet
(Sage Abdullah) - Remove
wagtail.publish
log action on aliases when they are created from live source pages or the source page is published (Dan Braghis) - Remove
wagtail.unpublish
log action on aliases when source page is unpublished (Dan Braghis) - Add compare buttons to workflow dashboard panel (Matt Westcott)
- Add the ability to use filters and to export listings in generic
IndexView
(Sage Abdullah) - Move
list_filter
,filterset_class
,search_fields
,search_backend_name
,list_export
,export_filename
,list_per_page
, andordering
fromSnippetViewSet
toModelViewSet
(Sage Abdullah) - Add default header titles to generic
IndexView
andCreateView
(Sage Abdullah) - Allow overriding
IndexView.export_headings
viaModelViewSet
(Christer Jensen, Sage Abdullah) - Support specifying a
get_object_list
method onChooserViewSet
(Matt Westcott) - Add
linked_fields
mechanism on chooser widgets to allow choices to be limited by fields on the calling page (Matt Westcott) - Add support for merging cells within
TableBlock
with themergedCells
option (Gareth Palmer) - When adding a panel within
InlinePanel
, focus will now shift to that content similar toStreamField
(Faishal Manzar) - Show the full first published at date within a tooltip on the Page status sidebar on the relative date (Rohit Sharma)
- Extract generic breadcrumbs functionality from page breadcrumbs (Sage Abdullah)
- Add support for
placement
in thehuman_readable_date
tooltip template tag (Rohit Sharma) - Add breadcrumbs support to custom
ModelViewSet
views (Sage Abdullah) - Support passing extra context variables via the
{% component %}
tag (Matt Westcott) - Allow subclasses of
PagesAPIViewSet
override default Page model via themodel
attribute (Neeraj Yetheendran, Herbert Poul) - Allow
ModelViewSet
to be used with models that have non-integer primary keys (Sage Abdullah) - Add the ability to set an external link/text for promoted search result entries (TopDevPros, Brad Busenius)
- Add support for subject and body in the Email link chooser form (TopDevPros, Alexandre Joly)
- Extract generic
HistoryView
from snippets and add it toModelViewSet
(Sage Abdullah) - Add generic
UsageView
toModelViewSet
(Sage Abdullah) - Add the ability to define listing buttons on generic
IndexView
(Sage Abdullah) - Add a visual progress bar to the output of the
wagtail_update_image_renditions
management command (Faishal Manzar) - Increase the read buffer size to improve efficiency and performance when generating file hashes for document or image uploads, use
hashlib.file_digest
if available (Python 3.11+) (Jake Howard) - API ordering now supports multiple fields (Rohit Sharma, Jake Howard)
- Pass block value to
Block.get_template
to allow varying template based on value (Florian Delizy) - Add
InlinePanel
DOM events for when ready and when items added or removed (Faishal Manzar) - Add a new
picture
template tag for Django Templates and Jinja (Thibaud Colas) - Add a new
srcset_image
template tag for Django Templates and Jinja (Thibaud Colas) - Support
Filter
instances as input forAbstractImage.get_renditions()
(Thibaud Colas) - Improve error messages for image template tags (Thibaud Colas)
- Do not render minimap if there are no panel anchors (Sage Abdullah)
- Use dropdown buttons on listings in dashboard panels (Sage Abdullah)
- Implement breadcrumbs design refinements (Thibaud Colas)
- Support extending Wagtail client-side with Stimulus (LB (Ben) Johnston)
- Update all
FieldPanel('title')
examples to use the recommendedTitleFieldPanel('title')
panel (Chinedu Ihedioha) - The
purge_revisions
management command now respects revisions that have aon_delete=PROTECT
foreign key relation and won't delete them (Neeraj P Yetheendran, Meghana Reddy, Sage Abdullah, Storm Heg) - Add support for Shift + Click behaviour in form submissions and simple tranlations submissions (LB (Ben) Johnston)
- Improve filtering of audit logging based on the user's permissions (Stefan Hammer)
- Fix: Ensure that StreamField's
FieldBlock
s correctly set therequired
andaria-describedby
attributes (Storm Heg) - Fix: Avoid an error when the moderation panel (admin dashboard) contains both snippets and private pages (Matt Westcott)
- Fix: When deleting collections, ensure the collection name is correctly shown in the success message (LB (Ben) Johnston)
- Fix: Filter out comments on Page editing counts that do not correspond to a valid field / block path on the page such as when a field has been removed (Matt Westcott)
- Fix: Allow
PublishMenuItem
to more easily support overriding its label viaconstruct_page_action_menu
(Sébastien Corbin) - Fix: Allow locale selection when creating a page at the root level (Sage Abdullah)
- Fix: Ensure the admin login template correctly displays all
non_fields_errors
for any custom form validation (Sébastien Corbin) - Fix: Ensure 'mark as active' label in workflow bulk action set active form can be translated (Rohit Sharma)
- Fix: Ensure the panel title for a user's settings correctly reflects the
WAGTAIL_EMAIL_MANAGEMENT_ENABLED
setting by not showing 'email' if disabled (Omkar Jadhav) - Fix: Update Spotify oEmbed provider URL parsing to resolve correctly (Dhrűv)
- Fix: Update link colours within help blocks to meet accessible contrast requirements (Rohit Sharma)
- Fix: Ensure the search promotions popular search terms picker correctly refers to the correct model (LB (Ben) Johnston)
- Fix: Correctly quote non-numeric primary keys on snippet inspect view (Sage Abdullah)
- Fix: Prevent crash on snippet inspect view when displaying a null foreign key to an image (Sage Abdullah)
- Fix: Ensure that pages in moderation show as "Live + In Moderation" in the page explorer rather than "Live + Draft" (Sage Abdullah)
- Fix: Prevent error when updating reference index for objects with a lazy ParentalKey-related object (Chris Shaw)
- Fix: Ignore conflicts when inserting reference index entries to prevent race conditions causing uniqueness errors (Chris Shaw)
- Fix: Populate the correct return value when creating a new snippet within the snippet chooser (claudobahn)
- Fix: Reinstate missing filter by page type on page search (Matt Westcott)
- Fix: Ensure very long words can wrap when viewing saved comments (Chiemezuo Akujobi)
- Fix: Avoid forgotten password link text conflicting with the supplied aria-label (Thibaud Colas)
- Fix: Fix log message to record the correct restriction type when removing a page view restriction (Rohit Sharma, Hazh. M. Adam)
- Fix: Avoid potential race condition with new Page subscriptions on the edit view (Alex Tomkins)
- Fix: Use the correct action log when creating a redirect (Thibaud Colas)
- Fix: Ensure that all password fields consistently allow leading & trailing whitespace (Neeraj P Yetheendran)
- Docs: Document
WAGTAILADMIN_BASE_URL
on "Integrating Wagtail into a Django project" page (Shreshth Srivastava) - Docs: Replace incorrect screenshot for authors listing on tutorial (Shreshth Srivastava)
- Docs: Add documentation for building non-model-based choosers using the queryish library (Matt Westcott)
- Docs: Fix incorrect tag library import on focal points example (Hatim Makki Hoho)
- Docs: Add reminder about including your custom Draftail feature in any overridden
WAGTAILADMIN_RICH_TEXT_EDITORS
setting (Charlie Sue) - Docs: Mention the need to install
python3-venv
on Ubuntu (Brian Mugo) - Docs: Document the use of the Google developer documentation style guide in documentation (Damilola Oladele)
- Docs: Fix Inconsistent URL Format in Getting Started tutorial (Olumide Micheal)
- Maintenance: Fix snippet search test to work on non-fallback database backends (Matt Westcott)
- Maintenance: Update Eslint, Prettier, Jest, a11y-dialog, axe-core and js-cookie npm packages (LB (Ben) Johnston)
- Maintenance: Add npm scripts for TypeScript checks and formatting SCSS files (LB (Ben) Johnston)
- Maintenance: Run tests in parallel in some of the CI setup (Sage Abdullah)
- Maintenance: Remove unused WorkflowStatus view, urlpattern, and workflow-status.js (Storm Heg)
- Maintenance: Add support for options/attrs in Telepath widgets so that attrs render on the created DOM (Storm Heg)
- Maintenance: Update pre-commit hooks to be in sync with latest changes to Eslint & Prettier for client-side changes (Storm Heg)
- Maintenance: Add
WagtailTestUtils.get_soup()
method for testing HTML content (Storm Heg, Sage Abdullah) - Maintenance: Allow
ViewSet
subclasses to customiseurl_prefix
andurl_namespace
logic (Matt Westcott) - Maintenance: Simplify
SnippetViewSet
registration code (Sage Abdullah) - Maintenance: Rename groups
IndexView.results_template_name
toresults.html
(Sage Abdullah) - Maintenance: Migrate form submission listing checkbox toggl...
4.1.9
- Fix: CVE-2023-45809: Disclosure of user names via admin bulk action views (Matt Westcott)