Version 3.0.0
Version 3.0 is a major BuddyPress feature release.
For Version 3.0, the database version (_bp_db_version
in wp_options
) was 11105, and the Trac revision was 11965. To read the full list of features, fixes, and changes in this version of BuddyPress, visit Trac.
Say hello to “Nouveau”!
A bold reimagining of our legacy templates, Nouveau is our celebration of 10 years of BuddyPress! Nouveau delivers modern markup with fresh JavaScript-powered templates, and full integration with WordPress’ Customizer, allowing more out-of-the-box control of your BuddyPress content than ever before.
Nouveau provides vertical and horizontal layout options for BuddyPress navigation, and for the component directories, you can choose between a grid layout, and a classic flat list.
Nouveau is fully compatible with WordPress. Existing BuddyPress themes have been written for our legacy template pack, and until they are updated, resolve any compatibility issues by choosing the legacy template pack option in Settings > BuddyPress.
Support for WP-CLI
WP-CLI is the command-line interface for WordPress. You can update plugins, configure multisite installs, and much more, without using a web browser. With this version of BuddyPress, you can now manage your BuddyPress content from WP-CLI.
Control site-wide notices from your dashboard
Site Notices are a feature within the Private Messaging component that allows community managers to share important messages with all members of their community. With Nouveau, the management interface for Site Notices has been removed from the front-end theme templates.
Explore the new management interface at Users > Site Notices.
New profile field type: telephone numbers
A new telephone number field type has been added to the Extended Profiles component, with support for all international number formats. With a modern web browser, your members can use this field type to touch-to-dial a number directly.
BuddyPress: leaner, faster, stronger
With every BuddyPress version, we strive to make performance improvements alongside new features and fixes; this version is no exception. Memory use has been optimised — within active components, we now only load each individual code file when it’s needed, not before.
Most notably, the Legacy Forums component has been removed after 9 years of service. If your site was using Legacy Forums, you need to migrate to the bbPress plugin.
Changes
Activity
- #2742 – Allow group admins to choose a groups front page.
- #3889 – When searching on the activity page, you cannot search using an authors name.
- #4429 – User banned from public group can still reply to group activity items
- #5079 – Modify hook for posting new activity comment
- #6594 – Add “X-akismet-pro-tip” support to Activity Akismet integration
- #7616 – Whitelist
primary_link
column in BP_Activity_Query - #7621 – Activity data not cleared out when deleting user programatically
- #7623 – Check for logged-in user on bp_activity_add_user_favorite
- #7637 – Improper use of
count()
in blog post activity media extractor - #7707 – @-mention JS “remote filter” doesn’t work
- #7724 – at-mentions adds unexpected characters wrapped around username
- #7048 – Move permission checks in
bp_activity_screen_single_activity_permalink
into new function
Administration
- #7541 – Disabled “select/deselect all components” checkbox on bp-components page
- #7575 – Admin common style selectors must be more specific
- #7611 – Accessibility: Cleaner h1 heading for BP admin screens
- #7679 – JS error in wp-admin “Extended Profile” blocking upload of profile photo
- #7721 – Finalize All Member Notices admin screen
- #7722 – Remove support for WP 4.3 and lower
- #7593 – Additional groups on registration, error on signup
Blogs
- #7579 – Make tests pass on PHP 7.1
- #7592 – Manual approval for blog post comments is bypassed when replying from BuddyPress activity stream
Build/Test Tools
- #7463 – PHPUnit 6 compatibility
- #7535 – Add npm
package-lock.json
for npm v5.x - #7545 – Move composer.json to project root
- #7602 – PHPUnit bootstraps throws warning on MySQL 5.7+.
- #7620 – Update shared fixture architecture for WP 4.4+
- #7703 – Unit tests: Run
'bp_template_redirect'
hook ingo_to()
method - #7709 – Unit Tests: Speed up multisite specific test
- #7733 – Update
.editorconfig
to match WordPress’
Core
- #7218 – Only load component action and screen code when we’re on the component’s page
- #7265 – uploads dir should filtered for cover images
- #7442 – Use JOIN rather than Subquery on user search
- #7522 – Use wp_login_url() instead of site_url() where needed
- #7556 – confirmation message problem (on activity delete)
- #7589 – Add PHP version requirement header to readme.txt
- #7598 – Incorrect permission check when updating member type
- #7604 – Merge WP-CLI commands into core
- #7605 – Remove images used in the 2.8 Welcome Screen
- #7607 – Fix Welcome Screen’s mobile style
- #7618 – Minimum WP requirements for BP 3.0
- #7638 – Fix typo error in Function Doc
- #7681 – Duplicate variables
- #7684 – Use bp_is_post_request() instead of hardcoding the POST verification
- #7738 – Deprecated functions for v3.0
- #7758 – PHP notices on deactivation
- #7807 – Nouveau: There are 2 Ajax errors not yet handled in Messages UI
- #7830 – Mistyped URL String for bbPress in Readme
- #7361 – PHP-FPM & Opcache SIGSEGV on PHP 7.1RC6
Emails
- #7015 – Make email subject available as a token
- #7434 – BP Email Template Hierarchy
- #7480 – Multisite Relevant emails Display for editing on single site
- #7606 – RTL Support for Emails
- #7646 – Email text link colors should be separately configurable
- #7650 – Update email templates
- #7706 – Using nl2br for Email content adds unwanted br tags
Extended Profile
- #6549 – xprofile field type for phone number
- #6658 – Deleting xProfile field leaves meta behind
- #6723 – Visibility toggle styling is awful on wp-admin
- #7459 – Autolink disturb values containing single quotes
- #7536 – Use bp_get_admin_url() in XProfile instead of hard-coded links
- #7599 – field id not passed to pre_validate_filter
- #7600 – Add before/after delete filters to BP_XProfile_Field
- #7664 – Redirect back to the edit screen to display the updates and message
- #7665 – Date Picker – make field selection names clearer
- #7667 – xprofile field types – required fields aren’t marked with HTML5 “required” property.
- #7685 – Add missing context to bp_xprofile_field_get_children filter
- #7686 – XProfile: Add method parameter(s) to delete field hooks
Forums
- #6851 – Deprecate the BuddyPress functions for bbPress 1.x forums
- #5351 – bp-forums retirement
- #7502 – Legacy forums do not work with WordPress 4.7
Friends
- #7487 – Friends: Drop the number of friends used for priming at-mention suggestions
- #7683 – friends_add_friend doesnt check if user ids exist
- #7436 – Very slow check_is_friend function
Groups
- #7581 – duplicated paramater
- #6356 – Filtering the group invites list
- #7529 – Groups member loop missing bp_parse_args
- #7573 – BP_Group_Member_Query should support multiple group IDs
- #7608 – Use BP_Groups_Group visibility and access properties.
- #7609 – Add “IDs only” return format option for BP_Groups_Group::get().
- #7610 – Use bp_user_can for some group-related permissions.
- #7619 –
groups_create_group()
messes with creator_id - #7656 – Update
bp_new_group_invite_friend_list
for new $args to support full list markup - #7677 – Group with no admin or mod causes heavy user query
- #7726 – Pending invite cannot be removed from a group when friendship is cancelled
I18N
- #7564 – A forgotten %s in french translation is making the Activity JavaScript to fail with favorites.
- #7627 – bp_get_profile_field_data() doesn’t translate the datebox field values
Media
- #7657 – Feature request : additional arguments in ‘_cover_image_uploaded’ action
- #7676 – Media ‘take Photo’ functionality ( webcam.js ) is broken for Mozi Vendor
Members
- #7708 – Improve documentation of bp_has_profile()
- #6049 – Do not activate user accounts automatically with one click
- #7461 – Allow BuddyPress to fetch ‘illegal_user_logins’ from WordPress core hook
- #7478 – Performance improvement for bp_is_user_spammer in member loops
- #7565 – Multisite signups do not have a WordPress role
- #7595 – Use WP_User::get_data_by in BP_Core_User::get_core_userdata (remove custom user object cache)
- #7601 – Add user_id to $results array for easier filtering of autocompletes
- #7628 – BuddyPress Theme compatibility not working properly when default_subnav_slug is not specified for a component
- #7641 – Add “IDs only” return format option for BP_Signup::get().
- #7661 – Use WP functions to retrieve user name, display name, nicename, and email.
- #5979 –
bp_core_userdata_
cache is unnecessary
Messages
- #7669 – Impossible to delete site-wide notices
- #7569 – Bulk message actions (Mark as Read) do not affect corresponding notifications
- #7615 – Message thread “conversation” view can be accessed under another participant’s URL
- #7622 – bp_message_notice_delete_link uses wrong action for nonce generation
- #7640 – Improve parameters of private and public message buttons, in order to improve flexibility and consistency
- #7668 – Remove loggedin_user duplicate check for messages_check_thread_access()
- #7718 – Clicking message Reply button multiple times produces duplicate messages
- #7809 – BP Nouveau: Starred box needs more work to be reachable by the Messages UI
Navigation
- #7659 – Subnav menu with ‘user_has_access’ set to false should redirect but doesn’t
New User Experience
- #7741 – Welcome screen updates for 3.0
Performance
- #4261 – audit persistent object cache use
Registration
- #7597 – No way to disable the email notification to the site admin of a new user registration
- #7671 – Bypass required “name” field on user registration
Settings
- #7594 – Strip slashes from passwords before checking for backslashes
- #7810 – Missing label of “Template Pack” on BP settings page
- #7812 – Cannot redeclare function issue
- #7824 – Unable to dismiss pending email change
- #7822 – Nouveau: Settings > Email menu item not visible
Templates
- #7739 – BP Nouveau: at-mentions does not work in Activity Reply
- #7747 – BP Nouveau: Member and Group Cover Image links are not accessible to assistive techonologies.
- #7757 – BP Nouveau: Style and update Group Membership Request screen
- #7551 – Merge Nouveau template directory to BP core
- #7612 – Accessibility: Replace links with href=”#” references with Semantic Elements
- #7626 – Nouveau – Messages bulk actions need attention – mark read/unread functionality
- #7629 – Nouveau: Warning: array_values() expects parameter 1 to be array, boolean given
- #7642 – Nouveau: re-factor bp_nouveau_signup_form() bp field error messages handling
- #7675 – Check bp_attachments_get_template_part() & revise it’s hardcoded template directory
- #7687 – Nouveau activity button generator incorrect sets default value for button parameter
- #7688 – Nouveau activity post form returns unstyled and invalid
- #7689 – Non-standard ‘template’ loading broken in Nouveau.
- #7691 – At User’s front Page Edit your bio link leads to current admin user backend profile
- #7692 – Nouveau: Heartbeat new activity items
- #7694 – Minified assets not enqueued when in child theme
- #7699 – Only set bp-activity-oldestpage when it is used
- #7700 – Ajax Responses from friendship functions return wrong button classes
- #7711 – BP-Nouveau: Keyboard focus lost when Search buttons are hidden off-screen
- #7712 – BP-Nouveau: Fix Invite/Uninvite status in tooltips/info for Group Send Invites screen
- #7713 – BP-Nouveau: Missing value for
alt
attribute in Messages thread participants - #7714 – BP-Nouveau: Keyboard focus lost in air with Messages bulk actions UI
- #7715 – BP-Nouveau: Give visual clue for pencil icon for Messages subnav link
- #7716 – BP-Nouveau: Remove tooltip from Friends > Requests buttons
- #7720 – BP Nouveau: Keyboard Focus lost for xProfile change visibility panel hidden offscreen
- #7723 – BP-Nouveau: Cannot Star or Unstar in single message view
- #7725 – BP-Nouveau: Unstyled Recently Active Members and Who’s Online widgets
- #7728 – BP-Nouveau: Fix Heading Levels
- #7730 – Allow theme to override site template pack choice
- #7731 – BP Nouveau: Messages UI issues
- #7732 – BP-Nouveau: Group Creation Menu issues
- #7735 – BP Nouveau: Insufficient color contrast for Cover Image warning
- #7748 – BP Nouveau: Remove duplicate class attribute from Group RSS feed link.
- #7751 – BP-Nouveau – Activity entry template actions are not firing
- #7752 – BP Nouveau: Group > Invite > screens have unwrapped
<li>
elements and<button>
s issues. - #7753 – BP Nouveau: Group > Create > Group Invites <li> elements must be contained in a <ul> or <ol>.
- #7754 – Grammar & Spelling Fixes
- #7755 – BP Nouveau: UL type=”list” is deprecated in HTML5
- #7756 – BP Nouveau: Insufficient color contrast for Manage Group Members list
- #7761 – Fatal error 3.0 Beta 2
- #7764 – BP Nouveau: Remove
px
units from image width and height attributes - #7765 – BP Nouveau Activity Widget: Add tooltip and adjust style
- #7768 – [BP Nouveau] Unstyled load newest link
- #7769 – [BP Nouveau] Prevent underscore errors if the activity post-form has been overriden
- #7770 – [BP Nouveau] Feedback messages on error/info/success about just posted activities are not styled
- #7771 – [BP Nouveau] Updated Feedback messages are hidden in TwentySeventeen
- #7772 – BP Nouveau: remove all code relative to activity timestamp updates in favor of Moment.js and Livestamp.js
- #7773 – BP Nouveau: new activity pages should be inserted into the exisiting activity list
- #7774 – BP Nouveau: the very first activity is not injected into the stream.
- #7776 – Redunent $title variable assignment in widget() method for BP_Nouveau_Object_Nav_Widget
- #7777 – Pass $component as 2nd parameter for bp_nouveau_get_filter_label filter
- #7778 – BP Nouveau: in the Member’s profile header, the avatar is box-shadowed by TwentySeventeen
- #7779 – BP Nouveau: Ajax searching is broken in Activity directory
- #7780 – BP Nouveau: All site members are listed in Group members
- #7781 – BP Nouveau: Group Create – empty Invites screen when the friends component is not active
- #7782 – BP Nouveau: Activity auto-refresh fails since r12002
- #7783 – BP Nouveau: group invites layout suggestion
- #7784 – Nouveau: Second row of group create steps spills over awkwardly
- #7785 – Nouveau: Long usernames can bump into action button on group invitations
- #7786 – Nouveau string refinement
- #7787 – Improve visibility of dynamic ‘Send Invites’ nav item
- #7788 – BP Nouveau: Activity directory scope tabs count is confusing when it equals to 0
- #7789 – BP Nouveau: Activity filters in single group are failing
- #7790 – BP Nouveau: Pagination needs to be reset each time the activity scope changes
- #7794 – BP Nouveau: Backbone views tasks
- #7795 – BP Nouveau: restrict Messages UI editor buttons and allowed tags.
- #7797 – Invalid SASS syntax: not(“.tabbbed-links”)
- #7798 – BP Nouveau: Messages UI single thread view, the delete action is not implemented
- #7799 – Nouveau: Vertical nav toggle doesn’t work in Customizer
- #7800 – Nouveau: Customizer can throw PHP notices when navigating between pages
- #7802 – Nouveau: Don’t show customizer controls for non-active components
- #7803 – Nouveau: Avatars are wrongly-sized in Twenty Twelve
- #7804 – Nouveau: Border color for count on a selected nav is too light
- #7805 – BP Nouveau: customizer, explain how the single item navs can be reordered
- #7806 – Nouveau: Strip
<span>
from directory nav items - #7808 – BP Nouveau: Hide icons from assistive technologies
- #7811 – BP Nouveau: cover image width is too small
- #7813 – BP Nouveau: Group activity buttons actions are not working when set options to customizer
- #7814 – Add version numbers to templates
- #7831 – Friendship Requested button on member’s profile doesn’t respond anything
- #7625 – Nouveau – Nested forms on group create steps
- #7749 – BP Nouveau: Group Activity UL element cannot be a direct descendant of a UL element.
- #7801 – Nouveau: Single-item “tabbed” primary nav doesn’t work
Toolbar & Notifications
- #7130 – bp_notifications_get_all_notifications_for_user gets all records and can cause memory leak
- #7682 – Fix date querying for notifications loop