- Added Django 3.1 support (Matt Westcott, Karl Hobley)
- Removed support for Python 3.5
- Implemented configurable moderation workflow (Jacob Topp-Mugglestone, Karl Hobley, Matt Westcott, Dan Braghis)
- Implemented phrase searching and structured search query expressions (Karl Hobley)
- Add ability to import redirects from an uploaded file (CSV, TSV, XLS, and XLSX) (Martin Sandström)
- Added
webpquality
andformat-webp-lossless
image filters andWAGTAILIMAGES_WEBP_QUALITY
setting (Nikolay Lukyanov) - Reorganised Dockerfile in project template to follow best practices (Tomasz Knapik, Jannik Wempe)
- Added filtering to locked pages report (Karl Hobley)
- Adds ability to view a group's users via standalone admin URL and a link to this on the group edit view (Karran Besen)
- Redirect to previous url when deleting/copying/unpublish a page and modify this url via the relevant hooks (Ascani Carlo)
- Added
next_url
keyword argument onregister_page_listing_buttons
andregister_page_listing_more_buttons
hooks (Ascani Carlo, Matt Westcott, LB (Ben Johnston)) AbstractEmailForm
will useSHORT_DATETIME_FORMAT
andSHORT_DATE_FORMAT
Django settings to format date/time values in email (Haydn Greatnews)AbstractEmailForm
now has a separate method (render_email
) to build up email content on submission emails (Haydn Greatnews)- Add
pre_page_move
andpost_page_move
signals (Andy Babic) - Add ability to sort search promotions on listing page (Chris Ranjana, LB (Ben Johnston))
- Upgrade internal JS tooling; Node v10, Gulp v4 & Jest v23 (Jim Jazwiecki, Kim LaRocca, Thibaud Colas)
- Add
after_publish_page
,before_publish_page
,after_unpublish_page
&before_unpublish_page
hooks (Jonatas Baldin, Coen van der Kamp) - Add convenience
page_url
shortcut to improve how page URLs can be accessed from site settings in Django templates (Andy Babic) - Show more granular error messages from Pillow when uploading images (Rick van Hattem)
- Add ordering to
Site
object, so that index page andSite
switcher will be sorted consistently (Coen van der Kamp, Tim Leguijt) - Add Reddit to oEmbed provider list (Luke Hardwick)
- Add ability to replace the default Wagtail logo in the userbar, via
branding_logo
block (Meteor0id) - Remove sticky footer on small devices, so that content is not blocked and more easily editable (Saeed Tahmasebi)
- Add
alt
property toImageRenditionField
api representation (Liam Mullens) - Add
purge_revisions
management command to purge old page revisions (Jacob Topp-Mugglestone, Tom Dyson) - Render the Wagtail User Bar on non
Page
views (Caitlin White, Coen van der Kamp) - Add ability to define
form_classname
onListBlock
&StreamBlock
(LB (Ben Johnston)) - Add documentation about how to use
Rustface
for image feature detection (Neal Todd) - Improve performance of public/not_public queries in
PageQuerySet
(Timothy Bautista) - Add
add_redirect
static method toRedirect
class for programmatic redirect creation (Brylie Christopher Oxley, Lacey Williams Henschel) - Add reference documentation for
wagtail.contrib.redirects
(LB (Ben Johnston)) bulk_delete
page permission is no longer required to move pages, even if those pages have children (Robert Rollins, LB (Ben Johnston))- Add
after_edit_snippet
,after_create_snippet
andafter_delete_snippet
hooks and documentation (Kalob Taulien) - Improve performance of empty search results by avoiding downloading the entire search index in these scenarios (Lars van de Kerkhof, Coen van der Kamp)
- Replace
gulp-sass
withgulp-dart-sass
to improve core development across different platforms (Thibaud Colas) - Add SVG icons to resolve accessibility and customisation issues and start using them in a subset of Wagtail's admin (Coen van der Kamp, Scott Cranfill, Thibaud Colas, Dan Braghis)
- Switch userbar and header H1s to use SVG icons (Coen van der Kamp)
- Remove markup around rich text rendering by default, provide a way to use old behaviour via
wagtail.contrib.legacy.richtext
(Coen van der Kamp, Dan Braghis) - Apply title length normalisation to improve ranking on PostgreSQL search (Karl Hobley)
- Add
WAGTAIL_TIME_FORMAT
setting (Jacob Topp-Mugglestone) - Allow omitting the default editor from
WAGTAILADMIN_RICH_TEXT_EDITORS
(Gassan Gousseinov) - Disable password auto-completion on user creation form (Samir Shah)
- Upgrade jQuery to version 3.5.1 to reduce penetration testing false positives (Matt Westcott)
- Add ability to extend
EditHandler
without a children attribute (Seb Brown) Page.objects.specific
now gracefully handles pages with missing specific records (Andy Babic)- StreamField 'add' buttons are now disabled when maximum count is reached (Max Gabrielsson)
- Use underscores for form builder field names to allow use as template variables (Ashia Zawaduk, LB (Ben Johnston))
- Deprecate use of unidecode within form builder field names (Michael van Tellingen, LB (Ben Johnston))
- Improve error feedback when editing a page with a missing model class (Andy Babic)
- Change Wagtail tabs implementation to only allow slug-formatted tab identifiers, reducing false positives from security audits (Matt Westcott)
- Add skip link for keyboard users to bypass Wagtail navigation in the admin (Martin Coote)
- Ensure errors during Postgres search indexing are left uncaught to assist troubleshooting (Karl Hobley)
- Add ability to edit images and embeds in rich text editor (Maylon Pedroso, Samuel Mendes, Gabriel Peracio)
- Fix: Support IPv6 domain (Alex Gleason, Coen van der Kamp)
- Fix: Ensure link to add a new user works when no users are visible in the users list (LB (Ben Johnston))
- Fix:
AbstractEmailForm
saved submission fields are now aligned with the email content fields,form.cleaned_data
will be used instead ofform.fields
(Haydn Greatnews) - Fix: Removed ARIA
role="table"
from TableBlock output (Thibaud Colas) - Fix: Set Cache-Control header to prevent page preview responses from being cached (Tomas Walch)
- Fix: Accept unicode characters in slugs on the "copy page" form (François Poulain)
- Fix: Remove top padding when
FieldRowPanel
is used inside aMultiFieldPanel
(Jérôme Lebleu) - Fix: Add Wagtail User Bar back to page previews and ensure moderation actions are available (Coen van der Kamp)
- Fix: Resolve issue where queryset annotations were lost (e.g.
.annotate_score()
) when using specific models in page query (Dan Bentley) - Fix: Prevent date/time picker from losing an hour on losing focus when 12-hour times are in use (Jacob Topp-Mugglestone)
- Fix: Strip out HTML tags from
RichTextField
&RichTextBlock
search index content (Timothy Bautista) - Fix: Avoid using null on string
Site.site_name
blank values to avoid different values for no name (Coen van der Kamp) - Fix: Fix deprecation warnings on Elasticsearch 7 (Yngve Høiseth)
- Fix: Remove use of Node.forEach for IE 11 compatibility in admin menu items (Thibaud Colas)
- Fix: Fix incorrect method name in SiteMiddleware deprecation warning (LB (Ben Johnston))
- Fix:
wagtail.contrib.sitemaps
no longer depends on SiteMiddleware (Matt Westcott) - Fix: Purge image renditions cache when renditions are deleted (Pascal Widdershoven, Matt Westcott)
- Fix: Image / document forms now display non-field errors such as
unique_together
constraints (Matt Westcott) - Fix: Make "Site" chooser in site settings translateable (Andreas Bernacca)
- Fix: Add missing dropdown icons to image upload, document upload, and site settings screens (Andreas Bernacca)
- Fix: Prevent snippets’ bulk delete button from being present for screen reader users when it’s absent for sighted users (LB (Ben Johnston))
- Fix: Fix group permission checkboxes not being clickable in IE11 (LB (Ben Johnston))