BuddyPress 5.0 is on track to introduce a new BP REST API, which has been in development as a feature plugin on GitHub since 2016. Contributors plan to merge the API with 14 endpoints for popular components like activity updates, groups, members, private messages, and extended profile fields. Another eight endpoints for blogs, friends, and other features, are planned to ship in BuddyPress 6.0.0.
The first major use of the BP REST API inside BuddyPress is a new group management interface that enables administrators to quickly search for specific members to promote, demote, ban, or remove. BuddyPress contributor Mathieu Viet shared a demo of what users can expect from the new interface on both the frontend and the backend.
Contributors are still discussing how to include the BP REST API into the BuddyPress plugin package, whether they should continue maintaining it on GitHub until all the endpoints are finished and include it during the BuddyPress plugin’s build process, or merge it into BuddyPress core and use Trac. GitHub is more convenient for development but some expressed concerns about fragmenting the history of the API’s development on two platforms.
BuddyPress lead developer Boone Gorges said in a recent dev chat that shipping the BP REST API without documentation is a blocker. Contributors are now working on a new documentation site. Since version 5.0.0 will be more of a developer-oriented release, Viet suggested contributors take the opportunity to set up developer.buddypress.org with similar resources as WordPress has on its DevHub project. He is looking for feedback on his proposal for automatically generating the documents from the REST schemas of the API’s endpoints and further customizing it for integration into the broader developer.buddypress.org site.
BuddyPress contributors are targeting August 15 for releasing 5.0.0 beta 1 and will discuss a date for RC further down the road. Regular dev chat meetings have resumed and are now happening every other Wednesday at 19:00 UTC in the #BuddyPress Slack channel.