BuddyPress was updated to version 2.1, from version 2.0.2. Changelog:
2.0.3
- Fixed security vulnerability related to unserialization of user-generated input during the group creation process.
2.1
- New @mentions interface – type a @ when leaving a status update or commenting on an activity item or blog post, and the new suggestions panel will open.
- Set better passwords with the password strength meter on the registration and user settings pages.
- New “URL” XProfile field type.
- Continued performance enhancements, particularly on the Members and Groups directories.
- Higher quality translations (automatically fetched by WordPress), courtesy of our translation volunteers.
- When attempting to @-mention someone, open a suggestions panel allowing the user to select the user to mention.
- Add search support in AJAX “Load More” and “Load Newest” activity actions.
- Ensure that the ‘Comments’ dropdown filter on the activity directory includes new- and old-style comment activity.
- Disable calculating the total activity count when fetching activity items by default. The count is not necessary for the majority of use-cases and adds an overall, performance benefit.
- Overhaul caching for user last_activity values.
- Disable activity reply threading if WP comment threading is disabled.
- Specify logged-in user when getting first name for “What’s new?” activity prompt.
- Activity dropdown filters are now dynamically generated instead of hardcoded into templates. See new function – bp_activity_show_filters().
- Members admin: Introduce “Extended Profile” tab on a user’s profile. This allows admins to edit various BuddyPress information about a user including XProfile fields, the user’s avatar and their user status in the Dashboard.
- Members admin: Allow admins to edit other admin profiles.
- Groups admin: Add a Permalink row and a “Visit Group” button.
- Groups admin: Improve logic for adding a user to a group in the Dashboard.
- Groups admin: Various minor UX improvements.
- Do not interfere with WordPress sign-up process when the user is created from the blog or the network administration (#5789)
- Better slug collision detection when registering a site on a multisite subdirectory install and the root profiles feature is enabled.
- Updating a blog post will now properly create an excerpt for the activity item instead of using the entire post’s content.
- Formally deprecate the BuddyBar.
- Improved image size detection for uploaded avatar images.
- Rename “Avatar” to “Profile Photo”.
- For BP buttons, the block_self parameter should not block buttons when inside a members loop on one’s own profile.
- Remove relational “prev” and “next” links when on a BuddyPress page.
- Performance enhancements when querying friendship status in a member loop.
- On multisite, do not register the Friends widget for non-root blogs.
- Correctly generate pagination links when using AJAX and search terms have been set.
- Overhaul access and visibility control for group tabs.
- Performance enhancements when querying whether a user is banned from a group during a groups loop.
- Improve private group message for non-members.
- For the Groups widget, allow max number of groups to work when greater than 20.
- Disable group avatars if WordPress’ “Show Avatars” setting is disabled.
- Rename the frontend group’s “Admin” navigation menu to “Manage” to disambiguate the string.
- Add password strength meter to registration page.
- Add username to activation email.
- Do not render non-existent registration sub-pages.
- Do not add “new_member” activities if xProfile component is disabled.
- For private message notifications, check that thread ID exists before attempting to link to it. Fixes debug notices and incorrect links when a message thread is deleted before notifications are marked as read.
- For private message notifications, add singular form for “You have x new private messages”.
- Don’t make links in message excerpts clickable.
- Allow users to private message themselves.
- Introduce new “URL” profile field type.
- Only show the xprofile field group tabs in edit mode if there is more than one field group.
- Fix redirect when an admin uploads an avatar to another user’s profile.
- Fix profile fields not rendering if their value is “0”.
- When a user attempts to change their email address, the new address requires email verification before the change is applied.
- Add password strength meter to a user’s settings page.
- Better compatibility with themes that load their template content in advanced ways, like Stargazer.
- Abort duplicate AJAX requests if “Activity > Load More” button is clicked multiple times in succession.
- Fix bug where activity comments were not being shown to anonymous users.
- Fix notice when replying to private group activity updates via AJAX.
- Add ability to query activity items by date.
- In bp_has_activities(), show default to show_hidden=true for members of a group.
- In bp_get_activity_user_link(), check user properties before attempting to use the function.
- In bp-legacy, fix oEmbeds not being rendered when the “Read more” item is clicked in the activity stream.
- Purge activity comment cache when an activity comment is deleted.
- Clear activity comment cache when adding an activity comment with bp_activity_add().
- Introduce bp_activity_delete_url() function.
- Introduce bp_activity_member_display_name() function.
- Improvements to bp_activity_user_can_delete() function.
- In bp_get_activity_comment_permalink(), check that activity comment exists, and fallback on the regular activity permalink if it doesn’t.
- In bp_activity_user_can_delete() check if user_id is set before comparing current user ID.
- In bp_activity_can_comment_reply(), check for and allow an empty $comment parameter, and set to bp_activity_current_comment().
- User signups: Allow plugins to add a custom column to the “User > Manage Signups” page.
- Activity admin: Organize activity action filters by component.
- XProfile admin: Generate list of xprofile field types that support options for Field Admin, rather than hardcoding.
- XProfile admin: Add action hooks for plugin developers.
- XProfile admin: Pass the proper user_id when setting up xprofile meta boxes on the Community Profile Dashboard panel.
- Groups admin: Use bp_moderate capability to determine whether a group can be deleted.
- Members admin: Audit admin/bp-members-classes.php.
- Members admin: Fix notice in `BP_Members_Admin::remove_signups_from_user_query()` method.
- Set default search terms before function params are parsed in bp_has_blogs().
- Improvements to bp_blogs_record_existing_blogs().
- Improvements to bp_blogs_total_blogs_for_user().
- Introduce ‘active_format’ parameter for bp_get_blog_last_active().
- Introduce ‘latest_format’ parameter for bp_get_blog_latest_post().
- Pass parsed parameters to ‘bp_has_blogs’ filter.
- Pass parsed parameters to ‘bp_blogs_record_activity_content’ filter.
- Add activity meta when recording a blog post or blog comment.
- Introduce bp_blogs_get_allowed_roles() and bp_get_current_blog_roles().
- Use bp_get_total_blog_count_for_user() when setting up blog nav.
- Fix notice when activating a member with no role on a multisite configuration.
- Fix warning when updating “Close Comments Days Old” option.
- Introduce Suggestions API. This replaces the inline solutions previously used in the Private Messages component and in the Groups admin dashboard and also powers the new activity at-mentions interface.
- Untangle some load order and mutual dependency issues between component loaders.
- Introduce ‘no_access_url’ parameter to bp_core_new_subnav_item().
- Allow bp_register_template_stack() / bp_deregister_template_stack()to be called from class methods.
- Add new search_wildcard parameter to BP_User_Query.
- Make sure BP_User_Query returns correct results when search term contains the ampersand character.
- Refactor all uses of like_escape() to use bp_esc_like(). like_escape() is deprecated in WordPress 4.0.
- Fix bug where wp_signups table would not get created on single-site installations when the DO_NOT_UPGRADE_GLOBAL_TABLES define is set.
- Fix bp_is_current_component_core() to reference BP core components.
- Fix issues with bp_core_time_since().
- Change the default value of bp_disable_profile_sync() to false.
- Don’t attempt to overload add_root property in bp_core_add_root_component().
- When creating directory page mappings, check for and use pages that already exist with a matching slug.
- More conservative page_template checks in bp_is_current_component().
- Add return values for bp_update_option() and bp_delete_option().
- Fix issues with redirect link for login / logout links on subdirectory installs.
- In bp_is_group(), make sure the Groups component is active before trying to get current group.
- Fix notices when the root profiles feature is enabled.
- In bp_core_load_template(), only use locate_template for older bp-default themes.
- Separate out registering and enqueuing of WP Toolbar styling.
- Add parent and child menu CSS classes to BuddyPress navigation menus.
- In BP_Component::includes(), ensure dynamic action fires even when $includes array is empty.
- Fix ability to query for users by letter and also exclude certain users.
- Prevent debug notices in bp_get_avatar_to_crop_src() when there is no uploaded avatar to crop yet.
- Officially deprecate bp_avatar_upload_form(). This function has not been used for several years and calls a function that no longer exists.
- Update BuddyPress’ development trunk (buddypress.svn.wordpress.org/trunk) to a Grunt-powered build system.
- During unit test bootstrap, rework the way the WP tests directory is inferred to support WP_DEVELOP_DIR.
- For those running BuddyPress’ development trunk, support symlinking the main buddypress directory.
- Improved Travis CI performance.
- Remove translation POT file from development trunk.
- Add .editorconfig file, see http://editorconfig.org/.
- i18n: Improvements to strings across all components.
- Various phpDoc improvements.
- Various WordPress coding standards.
- Introduce ‘group_activity’ sort order for group member queries.
- Add support for disabling pagination in BP_Groups_Group::get() by passing per_page=-1.
- BP_Group_Extension should automatically handle redirects after the ‘edit’ screen save routine.
- Introduce bp_group_is_invited() function.
- Introduce ‘bp_groups_get_orderby’ and ‘bp_groups_get_orderby_converted_by_term’ filters to allow group order to be customized in a groups loop.
- Clean up parsed meta query in BP_Groups_Group::get_meta_query_sql().
- Cache results for `BP_Groups_Member::get_group_administrator_ids()`. This leads to performance enhancements when viewing a group loop and the logged-in user is a member of each group.
- Allow empty string to be passed to the ‘search_terms’ parameter in the bp_group_has_members() loop.
- Allow group member avatar functions to pass an array of arguments.
- Fix bug related to the use of the ‘compare’ operator when querying groups by meta query.
- Refactor BuddyPress user ID functions to use WordPress’s get_user_by() function instead of direct database queries.
- Standardize placement of ‘bp_get_activity_latest_update_excerpt’ filter.
- Use raw member count, not formatted number, when localizing via _n() in bp_get_members_pagination_count().
- Move blog subdomain base functions to the Members component to ensure site registration will work even if the Blogs component is inactive.
- Properly deprecate original notifications functions out of members component and back into core.
- Fix incorrect filter name in bp_get_member_registered().
- Allow a custom string to be passed into the ‘active_format’ parameter in bp_get_member_last_active().
- Introduce bp_get_the_thread_message_css_class() template function.
- Introduce bp_the_thread_message_sender_id().
- Introduce bp_the_thread_message_date_sent().
- Introduce bp_message_thread_last_post_date_raw().
- Pass userdata variable to message content filters when sending notifications.
- Fix notices in messages_format_notifications().
- Allow bp_has_notifications() loop to support all available parameters.
- Fix inability to limit the maximum number of visible notifications.
- Introduce bp_the_notification_delete_url() and bp_get_the_notification_delete_url().
- Introduce bp_the_notification_mark_read_url() and bp_the_notification_mark_unread_url().
- Introduce bp_notifications_get_all_notifications_for_user().
- Introduce BP_XProfile_Field_Type::display_filter() and implement in BP_XProfile_Field_Type_Datebox class.
- Introduce BP_XProfile_Field_Type::pre_validate_filter() and implement in URL field type.
- Introduce bp_the_profile_field_ids().
- Fix issue when passing multiple group IDs to the exclude_groups parameter in BP_XProfile_Group::get().
- Purge profile group cache when profile groups are reordered.
- Allow plugin devs to set the option_order parameter in xprofile_insert_field().
- Don’t skip filter in BP_XProfile_Field::get_children() when no children are found.
- When a user’s profile is updated, correctly pass the fields’ previous values to the xprofile_updated_profile action.
- Add extra arguments to the xprofile_data_value_before_save and xprofile_filtered_data_value_before_save filters.
- Introduce bp_xprofile_get_groups() procedural wrapper for BP_XProfile_Group::get().
- Add state CSS classes to xprofile field visibility elements.
- Add field-specific CSS classes to xprofile field divs in register.php.
- Add CSS class to xprofile fields indicating whether they are required.
- In bp_get_the_profile_field_ids(), make sure field group has fields before attempting to pluck ID’s from it.
- Remove inline jQuery ScrollTo, Cookie and Querystring scripts and properly enqueue them.
- Fix invalid HTML markup on step 2 of the “Create Group” form.
- Fix CSS for form label widths.
- Remove extraneous colon from registration template.
- Wrap ‘Everything’ text in em dashes to more appropriately match other default select options.
- Remove text-zoom override from default responsive theme-compat styling.