Version 2.4.0
Version 2.4.0 is a major BuddyPress feature release.
For Version 2.4.0, the database version (_bp_db_version in wp_options) was 10071, and the Trac revision was 10321. Read the full ticket log here here.
Highlights
- BuddyPress Cover Images
Built on top of the BuddyPress Attachments API, Cover Images beautify your profile or group header. Thanks to the BuddyPress Theme Compatibility API, Cover Images should integrate with your Theme in the best way and adapt to your device screen size. To find out more about this feature, view the accompanying codex article. - Member-type specific profile fields
Introduced in 2.2.0, the Member Types feature allows developers to categorize the members of their community in any way they choose – say, students and teachers. If your community uses this great feature, you can now specify that profile fields be made available to either one, some, or none of the registered Member Types. - Enable richtext editing for textarea profile fields
2.4.0 now allows members to use richtext when filling in textarea profile fields, thanks to TinyMCE editor integration. - Companion stylesheets for WordPress themes, Twenty Sixteen and Twenty Thirteen
2.4.0 comes with two new companion stylesheets to make BuddyPress content work and look even better in the upcoming Twenty Sixteen theme and its older friend, Twenty Thirteen. - Allow developers to create custom group home pages
A new template hierarchy is now available to customize each and every group’s home page. Just use the newfront.php
template inside your single groups templates directory. For more info, read our blog post on our development blog. - Accessibility Upgrades in the Frontend and Backend
BuddyPress 2.4.0 includes major improvements to the accessibility of our front-end templates as well as our Dashboard screens, including adding labels, ‘for’ attributes, and aria-role where applicable. This release marks the first stage in a concentrated effort to make BP even more accessible to users of all abilities.
User Features
Activity
- Fix issue where the “Comments” activity filter could cause an infinite loop (#6518)
Administration
- Accessibility improvements throughout admin dashboard pages (#6532, #6616, #6655, #6624, r10165)
- XProfile admin: Allow community moderators to edit profile fields in the WordPress admin dashboard (#6520)
- XProfile admin: Fix display of profile group names and descriptions (#6081)
- XProfile admin: Add missing CSS rules for uploader warnings (r10050)
Blogs
- Fix issues when filtering activity with the “Comments” option from the “Show” dropdown filter (#6485)
- Fix issue where emptying post comment trash does not delete the corresponding activity item (#6484)
- Fix issue where duplicate activity comments could be created when javascript is disabled during post/activity synchronization (#6494)
- Record activity item for blog post if it doesn’t exist when a post comment is posted during post/activity synchronization (#6530)
Core
- BuddyPress directory page search parameters have changed from
?s
to component-specific parameters like?groups_search
. For those that have hardcoded something likeexample.com/groups/?s=XXX
into their templates, please change these links toexample.com/groups/?groups_search=XXX
. (#5087) - When a component directory is set to the front page, don’t interfere with blog searches (#5087)
- Better orientation support for uploaded images from mobile devices (#5089)
- Allow root profiles feature to work when the ‘Members’ page is nested (#6477)
- Accessibility improvements for widgets (#6617, #6625, r10114, r10115, r10116, r10117, r10118, r10119, r10120, r10121, r10122, r10123)
- Accessibility improvements for component search forms (#6627)
- Make sure to display the full content of the image during cropping (#6586)
Friends
- No changes
General
- No changes
Groups
- Introduce cover images for groups (#6570, #6646)
- Allow developers to create custom group home pages (#6388)
- Fix issues when requesting private group membership (#5790)
Members
- Improve site performance for logged-out users (r9936)
Messages
- Allow community moderators to view a user’s private messages page (#6412)
- Add better error messages when composing a message. (#6535, #6466)
Notifications
- No changes
Profiles
- Introduce cover photos for member profiles (#6570)
- Allow profile fields to be restricted to users belonging to one or more member types (#5192)
- Enable richtext editing for profile
'textarea'
fields (#5625, #6722) - Introduce cache support when fetching profile fields or profile groups (#6638)
- Accessibility improvements (#6655)
Settings
- Fix notice to display the new email address when a change of email address is pending (#6163)
Theme
- Add companion stylesheet support for WordPress theme, Twenty Sixteen (#6648)
- Add companion stylesheet support for WordPress theme, Twenty Thirteen (#6533)
- Better styling and usability for the “What’s New” activity post form (#6569)
- Fix issue with avatar display in companion stylesheet for Twenty Fifteen (#6676)
- Fix issue with list style display in companion stylesheet for Twenty Fifteen (#6689)
- Accessibility improvements throughout bp-legacy template parts (#6618, #6531, #6605)
- Increased theme compatibility for BuddyPress widgets (#6532)
Development, Themes, Plugins
Activity
-
Introduce
'fields'
parameter tobp_has_activities()
stack. #6426 - Allow RSS handler to be modified on the
'bp_activity_feed_prefetch'
action (#6420)
Administration
- Activity admin: Include new hooks to ease customization (#6611)
- Activity admin: Fix untranslated date in admin list table (#6436)
- Members admin: Fix overlap with on-screen notices that may be introduced by other plugins on the “Edit User” screen (#6631)
- XProfile admin: Fix PHP notice when adding new profile field with no name (r10243)
- XProfile admin: Remove duplicate IDs in
fieldset
markup (#6472) - Avoid using HTML tags in translation strings (#6660 – r10263, r10262, r10261)
- Various code auditing (r9974)
Blogs
-
Introduce
'title'
argument forbp_get_blog_avatar()
(#6519) - Introduce
'bp_blogs_recorded_existing_blogs'
action (r9979) - Fix closing element in ‘Recent Networkwide Posts’ widget (#6536)
- Various code auditing (r9959)
Core
- We’ve reached our 10,000th commit! (r10000)
- BuddyPress requires at least WordPress 3.8 (#6258, #6621, #6635)
- Introduce new functions for the BuddyPress Attachments API (r10151)
- Introduce new functions for the BuddyPress Theme Compatibility API (r10153, #6715)
- Introduce new function,
bp_attachments_create_item_type()
, to dynamically generate an Avatar or a Cover Image (#5202) - Allow class extending the
BP_Attachment
class to get the original WordPress upload dir within theirupload_dir_filter()
method (#6591) - Uploader: Make sure to extend the window.bp global instead of resetting it (r10207)
- Uploader: Avoid duplicate ids in warnings (#6590)
- Introduce a “client side hook” when uploading an avatar or cover image (#6647)
-
Avatars: Support new parameters from WordPress 4.2.0 when filtering
'get_avatar'
(#6622) - Support for
WP_Hook
inbp_get_template_stack()
(#6649) - Limit CSS class deletion in
bp_get_the_post_class()
function (#6615) -
Convert second parameter of
bp_current_user_can()
to an$args
array. (#6501) - Allow plugins to access the
id
property during the'xprofile_field_after_save'
hook (#6545) - Separate
bp_core_new_subnav_item()
into two new functions,bp_core_create_subnav_link()
andbp_core_register_subnav_screen_function()
to allow for better granularity (#6503) - Fix issue with
bp_verify_nonce_request()
when a port is used in the home URL (#6528) - In
bp_verify_nonce_request()
pass correct schemes intohome_url()
(#6528) - Various code auditing (r9989, r9996, r10016, r10091, r10160, r10161, r10162, r10195, r10021, r10258, r10259)
Friends
- Fix SQL syntax error in
BP_Friends_Friendship::search_friends()
(#6546) - Fix issue with using
friends_check_friendship_status()
during the members loop when the legacy user query is enabled (#6577) - Various PHPDoc improvements (r9995)
- Various code auditing (r9945)
General
-
Widgets: Add new
'bp_login_widget_form'
hook in login widget.#6497. - Widgets: Improve the flexibility of the separators in action links. (#6513)
- Avoid using HTML tags in translation strings (#6660 – (r10273, r10272, r10267, r10266, r10265, r10264)
- Merge similar translation strings throughout BuddyPress (#6662)
- Build tools: Add Grunt SCSS to CSS conversion (#6380)
- Build tools: Update grunt-contrib-uglify to 0.9.2 ( #6600)
- Fix issue with
scss-lint
and the'signup_form'
element used on the registration template (#6538) - Update NPM Grunt packages to latest versions (#6539)
- Javascript: prefer
global
overglobals
in a few.js
headers (#6558) -
Various unit test improvements (#6626, #6540, r10124, r9991, r9990,
r9984, r9981, r1004, r10092, r10136, r10143, r10177, r10297, r10293, r10036, r10260) -
Various PHPDoc improvements: (#6576, #6661, r9982, r9987,
r9988, r9993, r9995, r10009, r10010, r10011, r10012, r10014, r10019, r10039, r10052, r10055, r10163, r10180, r10181, r10182, r10183, r10201, r10222, r10248, r10253, r10303, r10304, r10322, r10323) - Update readme.txt with new BuddyPress translations project URL (#6568)
- Mystery person, not mystery man (r10041)
Groups
- Introduce BuddyPress Cover Images functions and templates (#6570, r10158, r10157, r10156, r10155, r10154, r10152)
- Introduce new group creation filters,
'bp_is_first_group_creation_step'
and'bp_is_last_group_creation_step'
(r9940) - Add
$step
parameter tobp_is_last_group_creation_step()
&bp_is_first_group_creation_step()
to allow comparing any step to first & last (r9941) - Introduce new filter,
'bp_get_new_group_invite_friend_list
‘ (r9939) - Fix issues relating to hook firing in
groups_leave_group()
(#6597) - Deprecate broken and obsolete functions (#6442)
- Introduce new class method to fetch groups that a user is banned from (#6562)
- Introduce filter to
groups_format_notifications()
function (#6515) - Add
$group
object to'bp_get_group_join_button filter'
(#6526) - Remove duplicated filter in KSES whitelist (#6495)
- Bail out of saving a group membership if the
group_id
oruser_id
properties are not set (#6524) - Use correct plural string in
bp_get_group_member_pagination_count()
(#6602)
Members
- Add
'member_typein'
and'member_typenot_in'
query parameter support tobp_has_members()
stack (#6418) - Add member type to template hierarchy for members directory (#6588)
- Introduce functions,
bp_profile_slug()
andbp_get_profile_slug()
(r9935) - Various PHPDoc improvements (r9939, r9940, r9942, r9943, r9964)
- Various code auditing (r9938)
Messages
- Add CSS class for “Messages” menu count when on a single conversation thread (#6458)
-
BP_Messages_Thread
objects should always havelast_message_*
properties set (#6580) - Various PHPDoc improvements (#6490)
- Various code auditing (r9925)
Notifications
- Allow plugins to filter
bp_notifications_add_notification()
by usingbp_parse_args()
(#6455) - Various PHPDoc improvements (r9993)
Profiles
- Introduce function,
bp_the_profile_field_required_label()
(#6521, #6575) - Pass field ID to xprofile field type filter methods. #5625
-
Lazy-load visibility properties in
BP_XProfile_Field
. #6638. - Better setting of
id
property inBP_XProfile_Field::save()
. #6545. BP_XProfile_Group::save()
should not return false when a save is successful but no rows are updated (#6552)- Allow plugins to format xprofile-related notifications (#6663)
- Remove leading space from localizable string (#6659)
- Various code auditing (r9937, r9944, r10013, r10015, r10233, r10280)
Settings
- Various PHPDoc improvements (r9994)
Theme
- Introduce new template part for a single message in a message thread loop –
/messages/message.php
(#6572) - Better theme compatibility support for themes using the
singular.php
template (#6636) - Pass all
$_POST
data when a user makes a “What’s New” activity update to allow plugin developers to save custom data (r10294) - Fix issues with setting cookies (#6143, #6614)
- Toggle the ‘active’ class on the “What’s New” activity post form container on focus (#6414)
- Output a plugin’s title if one exists in the members plugins template part (#6486)
- Do not use
overflow: hidden
for#item-header
DIV (#6672) - Move
'bp_friend_requests_item'
action in friend request template to appropriate place (#6583) - Update declarations for
bp-screen-reader-text
class (#6579)