# Wagtail 4.0 release notes - IN DEVELOPMENT ```{contents} --- local: depth: 1 --- ``` ## What's new ### Other features * Add clarity to confirmation when being asked to convert an external link to an internal one (Thijs Kramer) * Convert various pages in the documentation to Markdown (Khanh Hoang, Vu Pham, Daniel Kirkham, LB (Ben) Johnston) * 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) * Make it possible to reuse and customise Wagtail’s fonts with CSS variables (LB (Ben) Johnston) ### Bug fixes * Fix issue where `ModelAdmin` index listings with export list enabled would show buttons with an incorrect layout (Josh Woodcock) * Fix typo in `ResumeWorkflowActionFormatter` message (Stefan Hammer) * Throw a meaningful error when saving an image to an unrecognised image format (Christian Franke) * Remove extra padding for headers with breadcrumbs on mobile viewport (Steven Steinwand) * Replace `PageRevision` with generic `Revision` model (Sage Abdullah) * Ensure the upgrade notification request for the latest release, which can be disabled via the `WAGTAIL_ENABLE_UPDATE_CHECK` sends the referrer origin with `strict-origin-when-cross-origin` (Karl Hobley) * Ensure radio buttons / checkboxes display vertically under Django 4.0 (Matt Westcott) ## Upgrade considerations ### `base_url_path` keyword argument added to AdminURLHelper The `wagtail.contrib.modeladmin.helpers.AdminURLHelper` class now accepts a `base_url_path` keyword argument on its constructor. Custom subclasses of this class should be updated to accept this keyword argument. ### Dropped support for Safari 13 Safari 13 will no longer be officially supported as of this release, this deviates the current support for the last 3 version of Safari by a few months and was required to add better support for RTL languages. ### `PageRevision` replaced with `Revision` The `PageRevision` model has been replaced with a generic `Revision` model. If you use the `PageRevision` model in your code, make sure that: * Creation of `PageRevision` objects should be updated to create `Revision` objects using the page's `id` as the `object_id`, the default `Page` model's content type as the `base_content_type`, and the page's specific content type as the `content_type`. * Queries that use the `PageRevision.objects` manager should be updated to use the `Revision.page_revisions` manager. * Queries for `Page` objects that use `PageRevision.page_id` should be updated to cast the `Revision.object_id` to an integer before using it in the query.