Skip to content

Latest commit

 

History

History
281 lines (190 loc) · 13 KB

changelog.md

File metadata and controls

281 lines (190 loc) · 13 KB

Change Log

[2.2.0] - 2019-07-20

Added

  • Settings page sub-view for donations.

Fixed

  • Makes sure that we have a post object when determining whether a user can view a given post.
  • Makes sure that denied capabilities are an array when filtering user_has_cap.
  • Typo in readme.txt.

Changed

  • Links user count on edit role screen to users by role page.
  • Links user count on manage roles screen to users by role page.
  • Updated the add-ons sub-view with design changes and a "pro" section.

[2.1.0] - 2018-04-19

Added

  • user_name parameter for the [members_access] shortcode.
  • user_id parameter for the [members_access] shortcode.
  • user_email parameter for the [members_access] shortcode.
  • icon-members-core-create-caps.png file for local access to the corresponding add-on thumbnail.

Fixed

  • Incorrect roles (or empty roles) appearing on sub-sites when running multisite.
  • Invalid icon URL on the Settings > Members > Add-ons admin screen.
  • Fix for WooCommerce empty page ID in the private site feature.

Changed

  • Bumped minimum PHP requirement to 5.6+. However, the code should still work on PHP 5.3. This is in preparation for a hard requirement of 5.6+ when version 3.0.0 is released.

[2.0.2] - 2017-11-06

Fixed

  • Role labels should now be handled correctly where the plugin outputs them. This was not corrected in 2.0.1 as previously thought.

Security

  • Corrected a capability escalation issue on multisite where administrators could assign themselves network caps. Administrators are no longer given the create_role, edit_role, and delete_role caps on multisite. A Super Admin must manually set these caps if they want to grant them to a site administrator. Additionally, network caps are always blocked from being assigned.

[2.0.1] - 2017-09-28

Changed

  • Cap groups registered by the plugin bumped up 5 in priority. Primarily, this was to make sure post type cap groups were registered earlier than the default of 10.
  • Better handling of the PHP notice. We're going to check prior to loading any other code and add an admin notice if the site doesn't meet minimum requirements.

Fixed

  • The show_human_caps setting was not properly saving because it wasn't accounted for in the validation callback.
  • Make sure to use the correct $old_user_data variable when removing all roles from a user. Otherwise, this doesn't work.
  • Super admins should be able to see any private site when multisite is enabled.
  • Make sure that role labels (where the plugin outputs them) are the translated version.
  • Multi-role selection has been removed for the Add New User screen on multisite installs. This was to address multiple issues in core with hardcoded values that the plugin couldn't filter. The feature may return in the future in a different form. Note that this doesn't change single-site installs.

[2.0.0] - 2017-07-19

Added

  • Created a new admin view system, where there can be multiple views ("tabs", if you like) on the settings screen and other potential screens in the future.
  • Added an "Add-Ons" view for the Members Settings page, which lists add-ons for the plugin. The default add-ons are pulled from Theme Hybrid.
  • Created an add-ons API for other developers to list their own add-ons.
  • Created a capability registration system and API for plugin developers to register their capabilities with Members. The major benefit of this is having internationalized labels for capabilities.
  • Registered all of the core capabilities with human-readable, internationalized text labels so that users who do not speak English can benefit from capability translations.
  • Added the members_enable_{$post_type}_content_permissions filter hook to allow developers to enable/disable content permissions per post type.
  • Removed the core "Change Role" feature on the manage users screen and replaced it with an "Add Role" and "Remove Role" feature for bulk editing users. Note that this only appears when multiple roles is enabled.
  • Add a multi-role checkbox on the Add User screen when multiple roles are enabled.
  • Added a members_has_post_roles() conditional tag for checking if a post has content permissions roles assigned to it.
  • Added the operator parameter, which accepts a value of !, for the [members_access] shortcode. This allows users to negate the role or cap they've passed in.

