From 678b32e4e79df829801447150085ae44b103e37a Mon Sep 17 00:00:00 2001
From: Thibaud Colas <thibaudcolas@gmail.com>
Date: Tue, 1 Aug 2023 13:47:13 +0200
Subject: [PATCH] Move permissions consolidation and snippet enhancements to
 their own release notes sections

---
 docs/releases/5.1.md | 34 ++++++++++++++++++++++------------
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/docs/releases/5.1.md b/docs/releases/5.1.md
index fa55e097bf..a96778cf48 100644
--- a/docs/releases/5.1.md
+++ b/docs/releases/5.1.md
@@ -56,31 +56,47 @@ Wagtail now supports [AVIF](https://en.wikipedia.org/wiki/AVIF), a modern image
 
 This feature was developed by Aman Pandey as part of the Google Summer of Code program and a [partnership with the Green Web Foundation](https://www.thegreenwebfoundation.org/news/working-with-the-wagtail-community-on-the-summer-of-code/) and Green Coding Berlin, with support from Dan Braghis, Thibaud Colas, Sage Abdullah, Arne Tarara (Green Coding Berlin), and Chris Adams (Green Web Foundation).
 
+### Permissions consolidation
+
+This release includes a number of changes to permissions, to make them easier to use and maintain, as well as to improve performance.
+
+* Add initial implementation of `PagePermissionPolicy` (Sage Abdullah)
+* Refactor `UserPagePermissionsProxy` and `PagePermissionTester` to use `PagePermissionPolicy` (Sage Abdullah, Tidiane Dia)
+* Optimise queries in collection permission policies using cache on the user object (Sage Abdullah)
+* Prevent 'choose' permission from being ignored when looking up 'choose', 'edit' and 'delete' permissions in combination (Sage Abdullah)
+* Take user's permissions into account for image / document counts on the admin dashboard (Sage Abdullah)
+* Deprecate `UserPagePermissionsProxy` (Sage Abdullah)
+* Refactor GroupPagePermission to use Django's Permission model (Sage Abdullah)
+
+### Snippet enhancements
+
+we have made a number of improvements to snippets as part of [RFC 85: Snippets parity with ModelAdmin](https://github.com/wagtail/rfcs/pull/85), ahead of the deprecation of ModelAdmin contrib app.
+
+* Add the ability to export snippets listing via `SnippetViewSet.list_export` (Sage Abdullah)
+* Add Inspect view to snippets (Sage Abdullah)
+* Reorganise snippets documentation to cover customisations and optional features (Sage Abdullah)
+* Add docs for migrating from ModelAdmin to Snippets (Sage Abdullah)
+* Purge revisions of non-page models in `purge_revisions` command (Sage Abdullah)
+
 ### Other features
 
  * Mark calls to `md5` as not being used for secure purposes, to avoid flagging on FIPS-mode systems (Sean Kelly)
  * Return filters from `parse_query_string` as a `QueryDict` to support multiple values (Aman Pandey)
  * Explicitly specify `MenuItem.name` for all admin menu and submenu items (Justin Koestinger)
  * Add oEmbed provider patterns for YouTube Shorts (e.g. [https://www.youtube.com/shorts/nX84KctJtG0](https://www.youtube.com/shorts/nX84KctJtG0)) and YouTube Live URLs (valnuro, Fabien Le Frapper)
- * Add initial implementation of `PagePermissionPolicy` (Sage Abdullah)
- * Refactor `UserPagePermissionsProxy` and `PagePermissionTester` to use `PagePermissionPolicy` (Sage Abdullah, Tidiane Dia)
  * Add a predictable default ordering of the "Object/Other permissions" in the Group Editing view, allow this [ordering to be customised](customising_group_views_permissions_order) (Daniel Kirkham)
  * Implement a new design for chooser buttons with better accessibility (Thibaud Colas)
  * Add [`AbstractImage.get_renditions()`](image_renditions_multiple) for efficient generation of multiple renditions (Andy Babic)
- * Optimise queries in collection permission policies using cache on the user object (Sage Abdullah)
  * Phone numbers entered via a link chooser will now have any spaces stripped out, ensuring a valid `href="tel:..."` attribute (Sahil Jangra)
  * Auto-select the `StreamField` block when only one block type is declared (Sébastien Corbin)
  * Add support for more [advanced Draftail customisation APIs](extending_the_draftail_editor_advanced) (Thibaud Colas)
- * Add the ability to export snippets listing via `SnippetViewSet.list_export` (Sage Abdullah)
  * Add support for adding [HTML `attrs`](panels_attrs) on `FieldPanel`, `FieldRowPanel`, `MultiFieldPanel`, and others (Aman Pandey, Antoni Martyniuk, LB (Ben) Johnston)
  * Change to always cache renditions (Jake Howard)
  * Update link/document rich text tooltips for consistency with the inline toolbar (Albina Starykova)
  * Increase the contrast between the rich text / StreamField block picker and the page in dark mode (Albina Starykova)
- * Purge revisions of non-page models in `purge_revisions` command (Sage Abdullah)
  * Change the default WebP quality to 80 to match AVIF (Aman Pandey)
  * Adopt optimised Wagtail logo in the admin interface (Albina Starykova)
  * Add support for presenting the userbar (Wagtail button) in dark mode (Albina Starykova)
- * Add Inspect view to snippets (Sage Abdullah)
 
 ### Bug fixes
 
@@ -115,8 +131,6 @@ This feature was developed by Aman Pandey as part of the Google Summer of Code p
  * Ensure that audit logs and revisions consistently use UTC and add migration for existing entries (Stefan Hammer)
  * Make sure "critical" buttons have enough colour contrast in dark mode (Albina Starykova)
  * Improve visibility of scheduled publishing errors in status side panel (Sage Abdullah)
- * Prevent 'choose' permission from being ignored when looking up 'choose', 'edit' and 'delete' permissions in combination (Sage Abdullah)
- * Take user's permissions into account for image / document counts on the admin dashboard (Sage Abdullah)
  * Avoid N+1 queries in users index view (Tidiane Dia)
  * Use a theme-agnostic color token for read-only panels support in dark mode (Thibaud Colas)
  * Ensure collapsible StreamBlocks expand as necessary to show validation errors (Storm Heg)
@@ -133,14 +147,12 @@ This feature was developed by Aman Pandey as part of the Google Summer of Code p
  * Document how to add StructBlock data to a StreamField (Ramon Wenger)
  * Update ReadTheDocs settings to v2 to resolve urllib3 issue in linkcheck extension (Thibaud Colas)
  * Update documentation for `log_action` parameter on `RevisionMixin.save_revision` (Christer Jensen)
- * Reorganise snippets documentation to cover customisations and optional features (Sage Abdullah)
  * Update color customisations guidance to include theme-agnostic options (Thibaud Colas)
  * Mark LTS releases in release note page titles (Thiago C. S. Tioma)
  * Revise main Getting started tutorial for clarity (Kevin Chung (kev-odin))
  * Update the [deployment documentation](deployment_guide) page and remove outdated information (Jake Howard)
  * Add more items to performance page regarding pre-fetching images and frontend caching (Jake Howard)
  * Add docs for managing stored queries in `searchpromotions` (Scott Foster)
- * Add docs for migrating from ModelAdmin to Snippets (Sage Abdullah)
 
 ### Maintenance
 
@@ -155,12 +167,10 @@ This feature was developed by Aman Pandey as part of the Google Summer of Code p
  * Add tests to help with maintenance of theme color tokens (Thibaud Colas)
  * Split out a base listing view from generic index view (Matt Westcott)
  * Update type hints in admin/ui/components.py so that `parent_context` is mutable (Andreas Nüßlein)
- * Deprecate `UserPagePermissionsProxy` (Sage Abdullah)
  * Optimise the Settings context processor to avoid redundantly finding a Site to improve cache ratios (Jake Howard)
  * Convert page listing to a class-based view (Matt Westcott)
  * Clean up page reports and type usage views to be independent of page listing views (Matt Westcott)
  * Refactor "More" dropdowns, locale selector, "Switch locales", page actions, to use the same dropdown component (Thibaud Colas)
- * Refactor GroupPagePermission to use Django's Permission model (Sage Abdullah)
  * Convert the `CONTRIBUTORS` file to Markdown (Dan Braghis)
  * Move `django-filter` version upper bound to v24 (Yuekui)
  * Update Pillow dependency to allow 10.x, only include support for >= 9.1.0 (Yuekui)