All Versions
39
Latest Version
Avg Release Cycle
30 days
Latest Release
1204 days ago

Changelog History
Page 1

  • v2.11.3 Changes

    December 10, 2020
    • πŸ›  Fix: Updated project template migrations to ensure that initial homepage creation runs before addition of locale field (Dan Braghis)
    • Fix: Restore ability to use translatable strings in LANGUAGES / WAGTAIL_CONTENT_LANGUAGES settings (Andreas Morgenstern)
    • πŸ›  Fix: Allow locale / translation_of API filters to be used in combination with search (Matt Westcott)
    • 🌲 Fix: Prevent error on create_log_entries_from_revisions when checking publish state on a revision that cannot be restored (Kristin Riebe)
  • v2.11.2 Changes

    November 17, 2020
    • βž• Add custom finder to support Instagram oEmbed API (Luis Nell)
    • βž• Add custom finder to support Facebook oEmbed API (Cynthia Kiser)
    • πŸ›  Fix: Improve performance of permission check on translations for edit page (Karl Hobley)
    • πŸ›  Fix: Gracefully handle missing Locale records on Locale.get_active and .localized (Matt Westcott)
    • πŸ‘Œ Fix: Handle get_supported_language_variant returning a language variant not in LANGUAGES (Matt Westcott)
    • πŸ›  Fix: Reinstate missing icon on settings edit view (JΓ©rΓ΄me Lebleu)
    • πŸ›  Fix: Avoid performance and pagination logic issues with a large number of languages (Karl Hobley)
    • πŸ›  Fix: Allow deleting the default locale (Matt Westcott)
  • v2.11.1 Changes

    November 06, 2020
    • Fix: Ensure that cached wagtail_site_root_paths structures from older Wagtail versions are invalidated (SΓ¦var Γ–fjΓΆrΓ° MagnΓΊsson)
    • πŸ›  Fix: Avoid circular import between wagtail.admin.auth and custom user models (Matt Westcott)
    • Fix: Prevent error on resolving page URLs when a locale outside of WAGTAIL_CONTENT_LANGUAGES is active (Matt Westcott)
  • v2.11 Changes

    November 02, 2020
    • βž• Add support for multi-lingual content (Karl Hobley)
    • βž• Add support for aliased pages (Karl Hobley)
    • βž• Add support for hierarchical/nested Collections (Robert Rollins)
    • πŸ›  Extend treebeard's fix_tree method with the ability to non-destructively fix path issues and add a --full option to apply path fixes (Matt Westcott)
    • Add before_edit_snippet, before_create_snippet and before_delete_snippet hooks and documentation (Karl Hobley. Sponsored by the Mozilla Foundation)
    • Add register_snippet_listing_buttons and construct_snippet_listing_buttons hooks and documentation (Karl Hobley. Sponsored by the Mozilla Foundation)
    • βž• Add wagtail --version to available Wagtail CLI commands (Kalob Taulien)
    • βž• Add hooks.register_temporarily utility function for testing hooks (Karl Hobley. Sponsored by the Mozilla Foundation)
    • βœ‚ Remove unidecode and use anyascii in for Unicode to ASCII conversion (Robbie Mackay)
    • βž• Add render helper to RoutablePageMixin to support serving template responses according to Wagtail conventions (Andy Babic)
    • Specify minimum Python version in setup.py (Vince Salvino)
    • πŸ‘‰ Show user's full name in report views (Matt Westcott)
    • πŸ‘Œ Improve Wagtail admin page load performance by caching SVG icons sprite in localStorage (Coen van der Kamp)
    • πŸ‘Œ Support SVG icons in ModelAdmin menu items (Scott Cranfill)
    • πŸ‘Œ Support SVG icons in admin breadcrumbs (Coen van der Kamp)
    • πŸ’» Serve PDFs inline in the browser (Matt Westcott)
    • Make document content-type and content-disposition configurable via WAGTAILDOCS_CONTENT_TYPES and WAGTAILDOCS_INLINE_CONTENT_TYPES (Matt Westcott)
    • 🚚 Slug generation no longer removes stopwords (Andy Chosak, Scott Cranfill)
    • βž• Add check to disallow StreamField block names that do not match Python variable syntax (FranΓ§ois Poulain)
    • The BASE_URL setting is now converted to a string, if it isn't already, when constructing API URLs (thenewguy)
    • Preview from 'pages awaiting moderation' now opens in a new window (Cynthia Kiser)
    • πŸ“„ Add document extension validation if WAGTAIL_DOCS_EXTENSIONS is set (Meghana Bhange)
    • πŸ‘‰ Use django-admin command in place of django-admin.py (minusf)
    • Add register_snippet_action_menu_item and construct_snippet_action_menu hooks to modify the actions available when creating / editing a snippet (Karl Hobley)
    • Moved generate_signature and verify_signature functions into wagtail.images.utils (Noah H)
    • Implement bulk_to_python on all structural StreamField block types (Matt Westcott)
    • βž• Add natural key support to GroupCollectionPermission (Jim Jazwiecki)
    • Implement prepopulated_fields for wagtail.contrib.modeladmin (David Bramwell)
    • πŸ”„ Change classname keyword argument on basic StreamField blocks to form_classname (Meghana Bhange)
    • Replace page explorer pushPage/popPage with gotoPage for more flexible explorer navigation (Karl Hobley)
    • πŸ›  Fix: Make page-level actions accessible to keyboard users in page listing tables (Jesse Menn)
    • πŸ›  Fix: WAGTAILFRONTENDCACHE_LANGUAGES was being interpreted incorrectly. It now accepts a list of strings, as documented (Karl Hobley)
    • πŸ›  Fix: Update oEmbed endpoints to use https where available (Matt Westcott)
    • πŸ›  Fix: Revise edit_handler bind order in ModelAdmin views and fix duplicate form instance creation (JΓ©rΓ΄me Lebleu)
    • πŸ›  Fix: Properly distinguish child blocks when comparing revisions with nested StreamBlocks (Martin Mena)
    • πŸ›  Fix: Correctly handle Turkish 'Δ°' characters in client-side slug generation (Matt Westcott)
    • Fix: Page chooser widgets now reflect custom get_admin_display_title methods (Saptak Sengupta)
    • πŸ›  Fix: Page.copy() now raises an error if the page being copied is unsaved (Anton Zhyltsou)
    • πŸ›  Fix: Page.copy() now triggers a page_published if the copied page is live (Anton Zhyltsou)
    • πŸ›  Fix: The Elasticsearch URLS setting can now take a string on its own instead of a list (SΓ¦var Γ–fjΓΆrΓ° MagnΓΊsson)
    • πŸ›  Fix: Avoid retranslating month / weekday names that Django already provides (Matt Westcott)
    • πŸ›  Fix: Fixed padding around checkbox and radio inputs (Cole Maclean)
    • πŸ›  Fix: Fix spacing around the privacy indicator panel (SΓ¦var Γ–fjΓΆrΓ° MagnΓΊsson, Dan Braghis)
    • πŸ›  Fix: Consistently redirect to admin home on permission denied (Matt Westcott, Anton Zhyltsou)
  • v2.11.rc1 Changes

    October 23, 2020
    • βž• Add support for multi-lingual content (Karl Hobley)
    • βž• Add support for aliased pages (Karl Hobley)
    • βž• Add support for hierarchical/nested Collections (Robert Rollins)
    • πŸ›  Extend treebeard's fix_tree method with the ability to non-destructively fix path issues and add a --full option to apply path fixes (Matt Westcott)
    • Add before_edit_snippet, before_create_snippet and before_delete_snippet hooks and documentation (Karl Hobley. Sponsored by the Mozilla Foundation)
    • Add register_snippet_listing_buttons and construct_snippet_listing_buttons hooks and documentation (Karl Hobley. Sponsored by the Mozilla Foundation)
    • βž• Add wagtail --version to available Wagtail CLI commands (Kalob Taulien)
    • βž• Add hooks.register_temporarily utility function for testing hooks (Karl Hobley. Sponsored by the Mozilla Foundation)
    • βœ‚ Remove unidecode and use anyascii in for Unicode to ASCII conversion (Robbie Mackay)
    • βž• Add render helper to RoutablePageMixin to support serving template responses according to Wagtail conventions (Andy Babic)
    • Specify minimum Python version in setup.py (Vince Salvino)
    • πŸ‘‰ Show user's full name in report views (Matt Westcott)
    • πŸ‘Œ Improve Wagtail admin page load performance by caching SVG icons sprite in localStorage (Coen van der Kamp)
    • πŸ‘Œ Support SVG icons in ModelAdmin menu items (Scott Cranfill)
    • πŸ‘Œ Support SVG icons in admin breadcrumbs (Coen van der Kamp)
    • πŸ’» Serve PDFs inline in the browser (Matt Westcott)
    • Make document content-type and content-disposition configurable via WAGTAILDOCS_CONTENT_TYPES and WAGTAILDOCS_INLINE_CONTENT_TYPES (Matt Westcott)
    • 🚚 Slug generation no longer removes stopwords (Andy Chosak, Scott Cranfill)
    • βž• Add check to disallow StreamField block names that do not match Python variable syntax (FranΓ§ois Poulain)
    • The BASE_URL setting is now converted to a string, if it isn't already, when constructing API URLs (thenewguy)
    • Preview from 'pages awaiting moderation' now opens in a new window (Cynthia Kiser)
    • πŸ“„ Add document extension validation if WAGTAIL_DOCS_EXTENSIONS is set (Meghana Bhange)
    • πŸ‘‰ Use django-admin command in place of django-admin.py (minusf)
    • Add register_snippet_action_menu_item and construct_snippet_action_menu hooks to modify the actions available when creating / editing a snippet (Karl Hobley)
    • Moved generate_signature and verify_signature functions into wagtail.images.utils (Noah H)
    • Implement bulk_to_python on all structural StreamField block types (Matt Westcott)
    • βž• Add natural key support to GroupCollectionPermission (Jim Jazwiecki)
    • Implement prepopulated_fields for wagtail.contrib.modeladmin (David Bramwell)
    • πŸ”„ Change classname keyword argument on basic StreamField blocks to form_classname (Meghana Bhange)
    • Replace page explorer pushPage/popPage with gotoPage for more flexible explorer navigation (Karl Hobley)
    • πŸ›  Fix: Make page-level actions accessible to keyboard users in page listing tables (Jesse Menn)
    • πŸ›  Fix: WAGTAILFRONTENDCACHE_LANGUAGES was being interpreted incorrectly. It now accepts a list of strings, as documented (Karl Hobley)
    • πŸ›  Fix: Update oEmbed endpoints to use https where available (Matt Westcott)
    • πŸ›  Fix: Revise edit_handler bind order in ModelAdmin views and fix duplicate form instance creation (JΓ©rΓ΄me Lebleu)
    • πŸ›  Fix: Properly distinguish child blocks when comparing revisions with nested StreamBlocks (Martin Mena)
    • πŸ›  Fix: Correctly handle Turkish 'Δ°' characters in client-side slug generation (Matt Westcott)
    • Fix: Page chooser widgets now reflect custom get_admin_display_title methods (Saptak Sengupta)
    • πŸ›  Fix: Page.copy() now raises an error if the page being copied is unsaved (Anton Zhyltsou)
    • πŸ›  Fix: Page.copy() now triggers a page_published if the copied page is live (Anton Zhyltsou)
    • πŸ›  Fix: The Elasticsearch URLS setting can now take a string on its own instead of a list (SΓ¦var Γ–fjΓΆrΓ° MagnΓΊsson)
    • πŸ›  Fix: Avoid retranslating month / weekday names that Django already provides (Matt Westcott)
    • πŸ›  Fix: Fixed padding around checkbox and radio inputs (Cole Maclean)
    • πŸ›  Fix: Fix spacing around the privacy indicator panel (SΓ¦var Γ–fjΓΆrΓ° MagnΓΊsson, Dan Braghis)
    • πŸ›  Fix: Consistently redirect to admin home on permission denied (Matt Westcott, Anton Zhyltsou)
  • v2.10.2 Changes

    September 25, 2020
    • πŸ›  Fix: Avoid use of icon class name on userbar icon to prevent clashes with front-end styles (Karran Besen)
    • πŸ›  Fix: Prevent focused button labels from displaying as white on white (Karran Bessen)
    • πŸ›  Fix: Avoid showing preview button on moderation dashboard for page types with preview disabled (Dino Perovic)
    • πŸ›  Fix: Prevent oversized buttons in moderation dashboard panel (Dan Braghis)
    • 🌲 Fix: create_log_entries_from_revisions now handles revisions that cannot be restored due to foreign key constraints (Matt Westcott)
  • v2.10.1 Changes

    August 26, 2020
    • 🌲 Fix: Prevent create_log_entries_from_revisions command from failing when page model classes are missing (Dan Braghis)
    • πŸ›  Fix: Prevent page audit log views from failing for user models without a username field (Vyacheslav Matyukhin)
    • πŸ›  Fix: Fix icon alignment on menu items (Coen van der Kamp)
    • πŸ›  Fix: Page editor header bar now correctly shows 'Published' or 'Draft' status when no revisions exist (Matt Westcott)
    • πŸ›  Fix: Prevent page editor from failing when USE_TZ is false (Matt Westcott)
    • πŸ›  Fix: Ensure whitespace between block-level elements is preserved when stripping tags from rich text for search indexing (Matt Westcott)
  • v2.10 Changes

    August 11, 2020
    • βž• 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 and format-webp-lossless image filters and WAGTAILIMAGES_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 on register_page_listing_buttons and register_page_listing_more_buttons hooks (Ascani Carlo, Matt Westcott, LB (Ben Johnston))
    • AbstractEmailForm will use SHORT_DATETIME_FORMAT and SHORT_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 and post_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 and Site 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 to ImageRenditionField 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 on ListBlock & 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 to Redirect 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 and after_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 with gulp-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 of form.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 a MultiFieldPanel (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))
  • v2.10.rc2 Changes

    July 31, 2020

    πŸ›  Fixes from 2.10rc1:

    • βž• Add missing SVG icons for optional rich text features (Dan Braghis)
    • πŸ›  Fix has_changed detection on StreamField, to allow non-linear workflows to continue working (Jacob Topp-Mugglestone)
    • πŸ— Restore ability to import SubmissionsListView into models.py files for use in form builder (Matt Westcott)
  • v2.10.rc1 Changes

    July 27, 2020
    • βœ‚ 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 and format-webp-lossless image filters and WAGTAILIMAGES_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 on register_page_listing_buttons and register_page_listing_more_buttons hooks (Ascani Carlo, Matt Westcott, LB (Ben Johnston))
    • AbstractEmailForm will use SHORT_DATETIME_FORMAT and SHORT_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 and post_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 and Site 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 to ImageRenditionField 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 on ListBlock & 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 to Redirect 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 and after_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 with gulp-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 of form.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 a MultiFieldPanel (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))