The WordPress core development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There’s lots of ways to contribute:
As devchat reached the top of the hour last week, @youknowriadposted his comment about the gap between Gutenberg feature updates and Core major releases.
By December 11, Gutenberg will be ahead of Core with about 5 releases and this is a problem. 12 Gutenberg releases shipped into 5.3 . This is too much for a single WordPress release and with the current schedule, it’s seems like this is going to be similar for 5.4… This is not tenable for the future. It’s hard to stabilize and ship, it’s hard to summarize the changes for third-party developers and users, it’s more scary to ship and people were recommending the plugin to be installed for their clients (and it’s risky since the plugin is a development plugin). So how to reduce that gap is a big issue that needs solving IMO.Ideally I do think a shorter release cycle for majors is better. (Why not just a 5.4 in like end of January 😇 ), otherwise we’ll have to include enhancements in minors.
The rule up to now, bent slightly in the year leading up to 5.0, is that we do not introduce new features in a minor, and really no enhancements either, no matter how small. Minors are for bug fixes and security only.
But then we wind up holding every single enhancement, big or small, for the next major. For some things, that hold can feel like a long wait.
That’s one of the circumstances that has led to the ever-widening gap between the Gutenberg plugin and the Core block editor.
Traditionally, as @azaozz pointed out, we don’t add new files in a minor because there is some potential for mishaps in the autoupdate process. He also pointed out that’s a technical limitation, already partly solved with our bump in PHP version support.
In response, @nerrad suggested that adding new files could become a lot less risky if WordPress moves to updated tooling like Composer, which is on the table in other conversations.
So now, per @mapk and the gang, we’re freer to ask the question based more on what users and devs would like to see:
What’s the bare minimum we can put in a release and call it a major?
And when we answer that, we can discuss any number of possibilities.
In the hour after devchat last Wednesday, and in the insightful commentary around @francina‘s 2020-21 roadmap, we can see ideas from monthly in-between-major-and-minors that just release new Gutenberg features, to starting four majors a year in 2020 and picking up the pace from there.
Chances are, dear reader, that if you’ve read this far you have thoughts of your own. Let’s hear them!
During the 5.3 release cycle I heard that the uncertainty of next release date was a concern for many.
I am happy to introduce you to a tentative release calendar for the next two years. But first…
Tentative why?
Because the exact dates will be confirmed only when the release cycle kicks off to be sure that there is enough time to work on the issues and features that are planned
Because I don’t know if there is going to be a major change or shift in technology, especially from third parties, so being cautious is natural.
Because there is also another sentiment going around the WordPress community, that the project can handle more frequent releases, so there might be some changes in the way things are done.
From 5.4 to 6.0
Major Version
Potential Release Date
5.4
2020/03/31
5.5
2020/08/11
5.6
2020/12/08
5.7
2021/03/09
5.8
2021/06/08
5.9
2021/09/14
6.0
2021/12/07
Major religious holidays for multiple faiths and Federal US holidays were taken into consideration. If you spot a date that is a big no, please comment below before December 4th.
The following is a summary of the weekly media component meeting that occurred on Thursday, November 14, 2019. Weekly media meetings are held every Thursday at 14:00 UTC. A full transcript can be found here in the #core-media room in the Make WordPress Slack.
There were a few issues that came to light after folks updated to the 5.3 release.
Issues discussed:
#48632 : Cannot upload images directly from blogpost – Meeting participants attempted to replicate but were unable. Related issues were #48620 and #48604 in which one of the issues were due to a plugin.
That’s all that was reported as of meeting time last week! Thank you to everyone that contributed to WordPress 5.3! It really is a great update.
Meeting Scheduling Discussion
As you may have noticed, the time for the meeting was adjusted for Daylight Savings Time and moved later by one hour. There was some discussion in the meeting around adding a second meeting to the week allowing folks from both sides of the planet to participate. If you are in the AMEA region, please leave your thoughts on when the day and time of the week that works best. This topic will be revisited in the next meeting on Thursday, November 21, at 14:00 UTC
It was also mentioned that in this new scheduling model, it would be desired to move the currently scheduled meeting later one hour. This is of course only if there is another AMEA friendly meeting scheduled.
New Issues Triage
The meeting transitioned to a bug scrub after discussion about scheduling.
#48562 : Audio keeps playing on closing of media/attachment details popup in WP Admin – This was reproducible via the Media Library page in grid view. This issue has been around since 5.2 also so this is not a regression. Work is happening in the ticket to fix it up. The remainder of the meeting was filled with bunnies and discussion around a fix for the issue.
Feedback
If you have any feedback on the above, please feel free to leave a comment, join in #core-media for a chat, or attend the next meeting on November 21, 2019 at 14:00UTC!
GitHub has recently created a few new roles with more fine-grained permissions. One of those is the Triage Role that enables people to manage issues and pull request, and well as other actions. There was a consensus that this new role could help onboard new contributors and less technical folks who are not part of the Gutenberg group already.
@karmatosed and @nerrad to collaborate on documenting what it means triagging, how one can do it, and how the group can organize to do triage sessions. Master issue.
If you’re interested in joining the Triage group, please, leave a comment in the agenda or the GitHub issue.
Request For Comments experiment. A few months ago Gutenberg started doing a RFC for major features following this post. @youknowriad noted that it didn’t get as much traction as expected. Many agreed. To close this experiment and the open RFCs is being considered.
If you have any feedback about the RFC experiment, please, comment on this post or reach out to people involved. Feedback channels will be opened until next week when a decission will be made.
@clorith asked, “Would it be an idea to also allow for an anonymous form to submit to that? I know some folks may not be comfortable with the potential for conflict, and may feel safer giving an honest feedback if it wasn’t all public under their name? Then the feedback could be provided by the leads under a followup post, with no relation to individuals.”
@francina said she’d change the post to mention that anyone who’d like to give feedback privately is welcome to do so. 5.3 release leads @davidbaumwald, @youknowriad, @justinahinon, @audrasjb also committed to offering the same.
Upcoming Releases
5.3.1
@whyisjake offered the current list of tickets in the milestone at https://core.trac.wordpress.org/query?group=status&milestone=5.3.1
After a quick discussion of potential release dates, December 11, 2019 came out a potential winner. It’s pretty soon, but it still gives us time to triage 5.3 regressions and bugfixes. That decision is not final – it’s pending more discussion in the comments.
Got thoughts on timing? Please leave them in the comments – the sooner the better.
Want to be part of the 5.3.1 release squad? Please leave a comment.
Open floor
@youknowriad brought up a discrepancy in the release cadence between WordPress Core and Gutenberg:
By December 11, the date proposed for a 5.3.12 release, Gutenberg will be ahead of Core with about 5 releases and this is a problem. 12 Gutenberg releases shipped into 5.3 . This is too much for a single WordPress release and with the current schedule, it’s seems like this is going to be similar for 5.4. This is not tenable for the future. It’s hard to stabilize and ship, it’s hard to summarize the changes for third-party [developers] and users, it’s more scary to ship and people were recommending the plugin to be installed for their clients (and it’s risky since the plugin is a development plugin). So how to reduce that gap is a big issue that needs solving IMO.Ideally I do think a shorter release cycle for majors is better. (Why not just a 5.4 in like end of January). [O]therwise we’ll have to include enhancements in minors.
This post summarizes the weekly REST API chat meeting for November 7, 2019. (Slack transcript, Agenda). Weekly REST API component office hours are held every Thursday at 18:00 UTC in the #core-restapi room in the Make WordPress Slack.
Authentication
A new wp-api/authentication GitHub repository was created last week to facilitate the design & development of a REST API authentication solution for WordPress Core.
We continue to be in the information gathering stage. For all interested in contributing to this effort, we will be using part of our weekly REST API office hours each Thursday at 18:00 UTC (Thursday, November 14, 2019, 01:00 PM EST) as a weekly standup to coordinate work.
We also invite you to log issues describing use cases the authentication solution should support.
Registered Block Types REST API
#47620 aims to create REST API routes to discover the list of registered block types. It is based off the Gutenberg Block Type Registration RFC. @spacedmonkey worked on a patch and is in the process of soliciting feedback from the Gutenberg team, Mobile team, and other members of the REST API team.
A particular point of concern @spacedmonkey brought up was the difficulties about handling the asset fields ( editorScript, script, editorStyle and style ). The RFC defines the fields as either absolute URLs or relative paths to the source files. However the WP_Block_Type class defines those fields as asset handles.
Further the asset URL or handle is not sufficient to make the asset functional. The list of dependencies, inline scripts, translations, and localized data are all necessary for the script to work.
The participants discussed whether it would be better to include this additional information inline in the Block Type response, or to develop a separate wp/v2/dependencies API.
@timothyblynjacobs suggested that including this information inline would be simpler. @spacedmonkey pointed out that then we’d be including full data from a separate resource within the block type response. Elsewhere in the REST API that would be handled by creating a separate API and linking to it.
Additionally, @timothyblynjacobs pointed out that just exposing the list of dependencies isn’t sufficient. The client needs access to the entire dependency graph to ensure each dependency’s dependencies are loaded, and that all scripts are loaded in the correct order.
This all points to a dedicated REST API endpoint being a better solution. The team then discussed the potential privacy and security ramifications about retrieving this information about any registered asset.
A developer may include sensitive data in a wp_localize_script or wp_add_inline_script after registering the script with wp_register_script. Currently, this data would only be exposed when the script is enqueued, which may be protected by a current_user_can or $hook-suffix check. If the REST API allowed returning information about an arbitrary asset handle, this data may be exposed.
Additionally, a developer may conditionally registers asset based on a plugin’s settings. By allowing a user to check if a handle is registered via the REST API, it may be possible to determine the setting configuration of a plugin. This may not be desirable for security or privacy related plugins.
@kadamwhite mentioned that historically the REST API has been pretty conservative about what data is exposed. If possible, he’d like to continue along that path. Or theoretically authentication could be required for some pieces of the API since the use case seems to mostly be for editorial interfaces which would require auth anyway. @spacedmonkey also suggested a capability check.
@spacedmonkey and @timothyblynjacobs proposed limiting the assets exposed to ones registered via WP_Block_Type and all WordPress Core assets. Additional assets could be exposed via a registration flag of some kind, like show_in_rest.
Both @aduth and @youknowriad mentioned that this functionality would not just be useful for blocks. As WordPress moves more and more to JS powered interfaces, the ability to lazy load assets will become increasingly important. The problem here could be generalized to “retrieve all the information necessary to properly load a handle”.
@youknowriad opened a ticket, #48654, to continue the discussion on Trac.
5.3 “Kirk” was released on November 12, 2019. It was twelve weeks in the making, it had a big team behind it and the highest number of contributors ever. Congratulations to everyone!
In order to prepare a retrospective post, I would like to ask everyone to leave some comments below with things they would like to bring up. To help, here are some questions to ask yourself:
What should WordPress start doing as a part of the development process?
What should WordPress stop doing as a part of the development process?
What should WordPress continue doing as a part of the development process?
Please share your thoughts in the comments below! Remember when commenting to keep the discussion professional and focused on ways the process of creating WordPress is either already working great or can be improved.
Edited to Add: if you rather not give your feedback in a public space, please reach out to the following people on Slack. They are available to collect your feedback in a safe space, with no judgement and use it in the retrospective in an anonymous form:
She congratulated everyone, NOT just the folks active in the chat, on an amazing job. Several Core committers were especially pleased that 5.3 came in on schedule (🎉) with the biggest group of contributors ever.
Here are a few statistics:
12 weeks of development
A release squad with nine focus leads, covering every relevant component that got an update
645 contributors
658 bugfixes
A new default theme, Twenty Twenty
Lots of fun and new friends made
And much, much more!
Before release the squad counted at least 153 user-experience enhancements.
Highlighted Posts
The annual WordPress survey is open! Your feedback is not just appreciated – it’s vital to the future of WordPress. So please fill it out and share it everywhere you can think of.
Tanking the floor for a moment, @chanthaboune told the group this survey is new – not the same as last year – and is broader. Whether you’re a contributor, designers, developers, users or hosts, please participate!
Big thanks to everyone who has helped with testing so far! If that includes you, please keep testing and report any issues, concerns or enhancement ideas in a comment on Trac.
That’s how WordPress gets better and you get to shepherd your best ideas through the process.
@francina wrapped the discussion with a note that in the next few weeks the release leads will open a call for retrospective. Want to share some honest, constructive feedback? That’ll be your chance!
@marybaum said “I love that we have a #core-css channel. Does that mean Core CSS is a component?”
@peterwilsoncc replied, “it’s closer to a focus than a component. Tickets can still be assigned to the affected component, eg Admin, Themes, etc. “
@sergey asked “If we have a `javascript` focus, should we add one for CSS as well?
After a few more comments from folks, @francina reminded all 30,000-plus potential attendees that we don’t make final decisions in devchat.
She asked the folks talking about CSS to follow this process:
Make a proposal on the Core blog
Discuss
Come to a conclusion
Act
Here are the reports from other component maintainers:
@williampatton: “Themes component is looking good. Prepping for next release.”
@peterwilsoncc: “From the security team, now we have a Travis CI account that allows for private repos, we have the security tests running regularly. It should make it easier to find out if they’re passing during the release process.” and went on to ask @sergey if it was possible to add it to Trac.
@mensmaximus asked whether “we ever change the user management screen to a tabbed interface. What is the current state and what do core devs think?”
@williampattonstarted with a general reply: “There are lots of thoughts on redesign for user management, but lots of ideas mean lots of decisions [making it] hard to reach agreement.”
A lively discussion followed. Hopefully the WordPress world will see some new ideas for an even more usable Admin experience!
(Ed. note: The UX discussion and the conversation below, about jQuery, happened at the same time, and you’ll see the comments jump from one to the other. Still, imo, both are worth your time and effort to decipher!)
@enrico.sorcinelli has “noticed that Juery’s `$` is no longer globally defined in admin.” That’s made some of their client sites cause issues with users’ code.
@clorith answered, “The jQuery `$` being globally available was a bug.” That bug got fixed in one of the JS updates in 5.3.
“Although it’s not ideal, reports of issues are fewer than expected, and the code errors would be within the plugin code,” @clorith continued, adding, “I tend to lean towards leaving it being the right thing.”