Version 1.8
Version 1.8 is a major BuddyPress feature release. BuddyPress 1.8 introduces many new features and enhancements, on top of lots of bugfixes.
For Version 1.8, the database version (_bp_db_version
in wp_options
) was 6080, and the Trac revision was 7278. Read the full ticket log here here.
Highlights
- BP’s packaged styles have been streamlined, so that the styling for things like buttons, text, and form elements are inherited more elegantly from your active theme
- Top-level BP templates now support a robust template hierarchy, allowing theme developers to using standardized naming conventions to provide custom templates for certain contexts – eg, groups/single/index-id-35.php for use with group #35
- The development version of BuddyPress now integrates with WordPress’s automated testing suite, and contains an increasingly large number of unit tests
- Activity and Groups query functions now accept ‘meta_query’ parameters, and Groups accepts ‘order’ and ‘orderby’, for more sophisticated directory filters
- Extensive rewrite of BP_Group_Extension, for greater ease of use and more robust feature set for developers
- The new BP_Group_Member_Query class provides a flexible and powerful underpinning for bp_group_has_members(), including new “role” filters and improved sort tools
- Improved group member management on the Groups Administration Dashboard panels makes it easier to handle groups with large numbers of members
User Features
Activity
- Improved the internal logic of the “Favorites” activity tab, so that the “Show” dropdown can be used to filter results (#4872)
- When sending an @-message via the “Public Message” button, send user to the Activity directory rather than the logged-in user’s profile (#3384)
- Fixed bug that caused just-deleted activity comments to reappear in stream when toggling show/hide on the parent (#4844)
- When deleting or creating activity comments on a single activity page, update the “Show all x comments” comment count (#4844)
- Fixed bug that caused item duplication when clicking “Load More” after items had been dynamically added (#4897)
- Introduced comment-specific permalinks in the anchor tags of activity comment timestamps, for better linkability (#4741)
Administration
- Improved the process of upgrading from versions of BP before 1.5 (#4935)
- Improved localizability on some admin panels (#4922)
- Added “Are you sure?” dialogs when attempting to delete xprofile groups/fields
- Improved usability on xprofile admin pages (r7011, r7012)
- Added sortable column support for the Groups Administration Dashboard panels
- Added pagination for Manage Members subsections of Groups Administration Dashboard panels (#4977)
- Added screen-reader-text labels to some admin panel pages
- Reintroduced legacy forums admin panels for installations that are using bbPress 1.x (#4999)
- Fixed incorrect timestamps on Activity admin panels (#4573)
Blogs
- The title of the “Recent Networkwide Posts” widget can now be edited by the admin (#4982)
- The title of the “Recent Networkwide Posts” widget can now optionally be linked to the Blogs directory, for better parity with other component widgets (#4982)
General
- Removed the “to disable…” text from notification emails when the Settings component is disabled, to avoid 404s (#4923)
- Fixed a bug in the way toolbars are shown to logged-out users (#4803)
- Improved the way that spammers are prevented from accessing the site after the inital spamming (#4814)
- Improved the text shown to newly registered members (#4962)
- Added ‘Create a Group’ and ‘Create a Blog’ links to the WP Toolbar (#1838)
- When a registration fails because it fails to validate, the profile fields are now pre-populated with the previously entered values (#4958)
- Improved feedback for username errors during registration (#4939)
- Added a Log In link to the activation page template, for a smoother registration experience (#4963)
- Only show the “Edit Member > User Capabilities” toolbar item if the Settings component is active (r7226)
Groups
- Fixed a bug in the Groups Dashboard panel that caused third-party plugin actions not to run after attempting to remove all users from a group (#4930)
- Improved the UX of the “Notify group members…” toggle on the ‘edit-details’ screen of single group admin (#4344)
- Improved the appearance of the Groups Administration Dashboard panels (r6984)
- Added an “Add New” link to Dashboard > Groups header
- Fixed a bug that caused group admin tabs added by plugins to stop being added to the group in certain circumstances (#4586)
Members
- Fixed bug that caused users with apostrophes and other special characters in their display names not to be returned in certain types of searches (#4933)
Messages
- Fixed bug in “To” autocomplete that caused usernames with hyphens not to be returned properly (#4779)
- Fixed a bug in the “Popular” sort order (#4937)
Profiles
- Fixed bug in the way that required multiselect fields are processed for errors (#4978)
- Added “Are you sure…” prompt when users attempt to leave the profile edit page without saving their changes (#4958)
- When a user updates the visibility level for a profile field, update the “This field is visible to…” gloss (#4958)
Theme
- When leaving the “What’s New” field, shrink if it’s empty (#4364)
- Improved the appearance of the “Send Invites” screen on bp-legacy
Development, Themes, Plugins
Activity
- Improved bp_activity_add_user_favorite() so that it can be used for users other than the one currently logged in (r6925)
- Added a ‘meta_query’ parameter to the bp_has_activities() stack, allowing activity queries to be filtered by metadata (#3521)
- Improved support for activity items where the associated user_id = 0 (#4971)
- Improved localization support for new activity counts (#4916)
- When deleting an activity item, clear its metadata cache as well (#4803)
- Fixed incorrect function call in bp_total_mention_count_for_user() (r7057)
- Improved the way activity actions are registered in certain cases (#4979, #4980)
- Added support for ‘order’ and ‘orderby’ params for bp_get_groups() (#4483)
- Added default user fallbacks in bp_get_total_favorite_count_for_user() and bp_get_total_mention_count_for_user() (#4998)
- Added a bp_activity_do_mentions() toggle for @-mentions (#3388)
- Support for activity @-mentions can now be disabled, using the ‘bp_activity_do_mentions’ filter
Blogs
- Improved the efficiency of bp_blogs_record_existing_blogs(), by not querying entire user objects (#4856)
- Removed the author ID check when checking for previous new_blog_post entries, to better account for mods in author (#4806)
General
- Introduced automated testing suite (#4889)
- Improved behavior of “block_self” parameter of BP_Button (#4709)
- Improved efficiency during bootstrap, by avoiding certain get_blog_option() calls (#4914)
- Introduced bp_core_get_upload_dir(), for better performance on multisite (#4948)
- Improved the way home links are generated with site_url() (#2549)
- Improved the use of WP filters with BP widget titles (#4299)
- Removed some uses of extract(), because extract() is not cool (r7052, r7064, r7091)
- Improved localization support for bp_core_time_since() (#5015)
- Implemented is_callable() for callback verification where possible, for greater developer flexibility (#4794, #4860)
- Improved the way get_views() links are built on admin panels (#4901)
- Fixed bug in the auto-calculation of BP_ROOT_BLOG on certain multisite setups (#4917)
- Added a check for load_plugin_textdomain() before loading custom translations, for compatibility with future wordpress.org translation setups (#5030)
- Introduced BP_Activity_Feed class, for less redundant definitions of activity RSS feeds (#5020)
Groups
- Added a ‘meta_query’ parameter to the bp_has_groups() stack, allowing groups queries to be filtered by metadata (#3521)
- Introduced ‘bp_groups_admin_manage_member_row’ hook, allowing plugins to add new actions to Manage Members rows on the group administration panels (r6959)
- Rewrote BP_Group_Extension, for massively improved flexibility and ease of use (#4955)
- Fixed a bug that caused BP_Groups_Group::id to non-zero in some cases where the requested group does not exist (#4185)
- Moved the setting of initial group metadata (last_active, total_member_count) into groups_create_group(), for better support for programmatic group creation (#4827)
- Improved the way group member count metadata is refreshed on membership events, to reduce redundancy and the chance for error (#5018)
Members
- Improved the way the ‘include’ param of BP_User_Query is parsed, so that it can be combined with ‘user_id’ (#4938)
- Fixed bug in the way the ‘user_id’ param of BP_User_Query is auto-set (#4938)
- Added ‘bp_user_query_online_interval’ filter, to allow plugins to modify the number of minutes used to calculate “online” members (#4347)
Messages
- Added a new filter bp_get_send_message_button_args, for better parity with button filters in other components (#4536)
Profiles
- Fixed bug in BP_XProfile_Field::populate() that made it impossible to pass a manual user_id (#4912)
Theme
- Fixed some invalid markup in bp-legacy templates (#4932)
- Fixed an issue with the way the ‘buddypress’ class was added to <body> elements (#4928)
- Improved markup for legacy widgets, so that BP’s CSS plays nicely with theme styling (#4869)
- Modified the way cookie values are passed during AJAX calls, to avoid potential 414 errors (#4606)
- Improved the theme compatibility process to be less intrusive of other plugins modifying the_content (#5021)
- Improved styling for HTML5 elements in bp-legacy (#4116)
- Added ‘submitted’ class that toggles on whats-new-form when posting activity items, for use in child themes (#4816)
- Improved DOM traversal when submitting activity update (#4816)
- Introduced support for ‘template stack’ locations for JS and CSS files (#4949)
- Miscellaneous de-theming of bp-legacy stylesheets (#4953)