During yesterday’s development meeting we’ve discussed about @im4th‘s proposal to run the 9.0.0 development cycle very shortly targeting a release date before WordPress 5.8 final release is made available to the planet (~ July 20, 2021)!
@im4th was a bit worried about being too much directive and/or too ambitious, so he specified it was ok to disagree with this proposal. We quickly agreed, but here are some opinions we shared about this idea:
“I’m OK with your short cycle just for blocks to support the WP release” @dcavins
“I like the idea of very targeted releases” @dcavins
“the short release cycle is fine. The reason is good and makes total sense to me” @espellcaste
So we are going to try to do it!
As WordPress 5.8 is introducing the Widgets Block Editor, we are going to start migrating our legacy widgets. We actually already started the process from the GitHub plugin we use to develop BuddyPress Blocks. The first step is building a block for every BP Widgets and making it possible to transform existing BP Widgets to their corresponding BP Block. BP Widgets won’t disappear in 9.0.0 yet (no worries), but they’ll get a well deserved retirement progressively 😁. You can expect (at least) 10 new BuddyPress Blocks to be introduced in BuddyPress core.
A new follow component (if it’s ready for 9.0.0 release date)
@sbrajesh volunteered to satisfy a frequent request about this feature and he’s very welcome to contribute and lead this effort to make it happen! We talked about the “Followers” plugin@rayisme built which can be a source of inspiration. We’ll organize it from another specific GitHub repository. After the dev-chat, we had a complementary discussion about it, you can have a look at it for more information about early directions about the feature.
And of course, we’ll fix issues related to our latest major release (8.0.0) that may be found.
Beta: July 8.
RC: July 12.
Final: July 16.
8.0.0 issue “monitoring”
During the dev-chat, we also discussed about the feedbacks we got from the support forums about 8.0.0. We shared our surprise that plugins that appear to rely on BP aren’t tested in the beta window. This is something we need to carry on trying to improve. Working on documentation could be a way. On this topic, @vapvarun informed us he would prepare a list about which documentation resources need updates & then update them one by one 😍. Many thanks to him: it’s a very important work that will benefit to us all.
It will happen on July 7 at 19:30 UTC and of course in #BuddyPress. If you have ideas or questions, feel free (and we are strongly encouraging you) to comment this summary to share them!
Additional note about meetings during 9.0.0 development cycle
As we are running a short development cycle, @im4th will be available every Wednesday at 19:30 UTC in #BuddyPress for an hour or more time if needed. Don’t hesitate to ping him (@imath) for help or inputs about contributing to this version of BuddyPress.
Download spike for it happened on June 8 and reached ~27.000 downloads, but I believe we can include the 12.000 packages that were downloaded on release day. The total amount of downloads just after release is 39373.
As @vapvarun said: “We did not break anything big” 😅.
First issues are about the brand new Members Invitations feature:
It looks like some BuddyPress plugins are running some code before BuddyPress is fully ready.
It looks like some template overrides made by plugins or themes forgot to update their template pack to include this feature new templates.
The 2 above points could have been avoided if their plugin/theme authors had tested our beta/RC releases… That’s why we always ask you for help during our pre-release periods. The more we all test, the best will be the final release.
Thanks for @dcavins investigations about these first issues.
There will be a 8.1.0 release soon, unless we do a short 9.0.0 release cycle. @im4th would like us to try to have our legacy Widgets migrated as blocks as soon as WordPress 5.8 is released (it is slated to July 20). He’s been working on these 8 new blocks form our BP Blocks GH repository. So far 4 legacy widgets have their corresponding blocks, you can follow his progress (and of course help him) from this GH issue.
@vapvarun & @im4th discussed about the BP Attachments Plugin: the goal is to include the User Attachments feature or build a new plugin by the end of the year. The new plugin path is an option considering the various plugins playing into this area.
@im4th would also like to progress on migrating BP’s custom URI parser to use WP’s Rewrite API (#4954) from a plugin: if you’re interested about it, let’s team up! Let him know you want to join this project pinging him on WordPress Slack (@imath).
June 23 Dev-Chat Agenda
So here’s the question we need to reply to during tomorrow’s development meeting:
So here’s my plan: July 16 is my birthday and WP 5.8 is slated to July 20. What about releasing BP 9.0 on July 16 with only blocks (and some other fixes of course) ?
With the release of BuddyPress 8.0, your BuddyPress community can grow organically by referral, attracting new members with personalized invitations from existing members. This feature is deactivated by default but can easily be enabled by visiting the BuddyPress Options screen at WP Admin > Settings > BuddyPress > Options. Enable membership invitations by ticking the checkbox labeled “Allow registered members to invite people to join this network.”
When invitations are enabled, users can accept an invitation and register for your site even if “Anyone can register” is disabled. This means you can disable public registration and enable invitations to create a site with membership by invitation only. Or, enable public registration and use invitations as just another way to spread the word about your community.
Once invitations are enabled, your members will have access to an Invitations tab in their member profiles. Simply enter a valid email address and optionally add a personalized message to send an invitation to the new potential member via email.
Once invitations are sent, a member can view a list of pending invitations and resend the email or cancel the invitation.
The invitee receives an email that includes a link to the registration form (with a customized acceptance key that allows access even if public registration is disabled). The message also includes the personalized message from the inviting user and an unsubscribe link which allows the invitee to opt out from future invitations from your site. The email’s content is customizable via the BuddyPress Emails admin interface.
If the invitee chooses to accept the invitation, he or she can follow the customized link to the registration form.
When a new membership is the result of an invitation, the activity item will be expanded to include the name of the inviter.
BuddyPress site admins can also view a list of all invitations and opt-outs from the WP Admin dashboard. The new screens are available at Tools > BuddyPress.
On the “Manage Invitations” screen, site admins can view pending and accepted invitations and choose to resend the email or cancel the invitation.
On the “Manage Opt-outs” screen, site admins can see opt-out requests, with a record of what type of email resulted in the opt-out request, and who sent the email. This screen can be used to see if any particular component or plugin or user is abusing the system to send unwanted emails that result in many opt-outs. It is also possible find a specific opt-out by searching for an email address, which is useful, for example, in the case where a user who has previously opted out changes his or her mind and would like to have the opt-out request deleted. Note that the email addresses associated with an opt-out request are hashed before being stored in the database.
We hope this new feature enriches your BuddyPress commmunity by attracting new, engaged members!
@im4th noticed the only feedback we got from this beta release was about the BP Beta Tester plugin. The issue about this testing tool was fixed in 1.2.0. Does it mean everything’s fine with 8.0.0? We’ll see with the release candidate that was published 4 days ago: if you haven’t tested it yet, please do so 🙏.
8.0.0 remaining tasks
@vapvarun has been working on the 8.0.0 changelog. He found a bug with the script we’re using to generate it. He shared a fix during the chat. @im4th suggested to build a PR out of it on @rayisme‘s GH repository.
@johnjamesjacoby and especially @dcavins copy reviewed the Hello BuddyPress screen text on (#8468). Thanks to them we were able to clean the open tickets about the 8.0.0 milestone.
We agreed it was time to package RC and decided to leave less than 2 weeks of string freeze to polyglots. The goal was to avoid postponing too much the 8.0.0 final release date. As you can see above, the RC was released on May 27.
8.0.0 final schedule
✅ 8.0.0-beta1: April 29,
✅ 8.0.0-beta2: May 20,
✅ 8.0.0-RC1: May 27,
8.0.0 stable release: June 7 👀
We’ve been talking about the BuddyPress code reference. It’s still under construction and we really need to make it available asap. @vapvarun had the opportunity to test the parser tool and the only thing we need to make sure is to avoid parsing the BP REST API controllers to avoid some kind of duplicate information with the BP REST API documentation. As it was getting late @im4th suggested to have a specific dev-chat about it.
It will happen on June 9 at 19:30 UTC and of course in #BuddyPress. We’ll probably talk about the first results/feedbacks about the 8.0.0 stable release but If you have ideas or questions, feel free (and we are strongly encouraging you) to comment this summary to share them!
PS: we count on you to test the 8.0.0 release candidate!
We’ve just updated the plugin you can use to test BuddyPress pre-release versions ! Please make sure to upgrade it from your WordPress Dashboard, and of course don’t hesitate to test the latest 8.0.0 beta release 😉.
#8428 has been fixed, new users now receive a welcome email once they activated their account.
Decisive progress were made about the Network invites ticket (#8139): this was the main topic of our development meeting. After discussing about some code details, it was decided to commit the latest patches to include the feature into the 8.0.0-beta1 release. @dcavins handled the pressure that was on him in a great way 💪.
The BuddyPress xProfile component gives you the power to create as many profile fields as you wish quickly and to organize these fields into groups of fields. An important step when creating a new profile field is to select the Field Type that best suits your need to display the information.
The Checkbox Acceptance field type is a new type of field we will introduce into our next major release (8.0.0). Thanks to it you’ll be able to easily create a new field to manage the Terms of Service of your site (which is often mandatory nowadays to follow compliance) or any other acceptance page (eg: code of conduct, good behavior rules, etc…). As it’s a profile field, it’s very easy to include it into your registration form to be sure to have your new members to agree to your linked acceptance page.
Adding a new field using the Checkbox Acceptance type.
When you’ll create a new xProfile field once you upgraded to BuddyPress 8.0.0, you will find a new field type option – Checkbox Acceptance.
After selecting the Acceptance field, you can map your terms of service page to field options and include it into your registration form using the checkbox of the new Signup metabox (also introduced in 8.0.0).
Save your profile field, and log out to preview the result on your registration page.
It will be visible as in the above screenshot, mapped terms & condition page link on the register page with checkbox. Of course, new users will be able to click on the “Terms and conditions” link to aknowledge it.
Existing members can also agree to your acceptance page. Tell them to log in and visit their edit profile screen to submit their Acceptance from there. Once submitted, it will be a read-only field; members can not uncheck the value for the Acceptance field.
The acceptance field will only be visible to the logged-in member (viewing their self profile) and the admin. It will not be visible to members visiting any other one’s profile.
Watch the demo!
The video below will show you how to create a new Acceptance field
Please read the full story about this new xProfile field type, head over to this ticket on our Trac environment.
We started our development meeting talking about this security release by checking eventual reported issues on our support forums and on this support topic in particular.
NB: If you haven’t upgraded yet, please do so. If you are using a clone of the BP REST or the WP CLI BuddyPress GitHub repositories, please do fetch/merge upstream branches as fixes were about these 2 repositories we’re including when packaging the BuddyPress plugin.
Now the Acceptance Checkbox Field (#4747) ticket has been committed to trunk, @vapvarun will write a post to explain how the field works and it will be published into these development notes.
The ticket about improving the signup form customization has been committed (#6347), @im4th will also post a development note about it soon.
New interesting progress were made about the Network invites ticket (#8139): @im4th gave @dcavins some help about the BP Nouveau Template Pack integration. As we’re almost ready about the feature @im4th suggested, one last time, we update the initial 8.0.0 schedule to give us 1 extra week (4 more than the initial schedule) to include the feature into the 8.0.0 milestone. We agreed to udpate the schedule this way and now @dcavins is Under High Pressure about it 😱 😉.
@espellcaste submitted a patch on the ticket about migrating BP Core builds to GitHub Actions (#8421). Feedbacks are very welcome.
Updated 8.0.0 schedule
8.0.0-beta1: April 29
8.0.0 stable release: June 2.
@vapvarun shared a support topic about a potential feature for the future of the BP Groups component. We’ve discussed about it and we came to the conclusion migrating our custom URI parser in favor of WP Rewrites would be necessary. @im4th had a POC working a while ago and believes the best way to progress about this topic is working on a feature as plugin repository on BuddyPress’ GitHub. If you’re interested about this topic and would like to help & contribute to it, please tell us about it commenting this post 😉.
It will happen on April 28 at 19:30 UTC and of course in #BuddyPress. If you have ideas or questions, feel free (and we are strongly encouraging you) to comment this summary to share them!
Hi everyone, sorry this summary is published very late (the day we’re having another development meeting). We’ve been working hard on improving the security of BP REST API fixing some vulnerabilities. The BuddyPress 7.2.1 security release was published yesterday and we strongly encourage you to update your copy of BuddyPress, from versions 5.0.0 to version 7.2.0, to this 7.2.1 version. If you are using the BP REST plugin, make sure to merge your branches with upstream’s master, 0.3, 0.2 or 0.1 branch to get these fixes into your clones.
@im4th also shared his concern about Jcrop (we use it into the Avatar UI), which is full of deprecated jQuery code.
@vapvarun shared his opinion about ways to progress on #6071 the “Superfield” using repeaters (like ACF), but it doesn’t seem doable during the 8.0.0 milestone (not enough time), @imath promised he would try to look into it if we can make a smaller step before the end of March.
#4747 seems more doable (a profile field to manage pages needing acceptance, eg: terms of service, code of conduct). @vapvarun shared a patch about it and @im4th gave some first feebacks about it.
@im4th made some progress about #7162 (Edit WordPress fields on front-end via new xProfile field types) and is confident he’ll be able to start committing parts of the patch to help making progress on #4747.