Changed

  • Roles states on the manage role screen now have array keys so they can more easily be overwritten.
  • Created a .wp-tab-panel wrapper around the user roles checklist on the edit user screen. This is to prevent long lists of roles from taking up too much screen space.
  • Moved the All capability tab to the bottom of the capability tabs list.
  • Removed the All cap group, since it is not a true cap group.
  • Removed the All, Mine, Active, Inactive, Editable, and Uneditable role groups. These are merely views for the role management screen. They are not true role groups.
  • Created a new, internal registry class for storing various collections of data. Note that this does break back-compat for developers who were directly accessing factory classes in previous versions rather than using the wrapper functions.
  • Old classes were added to the Members namespace or Members\Admin namespace. Again, this breaks back-compat for anyone not using the appropriate wrapper functions. This also bumps the requirement to PHP 5.3.0+.
  • Changed the text in the Content Permissions meta box to not specifically use the term "post".
  • Changed the Content Permissions meta box to have a tabbed UI so that it doesn't take up so much screen space.
  • Replaced the basic textarea with the WP editor in the Content Permissions meta box.

Fixed

  • No longer save content permissions on autosave or for post revisions.
  • Prevent users from adding the internal core WP do_not_allow capability to their role.
  • On multisite with the private site feature enabled, block access to logged-in users who do not have access to the specific blog.
  • Make sure comments show an error in the comments feed if they belong to a private post.

Security

  • General hardening and use of some better functions for escaping.
  • Added a private REST API option for users who are utilizing the private site feature. Users will likely want to enable this. Otherwise, their "private site" is exposed via the REST API endpoints.

[1.1.3] - 2017-02-06

Fixed

  • Removes the customize_changeset and custom_css post type cap groups so that they don't appear in the capability tabs on the edit role screen.

Security

  • Added a check that the role is editable before attempting to add a new role to a user.

[1.1.2] - 2016-06-20

Fixed

  • Bug where custom capabilities would not appear after updating role.
  • Make BuddyPress activation page public in private site mode.

[1.1.1] - 2016-01-09

Changed

  • Allows a hyphen in role names. Alphanumeric characters, underscores, and hyphens now allowed.

Fixed

  • Don't escaped allowed HTML in the login widget textarea.
  • When filter user_has_cap, check that the role is not null.
  • Remove broken property check when unregistering a cap group.
  • Typo corrections in the Content Permissions meta box.
  • Changed an incorrect textdomain instance.

[1.1.0] - 2015-10-12

Added

  • Text Domain plugin header added.
  • Domain Path plugin header added.
  • members_role_updated action hook for when a role is edited/updated.
  • members_role_added action hook for when a new role is created.
  • members_manage_roles_column_{$column_name} filter hook for handling the output of custom manage roles screen columns.
  • members_cp_meta_box_before action hook for hooking in before the Content Permissions meta box.
  • members_cp_meta_box_after action hook for hooking in after the Content Permissions meta box.
  • Added the Members_Role_Factory::remove_role() method to remove a stored role.

Changed

  • Edit/New role forms just check the nonce instead of checking for form fields + nonce to see if the form was submitted (fields can be legitimately empty).

Fixed

  • Correct "undefined index" notices with widgets.
  • Make sure custom caps (post types, taxonomies, etc.) that aren't stored get saved when editing a role.
  • Make sure the "All" capability group actually lists all caps from all groups.
  • Use the $user variable instead of $author variable in members_list_users().
  • "Custom" cap group should always be added last.
  • Make sure roles edited with no caps get processed. Previously, we bailed if no caps were set.
  • Remove deleted roles from the manage roles screen list without having to refresh the page.

Security

  • Use wp_strip_all_tags() over strip_tags() for sanitizing the role name.
  • Use esc_url_raw() to escape the redirect URL after creating a new role.

[1.0.2] - 2015-09-15

