# Wagtail 5.2 release notes - IN DEVELOPMENT _Unreleased_ ```{contents} --- local: depth: 1 --- ``` ## What's new ### OpenSearch support [OpenSearch](https://opensearch.org/) is now formally supported as an alternative to Elasticsearch. For configuration details, see [OpenSearch configuration](opensearch). This feature was developed by Matt Westcott. ### Other features * Add [`wagtailcache`](wagtailcache) and [`wagtailpagecache`](wagtailpagecache) template tags to ensure previewing Pages or Snippets will not be cached (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 base `ViewSet` 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 to `ModelViewSet` (Sage Abdullah) * Move `SnippetViewSet.list_display` to `ModelViewSet` (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`, and `ordering` from `SnippetViewSet` to `ModelViewSet` (Sage Abdullah) * Add default header titles to generic `IndexView` and `CreateView` (Sage Abdullah) * Allow overriding `IndexView.export_headings` via `ModelViewSet` (Christer Jensen, Sage Abdullah) * Support specifying a `get_object_list` method on `ChooserViewSet` (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 the [`mergedCells` option](table_block_options) (Gareth Palmer) * When adding a panel within `InlinePanel`, focus will now shift to that content similar to `StreamField` (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 `human_readable_date` the tooltip template tag (Rohit Sharma) * Add breadcrumbs to generic model views (Sage Abdullah) * Support passing extra context variables via the `{% component %}` tag (Matt Westcott) * Allow subclasses of `PagesAPIViewSet` override default Page model via the `model` 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) ### Bug fixes * Ensure that StreamField's `FieldBlock`s correctly set the `required` and `aria-describedby` attributes (Storm Heg) * Avoid an error when the moderation panel (admin dashboard) contains both snippets and private pages (Matt Westcott) * When deleting collections, ensure the collection name is correctly shown in the success message (LB (Ben) Johnston) * 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) * Allow `PublishMenuItem` to more easily support overriding its label via `construct_page_action_menu` (Sébastien Corbin) * Allow locale selection when creating a page at the root level (Sage Abdullah) * Ensure the admin login template correctly displays all `non_fields_errors` for any custom form validation (Sébastien Corbin) * Ensure 'mark as active' label in workflow bulk action set active form can be translated (Rohit Sharma) * 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) ### Documentation * Document `WAGTAILADMIN_BASE_URL` on "Integrating Wagtail into a Django project" page (Shreshth Srivastava) * Replace incorrect screenshot for authors listing on tutorial (Shreshth Srivastava) * Add documentation for building non-model-based choosers using the _queryish_ library (Matt Westcott) * Fix incorrect tag library import on focal points example (Hatim Makki Hoho) ### Maintenance * Fix snippet search test to work on non-fallback database backends (Matt Westcott) * Update Eslint, Prettier & Jest npm packages (LB (Ben) Johnston) * Add npm scripts for TypeScript checks and formatting SCSS files (LB (Ben) Johnston) * Run tests in parallel in some of the CI setup (Sage Abdullah) * Remove unused WorkflowStatus view, urlpattern, and workflow-status.js (Storm Heg) * Add support for options/attrs in Telepath widgets so that attrs render on the created DOM (Storm Heg) * Update pre-commit hooks to be in sync with latest changes to Eslint & Prettier for client-side changes (Storm Heg) * Add `WagtailTestUtils.get_soup()` method for testing HTML content (Storm Heg, Sage Abdullah) * Allow `ViewSet` subclasses to customise `url_prefix` and `url_namespace` logic (Matt Westcott) * Simplify `SnippetViewSet` registration code (Sage Abdullah) * Rename groups `IndexView.results_template_name` to `results.html` (Sage Abdullah) * Migrate form submission listing checkbox toggling to the shared `w-bulk` Stimulus implementation (LB (Ben) Johnston) * Allow viewsets to define a common set of view kwargs (Matt Westcott) * Migrate the editor unsaved messages popup to be driven by Stimulus using the shared `w-message` controller (LB (Ben) Johnston, Hussain Saherwala) * Do not use jest inside `stubs.js` to prevent Storybook from crashing (LB (Ben) Johnston) * Refactor snippets templates to reuse the shared `slim_header.html` template (Sage Abdullah) * Refactor `slim_header.html` template to reduce code duplication (Sage Abdullah) * Upgrade Willow to v1.6.2 to support MIME type data without reliance on `imghdr` (Jake Howard) * Replace `imghdr` with Willow's built-in MIME type detection (Jake Howard) * Migrate all other `data-tippy` HTML attribute usage to the Stimulus data-*-value attributes for w-tooltip & w-dropdown (Subhajit Ghosh, LB (Ben) Johnston) * Replace `@total_ordering` usage with comparison functions implementation (Virag Jain) * Replace ` {% endescapescript %} ``` #### New Use the HTML [`template`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template) element to avoid content from being parsed by the browser on load. ```html+django ```