github wagtail/wagtail v4.0
4.0

latest releases: v6.1, v6.0.3, v5.2.5...
20 months ago
  • Added support for Django 4.1
  • Added a new BaseGenericSetting base model class that allows defining a settings model that applies to all sites rather than just a single site (Kyle Bayliss)
  • Add clarity to confirmation when being asked to convert an external link to an internal one (Thijs Kramer)
  • Convert the rest of the documentation to Markdown (Khanh Hoang, Vu Pham, Daniel Kirkham, LB (Ben) Johnston, Thiago Costa de Souza, Benedict Faw, Noble Mittal, Sævar Öfjörð Magnússon, Sandeep M A, Stefano Silvestri)
  • Add base_url_path to ModelAdmin so that the default URL structure of app_label/model_name can be overridden (Vu Pham, Khanh Hoang)
  • Add full_url to the API output of ImageRenditionField (Paarth Agarwal)
  • Use InlinePanel's label when available for field comparison label (Sandil Ranasinghe)
  • Drop support for Safari 13 by removing left/right positioning in favour of CSS logical properties (Thibaud Colas)
  • Use FormData instead of jQuery's form.serialize when editing documents or images just added so that additional fields can be better supported (Stefan Hammer)
  • Add informational Codecov status checks for GitHub CI pipelines (Tom Hu)
  • Replace PageRevision with generic Revision model (Sage Abdullah)
  • Make it possible to reuse and customise Wagtail’s fonts with CSS variables (LB (Ben) Johnston)
  • Add better handling and informative developer errors for cross linking URLS (e.g. success after add) in generic views wagtail.admin.views.generic (Matt Westcott)
  • Introduce wagtail.admin.widgets.chooser.BaseChooser to make it easier to build custom chooser inputs (Matt Westcott)
  • Introduce JavaScript chooser module, including a SearchController class which encapsulates the standard pattern of re-rendering the results panel in response to search queries and pagination (Matt Westcott)
  • Migrate Image and Document choosers to new JavaScript chooser module (Matt Westcott)
  • Add ability to select multiple items at once within bulk actions selections when holding shift on subsequent clicks (Hitansh Shah)
  • Upgrade notification, shown to admins on the dashboard if Wagtail is out of date, will now link to the release notes for the closest minor branch instead of the latest patch (Tibor Leupold)
  • Upgrade notification can now be configured to only show updates when there is a new LTS available via WAGTAIL_ENABLE_UPDATE_CHECK = 'lts' (Tibor Leupold)
  • Implement redesign of the Workflow Status dialog, fixing accessibility issues (Steven Steinwand)
  • Add the ability to change the number of images displayed per page in the image library (Tidiane Dia, with sponsorship from YouGov)
  • Allow users to sort by different fields in the image library (Tidiane Dia, with sponsorship from YouGov)
  • Add prefetch_renditions method to ImageQueryset for performance optimisation on image listings (Tidiane Dia, Karl Hobley)
  • Add ability to define a custom get_field_clean_name method when defining FormField models that extend AbstractFormField (LB (Ben) Johnston)
  • Migrate Home (Dashboard) view to use generic Wagtail class based view (LB (Ben) Johnston)
  • Combine most of Wagtail’s stylesheets into the global core.css file (Thibaud Colas)
  • Add new Breadcrumbs and Tabs to the Wagtail pattern library (Paarth Agarwal)
  • Adopt new Page Editor UI tabs in the workflow history report page (Paarth Agarwal)
  • Update ReportView to extend from generic wagtail.admin.views.generic.models.IndexView (Sage Abdullah)
  • Introduce a wagtail.admin.viewsets.chooser.ChooserViewSet module to serve as a common base implementation for chooser modals (Matt Westcott)
  • Add documentation for wagtail.admin.viewsets.model.ModelViewSet (Matt Westcott)
  • Enhance new breadcrumbs so they can be added to any header or container element (Paarth Agarwal)
  • Adopt new breadcrumbs on the page explorer (listing) view and the page chooser modal, remove legacy breadcrumbs code for move page as no longer used (Paarth Agarwal)
  • Added multi-site support to the API (Sævar Öfjörð Magnússon)
  • Add add_to_admin_menu option for ModelAdmin (Oliver Parker)
  • Implement Fuzzy matching for Elasticsearch (Nick Smith)
  • Rename Page.get_latest_revision_as_page to Page.get_latest_revision_as_object (Sage Abdullah)
  • Cache model permission codenames in PermissionHelper (Tidiane Dia)
  • Selecting a new parent page for moving a page now uses the chooser modal which allows searching (Viggo de Vries)
  • Move get_snippet_edit_handler function to wagtail.admin.panels.get_edit_handler (Sage Abdullah)
  • Add clarity to the search indexing documentation for how boost works when using Postgres with the database search backend (Tibor Leupold)
  • Rename explorer_breadcrumb template tag to breadcrumbs as it is now used in multiple locations (Paarth Agarwal)
  • Updated django-filter version to support 23 (Yuekui)
  • Use .iterator() in a few more places in the admin, to make it more stable on sites with many pages (Andy Babic)
  • Migrate some simple React component files to TypeScript (LB (Ben) Johnston)
  • Deprecate the usage and documentation of the wagtail.contrib.modeladmin.menus.SubMenu class, provide a warning if used directing developers to use wagtail.admin.menu.Menu instead (Matt Westcott)
  • Remove legacy (non-next) breadcrumbs no longer used, remove ModelAdmin usage of breadcrumbs completely (Paarth Agarwal)
  • Replace human-readable-date hover pattern with accessible tooltip variant across all of admin (Bernd de Ridder)
  • Added WAGTAILADMIN_USER_PASSWORD_RESET_FORM setting for overriding the admin password reset form (Michael Karamuth)
  • Prefetch workflow states in edit page view to to avoid queries in other parts of the view/templates that need it (Tidiane Dia)
  • Remove the edit link from edit bird in previews to avoid confusion (Sævar Öfjörð Magnússon)
  • Introduce new template fragment and block level enclosure tags for easier template composition (Thibaud Colas)
  • Add a classnames template tag to easily build up classes from variables provided to a template (Paarth Agarwal)
  • Migrate the dashboard (home) view header to the shared header template and update designs (Paarth Agarwal)
  • Switch all report workflow, redirects, form submissions, site settings views to use Wagtail’s reusable header component (Paarth Agarwal)
  • Update classes and styles for the shared header templates to align with UI guidelines (Paarth Agarwal)
  • Clean up multiple eslint rules usage and configs to align better with the Wagtail coding guidelines (LB (Ben Johnston))
  • Add inline toolbar for Draftail, to avoid clashing with the page’s header (Thibaud Colas)
  • Add command palette in rich text editor to change text format with the keyboard only (Thibaud Colas)
  • Add a live-updating character count to the Draftail rich text editor (Thibaud Colas)
  • Add rich text editor paste to auto-create links (Thibaud Colas)
  • Add rich text editor text shortcuts undo, to allow typing text normally detected as a shortcut (Thibaud Colas)
  • Add support for right-to-left (RTL) languages to the rich text editor (Thibaud Colas)
  • Change rich text editor placeholder to follow the user’s focus on empty blocks (Thibaud Colas)
  • Add rich text editor empty block highlight by showing their block type (Thibaud Colas)
  • Add ability to split a rich text field and insert a StreamField block at the same time (Jacob Topp-Mugglestone)
  • Make ModelAdmin InspectView footer actions consistent with other parts of the UI (Thibaud Colas)
  • Introduce a new auto-updating preview panel inside the page editor (Sage Abdullah)
  • Add support for Twitter and other text-only embeds in Draftail embed previews (Iman Syed, Paarth Agarwal)
  • Use new modal dialog component for privacy settings modal (Sage Abdullah)
  • Add menu_item_name to modify MenuItem's name for ModelAdmin (Alexander Rogovskyy, Vu Pham)
  • Add an extra confirmation prompt when deleting pages with a large number of child pages (Jaspreet Singh)
  • Adopt the slim header in page listing views, with buttons moved under the "Actions" dropdown, including addition of translation page in the parent "more" button (Paarth Agarwal)
  • Improve help block styles in Windows High Contrast Mode with less reliance on communication via colour alone (Anuja Verma)
  • Add a bottom border to top messages so they stand out from the header (Anuja Verma)
  • Replace latin abbreviations (i.e. / e.g.) with common English phrases so that documentation is easier to understand (Dominik Lech)
  • Add shortcut for accessing StreamField blocks by block name with new blocks_by_name and first_block_by_name methods on StreamValue (Tidiane Dia, Matt Westcott)
  • Extend support for custom user interface colours across almost all admin colours (Thibaud Colas)
  • Add HTML-aware max_length validation and character count on RichTextField and RichTextBlock (Matt Westcott, Thibaud Colas)
  • Remove undocumented SearchableListMixin (Sage Abdullah)
  • Extract filtering code from ReportView to generic IndexView (Sage Abdullah)
  • Extract unpublish code for pages to generic UnpublishView (Sage Abdullah)
  • Retain other query params in header search behaviour (Sage Abdullah)
  • Remove is_parent kwarg in various page button hooks as this approach is no longer required (Paarth Agarwal)
  • Improve security of redirect imports by adding a file hash (signature) check for so that any tampering of file contents between requests will throw a BadSignature error (Jaap Roes)
  • Refresh designs for Home (Dashboard) site summary panels, use theme spacing and colours, add support for RTL layouts and better support for small devices (Paarth Agarwal, LB (Ben) Johnston)
  • Include all CSS system colours in allowed values in Stylelint's declaration-strict-value rule (Thibaud Colas)
  • Add JavaScript range utility function (LB (Ben) Johnston)
  • Allow generic chooser viewsets to support non-model data such as an API endpoint (Matt Wescott)
  • Update all widget styles across the admin UI (Thibaud Colas)
  • Update field styles across forms, with help text consistently under fields, error messages above, and comment buttons to the side (Thibaud Colas)
  • Make all sections of the page editing UI collapsible by default (Thibaud Colas)
  • Update the side panels to prevent overlap with form fields unless necessary (Thibaud Colas)
  • Remove unused change password page, was not removed when account management view was converted to tabs (Paarth Agarwal)
  • Rework layout of login and password reset pages to ensure main id on main element (for skip link) and consistent DOM layout for h1 header (Paarth Agarwal, LB (Ben) Johnston)
  • Adopt new design, including logo, for login and password reset pages (Paarth Agarwal, LB (Ben) Johnston)
  • Remove usage of inline script to focus on the username field, instead use autofocus (LB (Ben) Johnston)
  • Improve organisation of the settings reference page in the documentation (Akash Kumar Sen)
  • Added path and re_path decorators to the RoutablePageMixin module which emulate their Django URL utils equivalent, redirect re_path to the original route decorator (Tidiane Dia)
  • BaseChooser widget now provides a Telepath adapter that's directly usable for any subclasses that use the chooser widget and modal JS as-is with no customisations (Matt Westcott)
  • Implement the new chooser widget styles as part of the page editor redesign (Thibaud Colas)
  • Update base Draftail/TextField form designs as part of the page editor redesign (Thibaud Colas)
  • Move commenting trigger to inline toolbar and move block splitting to the block toolbar and command palette only in Draftail (Thibaud Colas)
  • Pages are now locked when they are scheduled for publishing (Karl Hobley)
  • Simplify page chooser views by converting to class-based views (Matt Westcott)
  • Add support for previews, revisions and drafts on snippets (Sage Abdullah)
  • Add "Translate" button within pages’ Actions dropdown when editing pages (Sage Abdullah)
  • Add translated labels to the bulk actions tags and collections bulk update fields (Stefan Hammer)
  • Fix: Typo in ResumeWorkflowActionFormatter message (Stefan Hammer)
  • Fix: Issue where ModelAdmin index listings with export list enabled would show buttons with an incorrect layout (Josh Woodcock)
  • Fix: Throw a meaningful error when saving an image to an unrecognised image format (Christian Franke)
  • Fix: Remove extra padding for headers with breadcrumbs on mobile viewport (Steven Steinwand)
  • Fix: Ensure that custom document or image models support custom tag models (Matt Westcott)
  • Fix: Ensure comments use translated values for their placeholder text (Stefan Hammer)
  • Fix: Ensure the upgrade notification, shown to admins on the dashboard if Wagtail is out of date, content is translatable (LB (Ben) Johnston)
  • Fix: Show the re-ordering option to users that have permission to publish pages within the page listing (Stefan Hammer)
  • Fix: Ensure default sidebar branding (bird logo) is not cropped in RTL mode (Steven Steinwand)
  • Fix: Add an accessible label to the image focal point input when editing images (Lucie Le Frapper)
  • Fix: Remove unused header search JavaScript on the redirects import page (LB (Ben) Johnston)
  • Fix: Ensure non-square avatar images will correctly show throughout the admin (LB (Ben) Johnston)
  • Fix: Ignore translations in test files and re-include some translations that were accidentally ignored (Stefan Hammer)
  • Fix: Show alternative message when no page types are available to be created (Jaspreet Singh)
  • Fix: Prevent error on sending notifications for the legacy moderation process when no user was specified (Yves Serrano)
  • Fix: Ensure aria-label is not set on locale selection dropdown within page chooser modal as it was a duplicate of the button contents (LB (Ben Johnston))
  • Fix: Revise the ModelAdmin title column behaviour to only link to 'edit' if the user has the correct permissions, fallback to the 'inspect' view or a non-clickable title if needed (Stefan Hammer)
  • Fix: Ensure that DecimalBlock preserves the Decimal type when retrieving from the database (Yves Serrano)
  • Fix: When no snippets are added, ensure the snippet chooser modal would have the correct URL for creating a new snippet (Matt Westcott)
  • Fix: ngettext in Wagtail's internal JavaScript internationalisation utilities now works (LB (Ben) Johnston)
  • Fix: Ensure the linting/formatting npm scripts work on Windows (Anuja Verma)
  • Fix: Fix display of dates in exported xlsx files on macOS Preview and Numbers (Jaap Roes)
  • Fix: Make progress bars’ progress visible in forced colors mode (Anuja Verma)
  • Fix: Make checkboxes visible in forced colors mode (Anuja Verma)
  • Fix: Display the correct color for icons in forced colors mode (Anuja Verma)
  • Fix: Add a border around modal dialogs so they can be identified in forced colors mode (Anuja Verma)
  • Fix: Remove outdated reference to 30-character limit on usernames in help text (minusf)
  • Fix: Resolve multiple form submissions index listing page layout issues including title not being visible on mobile and interaction with large tables (Paarth Agarwal)
  • Fix: Ensure ModelAdmin single selection lists show correctly with Django 4.0 form template changes (Coen van der Kamp)
  • Fix: Ensure icons within help blocks have accessible contrasting colours, and links have a darker colour plus underline to indicate they are links (Paarth Agarwal)
  • Fix: Ensure consistent sidebar icon position whether expanded or collapsed (Scott Cranfill)
  • Fix: Avoid redirects import error if the file had lots of columns (Jaap Roes)
  • Fix: Resolve accessibility and styling issues with the expanding status panel (Sage Abdullah)
  • Fix: Avoid 503 AttributeError when an empty search param q= is combined with other filters in the Images index view (Paritosh Kabra)
  • Fix: Fix error with string representation of FormSubmission not returning a string (LB (Ben) Johnston)
  • Fix: Ensure disabled buttons are distinguishable from active buttons in forced colors mode (Anuja Verma)
  • Fix: Revise usage of extra_actions in new changes to shared header template to avoid invalid template variable usage (Paarth Agarwal)
  • Fix: Ensure that bulk actions correctly support models with non-integer primary keys (id) (LB (Ben) Johnston)
  • Fix: Make it possible to toggle collapsible panels in the edit UI with the keyboard (Thibaud Colas)
  • Fix: Re-implement checkbox styles so the checked state is visible in forced colors mode (Thibaud Colas)
  • Fix: Re-implement switch component styles so the checked state is visible in forced colors mode (Thibaud Colas)
  • Fix: Always render select widgets consistently regardless of where they are in the admin (Thibaud Colas)
  • Fix: Make sure input labels and always take up the available space (Thibaud Colas)
  • Fix: Correctly style BooleanBlock within StructBlock (Thibaud Colas)
  • Fix: Make sure comment icons can’t overlap with help text (Thibaud Colas)
  • Fix: Make it possible to scroll input fields in admin on safari mobile (Thibaud Colas)
  • Fix: Stop rich text fields from overlapping with sidebar (Thibaud Colas)
  • Fix: Prevent comment buttons from overlapping with fields (Thibaud Colas)
  • Fix: Resolve MySQL search compatibility issue with Django 4.1 (Andy Chosak)
  • Fix: Ensure that the fields on login and password reset forms are visible in forced colors mode (Paarth Agarwal)
  • Fix: Missing a outline on dropdown content and malformed tooltip arrow in forced colors mode (Anuja Verma, LB (Ben) Johnston)
  • Fix: Layout issues with reports (including form submissions listings) on md device widths (Akash Kumar Sen, LB (Ben) Johnston)
  • Fix: Layout issue with page explorer's inner header item on small device widths (Akash Kumar Sen)
  • Fix: Ensure that BaseSiteSetting / BaseGenericSetting objects can be pickled (Andy Babic)
  • Fix: Ensure DocumentChooserBlock can be deconstructed for migrations (Matt Westcott)
  • Fix: Resolve frontent console error and unintented console logging issues (Matt Wescott, Paarth Agarwal)
  • Fix: Resolve issue with sites that have not yet migrated away from BaseSetting when upgrading to Wagtail 4.0 (Stefan Hammer)
  • Fix: Use correct classnames for showing/hiding edit button on chooser widget (Matt Wescott)
  • Fix: Render MultiFieldPanel’s heading even when nested (Thibaud Colas)
  • Fix: Make sure select widgets render correctly regardless of the Django field and widget type (Thibaud Colas)
  • Fix: Consistently display boolean field labels above the widget so they render correctly (Thibaud Colas)
  • Fix: Address form field label alignment issues by always displaying labels above the widget (Thibaud Colas)
  • Fix: Make sure rich text URL editing tooltip is fully visible when displayed inside InlinePanel blocks (Thibaud Colas)
  • Fix: Allow input fields to scroll horizontally in Safari iOS (Thibaud Colas)
  • Fix: Ensure screen readers are made aware of page level messages added dynamically to the top of the page (Paarth Agarwal)
  • Fix: Fix updatemodulepaths command for Python 3.7 (Matt Westcott)
  • Fix: Only show locale filter in choosers when i18n is enabled in settings (Matt Westcott)
  • Fix: Ensure that the live preview panel correctly clears the cache when a new page is created (Sage Abdullah)
  • Fix: Ensure that there is a larger hoverable area for add block (+) within the Drafttail editor (Steven Steinwand)
  • Fix: Resolve multiple header styling issues for modal, alignment on small devices, outside click handling target on medium devices, close button target size and hover styles (Paarth Agarwal)
  • Fix: Fix issue where comments could not be added in StreamField that were already already saved (Jacob Topp-Mugglestone)
  • Fix: Remove outdated reference to Image.LoaderError (Matt Westcott)

Don't miss a new wagtail release

NewReleases is sending notifications on new releases.