A Django content management system focused on flexibility and user experience
BSD-3-CLAUSE License
Bot releases are hidden (Show)
HOSTNAMES
parameter on WAGTAILFRONTENDCACHE
to define which hostnames a backend should respond to (Jake Howard, sponsored by Oxfam America)EditView
and breadcrumbs (Rohit Sharma)ChooseParentView
if only one possible valid parent page is available (Matthias Brück)copy_for_translation_done
signal when a page is copied for translation (Arnar Tumi Þorsteinsson)deactivate()
method to ProgressController
(Alex Morega)ModelViewSet
(Sage Abdullah)routable_resolver_match
attribute available on RoutablePageMixin responses (Andy Chosak)UserViewSet
via the app config (Sage Abdullah)StreamBlock
/ ListBlock
min_num
/ max_num
(Matt Westcott)WAGTAILIMAGES_CHOOSER_PAGE_SIZE
setting functional again (Rohit Sharma)richtext
template tag to convert lazy translation values (Benjamin Bach).ico
images (Julie Rymer)verbose_name
on TranslatableMixin.locale
so that it is translated when used as a label (Romein van Buren)wagtail_serve
view is on a non-root path (Sage Abdullah)for_instance
method to PageLogEntryManager
(Matt Westcott)WAGTAIL_DATE_FORMAT
, WAGTAIL_DATETIME_FORMAT
and WAGTAIL_TIME_FORMAT
take FORMAT_MODULE_PATH
into account (Sébastien Corbin)restriction_type
field on PageViewRestriction (Shlomo Markowitz)Orderable
is not required for inline panels (Bojan Mihelac)prefers-reduced-motion
to the accessibility documentation (Roel Koper)vary_fields
property for custom image filters (Daniel Kirkham)DjangoJSONEncoder
instead of custom LazyStringEncoder
to serialize Draftail config (Sage Abdullah)WAGTAILIMAGES_CHOOSER_PAGE_SIZE
at runtime (Matt Westcott)client/scss
directory in Tailwind content config to speed up CSS compilation (Sage Abdullah)contrib.frontend_cache.backends
into dedicated sub-modules (Andy Babic)docs/autobuild.sh
script (Sævar Öfjörð Magnússon)urlparse
with urlsplit
to improve performance (Jake Howard)'BlockWidget' object has no attribute '_block_json'
from masking errors during StreamField serialization (Matt Westcott)Published by gasman 3 months ago
HOSTNAMES
parameter on WAGTAILFRONTENDCACHE
to define which hostnames a backend should respond to (Jake Howard, sponsored by Oxfam America)EditView
and breadcrumbs (Rohit Sharma)ChooseParentView
if only one possible valid parent page availale (Matthias Brück)copy_for_translation_done
signal when a page is copied for translation (Arnar Tumi Þorsteinsson)deactivate()
method to ProgressController
(Alex Morega)ModelViewSet
(Sage Abdullah)routable_resolver_match
attribute available on RoutablePageMixin responses (Andy Chosak)UserViewSet
via the app config (Sage Abdullah)StreamBlock
/ ListBlock
min_num
/ max_num
(Matt Westcott)WAGTAILIMAGES_CHOOSER_PAGE_SIZE
setting functional again (Rohit Sharma)richtext
template tag to convert lazy translation values (Benjamin Bach).ico
images (Julie Rymer)verbose_name
on TranslatableMixin.locale
so that it is translated when used as a label (Romein van Buren)wagtail_serve
view is on a non-root path (Sage Abdullah)for_instance
method to PageLogEntryManager
(Matt Westcott)WAGTAIL_DATE_FORMAT
, WAGTAIL_DATETIME_FORMAT
and WAGTAIL_TIME_FORMAT
take FORMAT_MODULE_PATH
into account (Sébastien Corbin)restriction_type
field on PageViewRestriction (Shlomo Markowitz)Orderable
is not required for inline panels (Bojan Mihelac)prefers-reduced-motion
to the accessibility documentation (Roel Koper)vary_fields
property for custom image filters (Daniel Kirkham)DjangoJSONEncoder
instead of custom LazyStringEncoder
to serialize Draftail config (Sage Abdullah)WAGTAILIMAGES_CHOOSER_PAGE_SIZE
at runtime (Matt Westcott)client/scss
directory in Tailwind content config to speed up CSS compilation (Sage Abdullah)contrib.frontend_cache.backends
into dedicated sub-modules (Andy Babic)docs/autobuild.sh
script (Sævar Öfjörð Magnússon)urlparse
with urlsplit
to improve performance (Jake Howard)Published by gasman 3 months ago
.ico
images (Julie Rymer)Published by gasman 3 months ago
Published by gasman 3 months ago
Published by laymonage 5 months ago
wagtail.contrib.settings
(Victor Miti, Matt Westcott, Jake Howard)Published by laymonage 5 months ago
ChoiceBlock
(Matt Westcott)wagtail.contrib.settings
(Victor Miti, Matt Westcott, Jake Howard)Published by gasman 5 months ago
Published by gasman 5 months ago
Published by gasman 6 months ago
WAGTAIL_DATE_FORMAT
, WAGTAIL_DATETIME_FORMAT
, WAGTAIL_TIME_FORMAT
are correctly configured (Rohit Sharma, Coen van der Kamp)IndexView
using the generic.IndexView
(Rohit Sharma, Sage Abdullah, Storm Heg)IndexView
using the generic.IndexView
(Rohit Sharma, Sage Abdullah, Temidayo Azeez)PageListingViewSet
for custom per-page-type page listings (Matt Westcott)ChooseParentView
to PageListingViewSet
to allow creating pages from custom page listings (Abdelrahman Hamada, Sage Abdullah)djangorestframework
to 3.15.1 (Sage Abdullah)IndexView.list_display
(Abdelrahman Hamada)STORAGES
alias name for WAGTAILIMAGES_RENDITION_STORAGE
(Alec Baron)PASSWORD_REQUIRED_TEMPLATE
setting to WAGTAIL_PASSWORD_REQUIRED_TEMPLATE
with deprecation of previous naming (Saksham Misra, LB (Ben) Johnston)DOCUMENT_PASSWORD_REQUIRED_TEMPLATE
setting to WAGTAILDOCS_PASSWORD_REQUIRED_TEMPLATE
with deprecation of previous naming (Saksham Misra, LB (Ben) Johnston)get_parent
(Nigel van Keulen)wagtail.contrib.settings
or ModelViewSet
(Ben Morse, Joshua Munn, Jake Howard, Sage Abdullah)__str__
for MySQL search index (Jake Howard)date
objects on human_readable_date
template tag (Jhonatan Lopes)verbose_name
in group edit view when listing custom permissions (Sage Abdullah, Neeraj Yetheendran, Omkar Jadhav)make livehtml
(Sage Abdullah)LANGUAGE_CODE
(Mark Niehues)UnsavedController
checks for nested removal/additions of inputs so that the unsaved warning shows in more valid cases when editing a page (Karthik Ayangar)get_add_url()
is always used to re-render the add button when the listing is refreshed in viewsets (Sage Abdullah)objects
manager (Jhonatan Lopes)get_dummy_request
's resulting host name when running tests with ALLOWED_HOSTS = ["*"]
(David Buxton)timesince_last_update
template tag (Matt Westcott)w-kbd-scope-value
with support for global
so that specific keyboard shortcuts (e.g. ctrl+s/cmd+s) trigger consistently even when focused on fields (Neeraj Yetheendran)WAGTAIL_ALLOW_UNICODE_SLUGS
setting when auto-generating slugs (LB (Ben) Johnston)convert_mariadb_uuids
management command to assist with upgrading to Django 5.0+ on MariaDB (Matt Westcott)--purge-only
in wagtail_update_image_renditions
management command section (Pranith Beeram)6.3.0
with a fix for the missing favicon (Sage Abdullah)wagtail_update_image_renditions
management command on the using images page (LB (Ben) Johnston)html.parser
(Jake Howard)html.parser
& remove html5lib
dependency (Jake Howard)Button
that only renders links (a element) to Link
and remove unused prop & behavior that was non-compliant for aria role usage (Advik Kabra)wagtail.models.AbstractWorkflow
model to support future customizations around workflows (Hossein)classnames
template tag to handle nested lists of strings, use template tag for admin body
element (LB (Ben) Johnston)UploadedDocument
and UploadedImage
into new UploadedFile
model for easier shared code usage (Advik Kabra, Karl Hobley)window.chooserUrls
globals, removing the need for inline scripts (Elhussein Almasri)w-init
(InitController) to support a detail
value to be dispatched on events (Chiemezuo Akujobi)page_breadcrumbs
tag to use shared breadcrumbs.html
template (Sage Abdullah)keyboard
icon to admin icon set (Rohit Sharma)SwapController
(LB (Ben) Johnston)w-block
/BlockController
) to instantiate StreamField
blocks (Karthik Ayangar)w-kbd
/KeyboardController
) (Neeraj Yetheendran)xregexp
(IE11 polyfill) along with window.XRegExp
global util (LB (Ben) Johnston)urlify
to use TypeScript, officially deprecate window.URLify
global util (LB (Ben) Johnston)Published by gasman 6 months ago
wagtail.contrib.settings
or ModelViewSet
(Ben Morse, Joshua Munn, Jake Howard, Sage Abdullah)WAGTAIL_ALLOW_UNICODE_SLUGS
setting when auto-generating slugs (LB (Ben) Johnston)convert_mariadb_uuids
management command to assist with upgrading to Django 5.0+ on MariaDB (Matt Westcott)Published by gasman 6 months ago
WAGTAIL_ALLOW_UNICODE_SLUGS
setting when auto-generating slugs (LB (Ben) Johnston)convert_mariadb_uuids
management command to assist with upgrading to Django 5.0+ on MariaDB (Matt Westcott)Published by gasman 6 months ago
Updates from 6.1rc1:
Published by gasman 6 months ago
WAGTAIL_DATE_FORMAT
, WAGTAIL_DATETIME_FORMAT
, WAGTAIL_TIME_FORMAT
are correctly configured (Rohit Sharma, Coen van der Kamp)IndexView
using the generic.IndexView
(Rohit Sharma, Sage Abdullah, Storm Heg)IndexView
using the generic.IndexView
(Rohit Sharma, Sage Abdullah, Temidayo Azeez)PageListingViewSet
for custom per-page-type page listings (Matt Westcott)ChooseParentView
to PageListingViewSet
to allow creating pages from custom page listings (Abdelrahman Hamada, Sage Abdullah)djangorestframework
to 3.15.1 (Sage Abdullah)IndexView.list_display
(Abdelrahman Hamada)STORAGES
alias name for WAGTAILIMAGES_RENDITION_STORAGE
(Alec Baron)PASSWORD_REQUIRED_TEMPLATE
setting to WAGTAIL_PASSWORD_REQUIRED_TEMPLATE
with deprecation of previous naming (Saksham Misra, LB (Ben) Johnston)DOCUMENT_PASSWORD_REQUIRED_TEMPLATE
setting to WAGTAILDOCS_PASSWORD_REQUIRED_TEMPLATE
with deprecation of previous naming (Saksham Misra, LB (Ben) Johnston)get_parent
(Nigel van Keulen)__str__
for MySQL search index (Jake Howard)date
objects on human_readable_date
template tag (Jhonatan Lopes)verbose_name
in group edit view when listing custom permissions (Sage Abdullah, Neeraj Yetheendran, Omkar Jadhav)make livehtml
(Sage Abdullah)LANGUAGE_CODE
(Mark Niehues)UnsavedController
checks for nested removal/additions of inputs so that the unsaved warning shows in more valid cases when editing a page (Karthik Ayangar)get_add_url()
is always used to re-render the add button when the listing is refreshed in viewsets (Sage Abdullah)objects
manager (Jhonatan Lopes)get_dummy_request
's resulting host name when running tests with ALLOWED_HOSTS = ["*"]
(David Buxton)timesince_last_update
template tag (Matt Westcott)w-kbd-scope-value
with support for global
so that specific keyboard shortcuts (e.g. ctrl+s/cmd+s) trigger consistently even when focused on fields (Neeraj Yetheendran)WAGTAIL_ALLOW_UNICODE_SLUGS
setting when auto-generating slugs (LB (Ben) Johnston)--purge-only
in wagtail_update_image_renditions
management command section (Pranith Beeram)6.3.0
with a fix for the missing favicon (Sage Abdullah)wagtail_update_image_renditions
management command on the using images page (LB (Ben) Johnston)html.parser
(Jake Howard)html.parser
& remove html5lib
dependency (Jake Howard)Button
that only renders links (a element) to Link
and remove unused prop & behavior that was non-compliant for aria role usage (Advik Kabra)wagtail.models.AbstractWorkflow
model to support future customizations around workflows (Hossein)classnames
template tag to handle nested lists of strings, use template tag for admin body
element (LB (Ben) Johnston)UploadedDocument
and UploadedImage
into new UploadedFile
model for easier shared code usage (Advik Kabra, Karl Hobley)window.chooserUrls
globals, removing the need for inline scripts (Elhussein Almasri)w-init
(InitController) to support a detail
value to be dispatched on events (Chiemezuo Akujobi)page_breadcrumbs
tag to use shared breadcrumbs.html
template (Sage Abdullah)keyboard
icon to admin icon set (Rohit Sharma)SwapController
(LB (Ben) Johnston)w-block
/BlockController
) to instantiate StreamField
blocks (Karthik Ayangar)w-kbd
/KeyboardController
) (Neeraj Yetheendran)xregexp
(IE11 polyfill) along with window.XRegExp
global util (LB (Ben) Johnston)urlify
to use TypeScript, officially deprecate window.URLify
global util (LB (Ben) Johnston)Published by gasman 7 months ago
make livehtml
(Sage Abdullah)get_add_url()
is always used to re-render the add button when the listing is refreshed in viewsets (Sage Abdullah)modal-workflow.js
script usage to base admin template instead of ad-hoc imports so that choosers work in ModelViewSet
s (Elhussein Almasri)InlinePanel
is included by default in ModelViewSet
's create and edit views (Sage Abdullah)extra_footer_actions
block in page create/edit templates (LB (Ben) Johnston, Sage Abdullah)6.3.0
with a fix for the missing favicon (Sage Abdullah)Published by gasman 7 months ago
Published by gasman 8 months ago
BooleanRadioSelect
uses the same styles as RadioSelect
(Thibaud Colas)collectstatic
when ManifestStaticFilesStorage
is in use (Matt Westcott)Published by gasman 8 months ago
🎉 Special 10th anniversary release! 🎉
search_index
option to StreamField blocks to control whether the block is indexed for searching (Vedant Pandey)UniqueConstraint
in place of unique_together
for TranslatableMixin
's system check (Temidayo Azeez, Sage Abdullah)IndexView.get_add_url()
in snippets index view template (Christer Jensen, Sage Abdullah)Page.permissions_for_user()
to be overridden by specific page types (Sébastien Corbin)extra_actions
blocks to Snippets and generic index templates (Bhuvnesh Sharma)panels
/ edit_handler
on ModelViewSet
(Sage Abdullah)PagePermissionPolicy
in wagtail.permissions
module (Sage Abdullah)max_length
(Elhussein Almasri)TypedTableBlock
(Tommaso Amici, Cynthia Kiser)TableBlock
header controls to a field that requires user input (Bhuvnesh Sharma, Aman Pandey, Cynthia Kiser)WAGTAILADMIN_LOGIN_URL
setting to allow customising the login URL (Neeraj Yetheendran)DrilldownController
and w-drilldown
component to support drilldown menus (Thibaud Colas)caption
on admin UI Table component (Aman Pandey)SnippetViewSet
& ModelViewSet
to support being copied (Shlomo Markowitz)STORAGES
setting introduced in Django 4.2 (phijma-leukeleu)index_results.html
or index_results_template_name
override on initial load (Stefan Hammer)last_published_by_user
(Chiemezuo Akujobi)alias
and specific
(Tomasz Knapik)ActionController
explicitly checks for elements that allow select functionality (Nandini Arora)FormSubmissionsPanel
on Django 5.0 when creating a new form page (Matt Westcott)MultipleChooserPanel
modal works correctly when USE_THOUSAND_SEPARATOR
is True
for pages with ids over 1,000 (Sankalp, Rohit Sharma)th
) for visual spacing, ensure this is ignored by accessibility tooling (V Rohitansh)SiteSetting.DoesNotExist
error when retrieving settings for an unrecognised site (Nick Smith)exclude_fields_in_copy
are correctly excluded in new copies, resolving to the default value (Elhussein Almasri)default_ordering
set on IndexView is preserved if ModelViewSet does not specify an explicit ordering (Cynthia Kiser)_()
within templates (Chiemezuo Akujobi)Page
model reference get_children
documentation (Salvo Polizzi)get_upload_to
methods (Osaf AliSayed, Dharmik Gangani)body.ready
) from multiple JavaScript implementations to one Stimulus controller w-init
(Chiemezuo Akujobi)arg=_('...')
in all wagtailadmin
module templates (Chiemezuo Akujobi)ruff
and replace black
with ruff format
(John-Scott Atlakson)laces
library (Tibor Leupold){% formattedfield %}
tag to replace direct use of wagtailadmin/shared/field.html
(Matt Westcott)ActionController
to have a noop
method to more easily leverage standalone Stimulus action options (Nandini Arora)skipLibCheck
for TypeScript (LB (Ben) Johnston)CloneController
to auto clear the added content after a set duration (LB (Ben) Johnston)BaseListingView
(Matt Westcott)c-
, o-
, u-
, t-
, is-
prefixes (Thibaud Colas)initTooltips
in favour of Stimulus controller (LB (Ben) Johnston)InitController
to allow for custom event dispatching when ready (Aditya, LB (Ben) Johnston)UnsavedController
(Sai Srikar Dumpeti, LB (Ben) Johnston)OrderableController
with a more accessible solution (Aman Pandey, LB (Ben) Johnston)FileResponse
when serving files such as Images or Documents (Jake Howard)WidgetWithScript
base widget class (LB (Ben) Johnston)Published by gasman 9 months ago
search_index
option to StreamField blocks to control whether the block is indexed for searching (Vedant Pandey)UniqueConstraint
in place of unique_together
for TranslatableMixin
's system check (Temidayo Azeez, Sage Abdullah)IndexView.get_add_url()
in snippets index view template (Christer Jensen, Sage Abdullah)Page.permissions_for_user()
to be overridden by specific page types (Sébastien Corbin)extra_actions
blocks to Snippets and generic index templates (Bhuvnesh Sharma)panels
/ edit_handler
on ModelViewSet
(Sage Abdullah)PagePermissionPolicy
in wagtail.permissions
module (Sage Abdullah)max_length
(Elhussein Almasri)TypedTableBlock
(Tommaso Amici, Cynthia Kiser)TableBlock
header controls to a field that requires user input (Bhuvnesh Sharma, Aman Pandey, Cynthia Kiser)WAGTAILADMIN_LOGIN_URL
setting to allow customising the login URL (Neeraj Yetheendran)DrilldownController
and w-drilldown
component to support drilldown menus (Thibaud Colas)caption
on admin UI Table component (Aman Pandey)SnippetViewSet
& ModelViewSet
to support being copied (Shlomo Markowitz)STORAGES
setting introduced in Django 4.2 (phijma-leukeleu)index_results.html
or index_results_template_name
override on initial load (Stefan Hammer)last_published_by_user
(Chiemezuo Akujobi)alias
and specific
(Tomasz Knapik)ActionController
explicitly checks for elements that allow select functionality (Nandini Arora)FormSubmissionsPanel
on Django 5.0 when creating a new form page (Matt Westcott)MultipleChooserPanel
modal works correctly when USE_THOUSAND_SEPARATOR
is True
for pages with ids over 1,000 (Sankalp, Rohit Sharma)th
) for visual spacing, ensure this is ignored by accessibility tooling (V Rohitansh)SiteSetting.DoesNotExist
error when retrieving settings for an unrecognised site (Nick Smith)exclude_fields_in_copy
are correctly excluded in new copies, resolving to the default value (Elhussein Almasri)default_ordering
set on IndexView is preserved if ModelViewSet does not specify an explicit ordering (Cynthia Kiser)_()
within templates (Chiemezuo Akujobi)Page
model reference get_children
documentation (Salvo Polizzi)body.ready
) from multiple JavaScript implementations to one Stimulus controller w-init
(Chiemezuo Akujobi)arg=_('...')
in all wagtailadmin
module templates (Chiemezuo Akujobi)ruff
and replace black
with ruff format
(John-Scott Atlakson)laces
library (Tibor Leupold){% formattedfield %}
tag to replace direct use of wagtailadmin/shared/field.html
(Matt Westcott)ActionController
to have a noop
method to more easily leverage standalone Stimulus action options (Nandini Arora)skipLibCheck
for TypeScript (LB (Ben) Johnston)CloneController
to auto clear the added content after a set duration (LB (Ben) Johnston)BaseListingView
(Matt Westcott)c-
, o-
, u-
, t-
, is-
prefixes (Thibaud Colas)initTooltips
in favour of Stimulus controller (LB (Ben) Johnston)InitController
to allow for custom event dispatching when ready (Aditya, LB (Ben) Johnston)UnsavedController
(Sai Srikar Dumpeti, LB (Ben) Johnston)OrderableController
with a more accessible solution (Aman Pandey, LB (Ben) Johnston)FileResponse
when serving files such as Images or Documents (Jake Howard)WidgetWithScript
base widget class (LB (Ben) Johnston)Published by gasman 9 months ago
FormSubmissionsPanel
on Django 5.0 when creating a new form page (Matt Westcott)