##### Added
* Added a "Reset Roles" feature to the role editor. It can reset the default roles to their default capabilities. Unlike some other similar plugins, you can choose which roles to reset and you don't lose custom roles. However, the downside is that it uses predefined defaults which may eventually become outdated. Before resetting roles, check the WordPress version number shown in the "Reset roles to defaults" screen.
##### Fixed
* Fixed a conflict with Toolset Types and Toolset Blocks 1.6.18 that prevented the content template editor and several other Toolset pages from working.
* Fixed Quick Search treating headings inside admin notices as sections.
* Added a workaround for plugins and themes that could crash in the "Content Permissions (AME)" meta box due to how AME detects post type capabiliites. On new installations, the workaround will be applied automatically if the meta box runs into a fatal error the first time AME tries to display it. In other cases, you can apply it manually by going to the "Settings" tab and unchecking this option: "Detect post type capabilities by checking them with a non-existent user".
##### Changed
* The role list is now sorted. The default roles like like "Administrator", "Editor", etc are shown in a predefined order, while the rest are sorted alphabetically. Previously, roles were shown in the order they were created.
Fixed
* Fixed the "Disable Customizations" -> "Admin menu content" tweak not working on sites without plugins. It had a bug that was masked by having specific other plugins installed (e.g. "Classic Editor"), so it would work only on sites that were also using those plugins.
* Fixed a potential crash in the Admin Customizer.
- Improved reliability of the ‘Hide the “Patterns” tab’ and the ‘Hide the “Media” tab’ tweaks. It appears that the block inserter tabs can have different IDs on different sites (even on sites running the same WP version) so it’s difficult to hide them consistently.
- Fixed an issue with HTTP request method validation that could cause some of the new “Quick Search” features to fail in some server configurations (e.g. old PHP versions).
##### Added
* Added a way to control access to specific posts and pages. The new "Content Permissions" box in the post editor lets you choose which roles will be able to see a post. It also has an "Advanced" tab where you can enable or disable individual permissions like read/edit/delete for each role. Finally, you can control what happens when someone who doesn't have permission tries to view a post: you can replace the post content with something else, show a custom error, simulate a "404 Not Found" error, or redirect the user to a custom URL.
* Added "Quick Search": a pop-up search box that searches admin menus. Optionally, it can also search admin pages for specific settings, tabs, filter links, and a few more things. You can open the search box by pressing the Shift key twice or clicking the search icon in the Toolbar/Admin Bar. You can configure this feature in the new "Quick Search" tab or turn it off in the "Settings" tab (under "Modules").
* Added margin settings for menu headings.
* Added "Disable Customizations" tweaks that you can use to disable the custom admin menu, custom metabox visibility, and a few other things for specific roles or users.
* Added a filter that can be used to turn off admin menu customizations. Basic example: `add_filter('admin_menu_editor-disable_customizations-admin_menu_structure', '__return_true');`
* Added an option to highlight unsaved changes (i.e. enabled/disabled capabilities) in the "Roles" tab.
* Added an "Optimize menu configuration size" option to the "Settings" tab. It makes the plugin store the admin menu configuration in a more space-efficient format, which should reduce the size of the "ws_menu_editor_pro" database entry. This option is enabled by default. Previously, this was controlled by the option "Compress menu configuration data that's stored in the database", but now the "Compress..." option only applies to actual compression.
##### Fixed
* Fixed default redirects not being saved due to a bug in the "delete settings associated with missing roles" feature.
* Fixed the "Highlight background" color setting in admin menu colors not completely overriding the "Menu highlight background" setting in the general admin color scheme.
* Fixed a potential crash when the Zlib extension is enabled but the gzuncompress() function is disabled.
* Fixed a PHP warning related to WP Adminify that was triggered by trying to parse an invalid hook callback.
* Fixed the "Hide the Gutenberg options menu" tweak not working in WP 6.7.x.
* Fixed the tweaks that hide the "Media" and "Patterns" tabs in the Gutenberg block inserter not working in WP 6.7.x.
* Fixed a potential CSS issue where menu heading styles failed to override general menu item styles.
* Fixed a minor conflict with Elementor that caused the hidden menu items "Elementor -> Connect" and "Elementor -> Note Proxy" to become visible.
* Fixed the left side of the focus outline being cut off for capability checkboxes in the "Roles" tab.
* Fixed a potential caching issue with generated CSS stylesheets.
##### Changed
* Adjusted the size and layout of the top settings tabs on the "Menu Editor Pro" page in situations where the tabs don't fit on a single row.
* Removed the "Screen Options" panel fron the menu editor. The only option that was in that panel - "Hide advanced options" - is still available in the "Settings" tab (in the "Interface" section).
* Tested with WP 6.7.2; partially tested with WP 6.8-alpha.
* Increased minimum required WP version to 5.4.
Added
* Added the "CSS classes" field to submenu items. You can use it to add custom CSS classes to menu items. Previously, only top level menus had this field.
* Updated the capability database. The plugin uses this to categorize the role capabilities shown in the "Roles" tab.
Fixed
* Fixed a bug introduced in version 2.26 that prevented certain blocks from rendering in the default block editor. This only affected blocks that call the "block-renderer" REST API.
Added
* Added a "Nav Menus" tab that lets you hide navigation menu items from roles and users. It supports both classic navigation menus and block-based navigation menus used by FSE themes. In addition to per-role settings, you can also hide menu items from all logged-in users or all logged-out users.
Fixed
* Fixed a bug introduced in version 1.12.3 that could cause the "Redirects" tab to be blank in some configurations. The bug also triggered this JS error: "settings.redirects.map is not a function".
* Fixed a WooCommerce conflict where two "Subscriptions" menu items would appear when AME was active.
Added
* Added background color settings for submenu item hover states, both for the admin menu and for the Toolbar.
* Added a background color setting for the currently active admin menu item.
* Added an option to open the admin menu logo link in a new tab.
* Added an option to automatically delete settings associated with missing roles and users. This only applies to certain settings, such as menu permissions and login redirects. "Missing" means that the role or user doesn't exist on the current site, which usually happens when it has been deleted. In Multisite, it can also happen if different subsites have different roles. By default, this option is enabled on regular sites and disabled in Multisite.
Fixed
* Fixed a WooCommerce conflict where two "Orders" menu items would appear when AME was active.
* Fixed a rare PHP warning "Undefined array key "parent" in ... menu-editor-core.php".
* Fixed a potential crash if the global `$menu` variable is not a native array but is still array-like.
* Improved compatibility with old versions of UiPress.
Changed
* Improved menu drag & drop from the top level to the submenu. You can now drop items anywhere in the active submenu, not just at the bottom.
* Tested with WP 6.5.5.
Fixed
* Fixed the WooCommerce admin page header staying in its old place when changing the admin menu width, the Toolbar height, or when hiding the Toolbar completely. Now the page header will be automatically moved or resized so that it's still fully visible.
* Fixed custom menu items that use the "Embed WP page" feature sometimes having different item URLs for different users or having the URL change unnecessarily. With this update, the URL will change the next time you save the admin menu, but after that it should generally stay static unless you select a different embedded page.
* Fixed synced patterns (a.k.a. reusable blocks) not working when AME Pro is active and *any* Gutenberg blocks are hidden.
* Fixed a potential PHP warning about array indexing in `hide-others-posts.php` when at least one of the "Hide Other Users' Posts" options was enabled in the "Tweaks" tab.
* Updated the MailPoet compatibility fix for MailPoet 4.49.1. Now custom admin menu colors should once again work on MailPoet's admin pages.
* Fixed a fatal error "Cannot use a scalar value as an array" when trying to save changes on the "Easy Hide" page.
* Fixed a conflict with UIPress that was introduced in version 2.24. The conflict prevented most admin menu settings from being applied. For example, hidden menu items would become visible, menu order would reset, renamed items would display the old title, and so on. Custom menu permissions were still effective, so unchecked items would be visible but inaccessible.