Fixed

  • Make sure $attr is set by shortcode_atts() in the [members_access] shortcode.
  • Use members_current_user_has_role() in the [members_access] shortcode.
  • Use ! empty() to validate the checkboxes when settings are saved.

[1.0.1] - 2015-09-14

Fixed

  • Only load edit-role.js on the role management screens.

[1.0.0] - 2015-09-13

Added

  • Ability to clone existing roles.
  • Add multiple roles per user.
  • Ability to explicitly deny capabilities to roles.
  • Capability groups to find related caps when editing a role.
  • Role groups to group related roles together.
  • Content Permissions handles HTML, shortcodes, and auto-embeds.
  • Disabled capabilities (via wp-config.php settings) no longer show cap lists.
  • Additional role and capability functions to extend WP's existing APIs.
  • Role translation filters so that plugin authors can make role names translatable.
  • Uneditable roles are now shown in the UI. They can be viewed but not edited.
  • Members_Role object and API to extend WP's existing Roles API.
  • Plugin authors can now add meta boxes to the edit role screen.
  • Underscore JS based capabilities editing box for roles.

Changed

  • Complete UI overhaul for all user-facing components in the plugin.
  • Overhaul of all text strings in the plugin.
  • Shortcodes are now prefixed with members_. Old shortcodes will continue to work.
  • Overhauled the widgets code with new text strings and general code cleanup.
  • Using the newer WP help tab functionality with custom tabs.

Deprecated

  • members_get_active_roles(). Replaced by members_get_active_role_names().
  • members_get_inactive_roles(). Replaced by members_get_inactive_role_names().
  • members_count_roles(). Replaced by members_get_role_count().
  • members_get_default_capabilities(). Replaced by members_get_wp_capabilities().
  • members_get_additional_capabilities(). Replaced by members_get_plugin_capabilities().

Removed

  • Upgrade routine.
  • All old translation files since the text strings were overhauled.
  • Plugin constants in favor of Members_Plugin properties.
  • $members global in favor of Members_Plugin properties.

Fixed

  • Content Permissions meta box now accepts HTML on the edit post screen.
  • User levels are now hidden from the role capability count.
  • Uses the proper path for translation files in case plugin folder name changes.
  • An "Are you sure?" (AYS) popup prevents users from inadvertently deleting roles.
  • Added missing export and delete_themes caps to the core caps backup function.
  • Removed CSS code that was hiding the "collapse menu" button for the admin menu.

Security

  • Added the members_sanitize_role() function.
  • Added the members_sanitize_cap() function.
  • Security hardening by making sure all URLs are escaped.
  • Security hardening by making sure all dynamic data is escaped.
  • Security hardening by escaping translated text.

[0.2.5] - 2015-07-09

Fixed

  • Deprecated old widget constructor method in favor of using __construct() in preparation for WP 4.3.
  • Removed old /components folder and files that's not used.

[0.2.4]

  • Fixed content permissions not saving for attachments. Note that this only protects content and not media files.
  • No longer runs the upgrade script when WP_INSTALLING is TRUE.

[0.2.3]

  • Fixes the strict standards notice "Redefining already defined constructor for class Members_Load".
  • No longer uses & for passing the role name by reference on plugin activation.
  • Fixes the [feed] shortcode, which was using the wrong callback function.

[0.2.2]

  • No longer displays non-editable roles on the edit roles screen.

[0.2.1]

  • Fixes the " Creating default object from empty value" error.

[0.2.0]

  • Updated everything. Nearly all the code was rewritten from the ground up to make for a better user experience.
  • Plugin users should check their plugin settings.

[0.1.1]

  • Fixed a bug with the Content Permissions component that restricted access to everyone.
  • Added missing internationalization function call: load_plugin_textdomain().
  • Added new /languages folder for holding translations.
  • Added members-en_EN.po, members-en_EN.mo, and members.pot to the /languages folder.
  • Updated some non-internationalized strings.

[0.1.0]

  • Plugin launch. Everything's new!