Version 1.9
Version 1.9 is a major BuddyPress feature release. BuddyPress 1.9 introduces many new features and enhancements, on top of lots of bugfixes.
For Version 1.9, the database version (_bp_db_version
in wp_options
) was 7553, and the Trac revision was 7682. Read the full ticket log here here.
Highlights
- The new Notifications component, which adds a Notifications menu to user profiles
- New widgets: Friends, Log In, Sitewide Notices
- Dynamic BuddyPress links for nav menus created at Dashboard > Appearance > Menus
User Features
Activity
- Fixed activity mentions RSS feed (#5124)
- Fixed number of items queried for in activity RSS feeds (r7466)
- Fixed bug that showed the activity comment block underneath an activity comment entry (#5172)
- Improved number-formatting localization in activity count functions/templates (#5231)
Administration
- Improved XProfile field edit screen UI (#5094)
- Use 'bp_moderate' capability check for Activity and Groups panels (#5115, #5177)
- Fixed bulk deletion bug in the Groups dashboard (#5105)
- Introduced a "BuddyPress" links metabox on the "Appearance > Menus" page (#5122)
- Fixed bug where adding a member via autocomplete in the Groups dashboard might fail (#5187)
- Fixed bug where BuddyPress' spam routines were not firing when marking multiple users as spam / ham on the "Network Admin > Users" page (#5229)
- Improved admin notices code (r7552)
- Fixed bug when replying to activity entries from the Activity dashboard (#5014)
- Fixed timestamp permalink on the Activity dashboard (r7580)
- Added "About BuddyPress" link to WP-logo menu in the WP admin bar (#5285)
Blogs
- Improved support for scheduled posts being recorded in the activity stream (#4090)
Core
- Added deprecated notices to older core notifications functions (r7627). New plugin developers should check out the new bp-notifications component (#5148)
- Fixed bug in BP_User_Query to prevent fetching spam users on alphabetical sort (#5144)
Friends
- Reworked "Cancel Friendship Request" button UX in member directories (#5157)
- Introduced Friends widget, which shows a list of the user's friends when on a member page(#5008)
General
- Replaced mentions of 'blog' with 'site' (#5006)
- Fixed bug where total item counts were being improperly rendered (#5228)
- Rounded calculated image sizes before concatenating cropper javascript (#5245)
- Fixed issue with 404 page status not being sent on invalid root profile pages (#5149)
- Improved image sizing for avatars to prevent unsightly stretching (#5074)
- Don't modify <title> element on 404 Page Not Found pages (#5257)
Groups
- Fixed redirect location when a user leaves a hidden group from the group's page (#5077)
- Improved UX logic for group invites and requests (#5032)
- Improved compatibility with foreign characters in group slugs (#5056)
Members
- The title of the "Recently Active Members" widget is now translatable (#5101)
- Added a redirect to the current page when logging out via the WP admin bar (#5136)
- Introduced Login widget (#1474)
- Cast a broader net when checking wp-login.php for spammed users (r7515)
- Better compatibility with BP_ENABLE_USERNAME_COMPATIBILITY_MODE (#5185)
- Better registration routine when validating usernames (#5185)
- Fixed bug where a user's avatar was not being removed on user deletion (#5044, #5242)
- Only show the 'Edit Profile' and 'Edit Avatar' admin bar items if the Profiles component is active (#5253)
Messages
- Introduced Sitewide Notices widget (#5143)
- Fixed bug where if a user had a numeric nicename, private messages sent by this user could be sent to the wrong user (#5151)
Notifications
- Introduced new bp-notifications component (#5148)
Profiles
- Redirect to user's profile page after successful avatar crop (#5150)
- Fixed bug where hidden xprofile fields were not showing for admins (#4984)
- Added placeholder text for xprofile field group title field (#5069)
- Improved verbiage for profile visibility levels (r7510)
- Added placeholder text for all select box profile fields (r7599, #5184)
Settings
- The Settings component is now activated by default on new installations (#5141)
Theme
- Tweaked javascript when joining or leaving a group from the groups directory (#5077)
- Improved javascript for "Select" dropdown on messages screens (#5070)
- Fixed bug in javascript where bulk message actions would not work (#5070)
- Fixed bug in javascript to uncheck the message checkbox after message deletion (#5070)
- Improved AJAX posting compatibility with Internet Explorer 8 (#5205)
- Added confirmation prompt when attempting to leave a group in bp-legacy template pack (#5061)
- Scroll to the top when clicking on a bottom-paginated AJAX link (#5206)
- Fixed bug in login forms preventing initial login attempts from working correctly (#5219)
- Disable the bp-default theme from the "Themes" page if it is not currently enabled on the site (the beginning of the end!) (#5223)
- Fixed bug where wp_editor() styles were being overriden by bp-legacy's table CSS (#5167)
- Fixed bug where the "Read More" activity link did not work in some instances (#4782)
Development, Themes, Plugins
Activity
- Fixed bug that caused duplicate activity items to appear when using the 'meta_query' parameter (#5118)
- Fixed bug where activity comment metadata was not being removed when deleting parent activity items (#5097)
- Allow plugins to do finer-grained checks to determine if an activity item can be deleted (r7467)
- Set better HTTP headers for activity RSS feeds (#5213)
- Added support for more liberal parameters when disabling comments in bp_has_activities() (#5029)
- Added support to allow "0" values to be stored in activity meta (#5083)
- When fetching the public message link, use already-queried displayed username (r7486)
Administration
- Allow bp_core_admin_tabs() to be filtered (r7630)
Blogs
- Modified recorded post permalink to use shortlink to ensure future blog permalink changes will not affect the permalink in the activity entry (#4367)
Core
- Replaced references to the $bp global with the buddypress() singleton (r7347)
- Make sure BP_Component::includes() method uses 'break' instead of 'continue' (#5154)
- Reinstates bp_redirect_canonical functionality (#5171)
- Added filter to BP_Component::setup_admin_bar() method (r7410)
- Added filter to bp_core_login_redirect() to allow for custom login locations (r7416)
- Introduced bp_*_user_last_activity() functions (r7334)
- Introduced bp_alpha_sort_by_key() function (#5122)
- Improved canonical URL redirection when using a BuddyPress directory as the front page (#5199, #5211)
- Allow the admin bar to be ordered when extending the BP_Component class (#3769)
- Add checks for the Member and Activity components on the Welcome page (#5181)
- Removed unnecessary email headers in multisite activation emails (#5186)
- Default the 'root_slug' parameter to the component's directory root slug in BP_Component::setup_globals() method (#3578)
- Improved sanitization for all component update meta functions (#5189)
- Improved bp_verify_nonce_request() function (r7541)
- Allow 'buddypress' directory to be renamed (#5252)
- Fixed bug where the 'total_users' value is sometimes not available in the BP_User_Query::total_users() method (#5271)
- Don't wipe out 'admin-bar' and 'no-customize-support' body CSS classes (#4929)
General
- Fixed strict standards notices (#5108, #3886)
- Improved phpDoc inline documentation (#5022, r7298)
- Replaced deprecated $wpdb->escape() method with esc_url() function (#5100)
- Added filters to search form HTML functions (#4974)
- Improved compatibility with develop.svn.wordpress.org unit-test suite (#5200)
- Improved plural localization for pagination links (#5107)
Groups
- Make sure BP_Group_Member_Query sorts results by 'date_modified' column (#5106)
- Fixed duplicate referer fields in BP_Group_Extension::maybe_create_screen() method (#5112)
- Fixed group meta query to handle multiple clauses (#5119)
- Added 'redirect_to' URL parameter support to the groups_screen_group_invites() function (#5032)
- Optimized usage of wp_parse_id_list() when fetching groups (r7461)
- Don't check user permissions inside of groups_delete_group() function (#5116)
- Refactor group extras logic when fetching a group loop (#5269)
Members
- Use explicit boolean check when checking cache for bp_core_get_username() (r7348)
- Added additional parameter to group SQL filters (r7376)
- Don't allow logged-in users to access the "Activate" page (#5042)
- Fixed trailing 'members' slug when non-admins attempted to view a spammer's profile (#5207)
- Removed capability checks in bp_core_process_spammer_status() function (#5233)
Messages
- Introduced template function – bp_get_the_thread_message_id() (#5123)
- Added additional parameters to bp_get_message_thread_avatar() (#4959)
- Use bp_loggedin_user_id() in bp_messages_get_notices() (#5059)
- Pass $item_id and $secondary_item_id variables to message notification filters (#5263)
Profiles
- Added actions to BP_XProfile_ProfileData::delete() method (#5111)
- Respect 'can_delete' setting when saving profile fields (#4947)
- Set the initial value of "default_visibility" to "public" in the BP_XProfile_Field class (r7509)
- Set the initial value of "can_delete" to "1" in the BP_XProfile_Field class (#5237)
- Allow the fetching of only visibility levels without field data in BP_XProfile_Group::get() method (#5222)
- Prevented admin fiddling with Fullname field with properly narrow conditions (#5237)
- Allow admin-set field visibility default to override when user hasn't set a value yet (#5262)
- Make field visibility settings option ids unique (#5248)
Settings
- Delete userdata object cache when updating user settings page (#5098)
Theme
- Removed unnecessary markup and actions from bp-legacy groups plugins template (#5166)
- Removed comma splice from registration template (#5195)
- Make sure theme compatibility output buffer content is returned so plugins can manipulate it (#5156)
- Improved the way theme compatibility is enabled depending on the current theme (#4879, r7508)
- Added additional hooks in the registration template (#5081)
- When loading profile fields in registration template, do not attempt to fetch field data (#4362)
- Fixed printf() function call in group invites template (#5283)