Dev Chat Summary: January 17th (4.9.3 week 1)

This post summarizes the dev chat meeting from January 17th (agenda, Slack archive).

4.9.2 release

  • 4.9.2 was released yesterday.
  • This is a security and maintenance release for all versions since WordPress 3.7. We strongly encourage you to update your sites immediately.

4.9.3 planning

  • Updated timeline is 4.9.3-beta1 on Tuesday, January 23rd; RC on Monday, January 29th; and still aim for Tuesday, January 30th for release.
  • Currently no major bugs, so planning for a regular maintenance release.
  • Bug scrub times will be announced on Make/Core.
  • 4.9.3 beta will get a Make/Core post to help get people's attention on it.

Updates from focus leads and component maintainers

  • The Editor team recently released Gutenberg v2.0 and will begin regular Gutenberg bug scrubs at 17:00 UTC on Thursdays separately from their weekly meeting. Please ping @jbpaul17 (@jeffpaul on Slack) if you have interest in assisting with bug scrubs.
  • The REST API team wants to get dev opinions on a register_meta change proposal that will becoming to a Make/Core post soon.

General announcements

  • @jorbin: Reminder that breaking changes (even if they are only breaking code that was publicly released for a few months) should always have a Dev Note published on Make/Core.
    • 4.8 and 4.9 had shorter beta/RC windows. It would be interesting to analyze and see how that affected bugs reported during those windows and in the near term after release. It would also be interesting to see how that affected the number of reverts. That data might show longer beta/RC windows are necessary, but we should not rush a decision without numbers backing up the analysis.
    • Note that @jbpaul17 added a step to check for dev notes to the Releasing Minor Versions handbook page.

Next meeting

The next meeting will take place on January 24, 2018 at 21:00 UTC / January 24, 2018 at 21:00 UTC in the #core Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.

#4-9-2, #4-9-3, #core, #core-editor, #core-restapi, #dev-chat, #gutenberg, #summary

Auto-formatting of author bios reverted in 4.9.2

In WordPress 4.9.2 auto-formatting of author bios via get_the_author_description was removed after being introduced in WordPress 4.9.

Introducing auto-formatting broke a number of themes. Unfortunately, reverting it in 4.9.2 potentially breaks themes that had implemented a fix for this

For background, formatting was introduced in #40040 and reverted in #42578.

Maintaining auto-formatting

Theme authors wishing to maintain auto-formatting of author bios can add the following code to their theme's functions.php file.

add_filter( 'get_the_author_description', 'wptexturize' );
add_filter( 'get_the_author_description', 'convert_chars' );
add_filter( 'get_the_author_description', 'wpautop' );
add_filter( 'get_the_author_description', 'shortcode_unautop' );

#4-9, #4-9-2, #dev-notes

PHP Meeting Recap – January 15th

This recap is a summary of our previous PHP meeting. It highlights the ideas and decisions which came up during that meeting, both as a means of documenting and to provide a quick overview for those who were unable to attend.

You can find this meeting’s chat log here.

Chat Summary

After Servehappy had been officially approved as a feature project for WordPress in the past week's dev chat, the agenda of the meeting was to plan how to proceed further for the information and education page, which will be the first milestone of the project. Here are the discussion results:

  • It is still unclear whether the page will be a subpage of some existing page or whether it will be a completely separate site with distinct domain. However, in terms of layout and design, it will not need to integrate with the common look, to have most flexibility in terms of UX.
  • The core admin notice will initially only be put into the latest WordPress release, but it may be worth backporting it so that users of older versions are also informed.
  • Regarding the .org infrastructure integration and branding, it was decided to go with a completely separate design for the page. It should somehow indicate that it is an official WordPress project, but very subtly, for example with a link at the bottom of the page. The idea is that the page may at some point evolve to a collaborative project that may be helpful for other OSS on the web as well.
  • The rest of the discussion revolved around layout and design brainstorming (read more below).

Call for Designers

As we have a full draft of the page content in place, the primary goal at this point is to come up with a solid layout and design. Some initial thoughts were discussed during this meeting, but eventually, none of the team members is a designer or has significant UX experience. We would like to ask the #design team for help on this invite you to join our meeting next Monday to proceed with a more sophisticated discussion. @karmatosed furthermore plans to have a segment on the topic in tomorrow's design team meeting. We'd be happy to have you onboard!

To get started, here are some of the thoughts and questions we came up with:

  • An initial mockup can be found in the project's roadmap post.
  • Are accordion elements the right UI component to use? No clear opinion on that, but there was agreement on that at least the initial one should be open.
  • Would having a floating sidebar with the headings and inline navigation be useful? We generally didn't think so since we considered it something that devs are mostly used to, while are audience are non-technical users, and it may overwhelm users when they immediately see the amount of content there is regarding this topic. But it's still a possibility worth thinking through.
  • Instead of an actual sidebar, there could be small asides displayed here and there, with some of the content in the draft text already being designated for such.
  • An alternative idea was some kind of slideshow, with one slide per section. There could be a heading and one or two brief catchy sentences to arouse interest, and then a toggle to expand more details. A click on a button or scrolling could lead to the next slide / section. This approach may easily have accessibility issues though if not done right. It would also need to be considered how to access specific sections quickly without being required to run through the previous slides first.
  • Maybe experimenting with different versions and doing user testing would work. This could happen at WordCamps and other events, although we need to be careful to keep in mind that the target audience are non-technical site owners, many of which probably do not attend such events.
  • The most significant question for us seemed to be whether the page should display all content at once or rather break it down into smaller pieces one by one.

We are hoping to get some more solid results in collaboration with the design team. If you think these ideas are terrible, please throw them away. All of us are developers, and that is why we need your help!

Next Meeting

The next meeting will take place on Monday, January 22nd, 2018, 16:00 UTC as always in #core-php.  The agenda will be to further discuss layout and design, hopefully with some members of the design team presents or maybe already results from their meeting. See you next week!

Dev Chat Agenda: January 17th (4.9.2 week 7)

This is the agenda for the weekly dev meeting on January 17, 2018 at 21:00 UTC / January 17, 2018 at 21:00 UTC:

  • 4.9.2 planning
  • Updates from focus leads and component maintainers
  • General announcements

If you have anything to propose to add to the agenda or specific items related to the above, please leave a comment below. See you there!

#4-9-2, #agenda, #core, #dev-chat

What’s new in Gutenberg? (12th January)

Hope everyone has had some good time! We are resuming the releases of Gutenberg for this new year. The first one — 2.0 — is rather big, with updates across the board. The highlights cover several pasting improvements, a more polished publish flow, block API tweaks and extensibility additions, various accessibility improvements, block library updates (like new querying by category in latest posts), etc.

2.0 🦕

Design and editing experience




  • Render toolbar always by the block on mobile.
  • Improve performance of responsive calculations using matchMedia.
  • Avoid shifts around toolbar and scrolling issues on mobile.
  • Improve how the fixed-to-block toolbar looks on mobile. Change how the fixed position toolbars behave, making them sticky.
  • Prevent Mobile Safari from zooming the entire page when you open the inserter.

Block API and Misc.

Bug Fixes

#core-editor, #editor, #gutenberg

Dev Chat Summary: January 10th (4.9.2 week 6)

This post summarizes the dev chat meeting from January 10th (agenda, Slack archive).

4.9.2 planning

  • Tentative release timing of 1/16 for beta, 1/23 for RC, and 1/30 for release
  • 57 tickets currently on the milestone, @sergey will be reviewing them during a bug scrub on Friday (Jan 12th) at 19:00 UTC
  • Bug scrubs for future weeks will be scheduled around 19:00 UTC on Mondays, Wednesdays, and/or Fridays by @sergey and @desrosj

Updates from focus leads and component maintainers

  • Design team would like to check in with the other teams and see if anyone has projects they need designers for in the next couple months. If you have needs then please reach out in the #design channel.
  • REST API team would like to know if your work would be aided by API improvements or is blocked by API issues; if so, please come see them in #core-restapi.
  • Media and PHP teams have posted their meeting recaps from the past week for review.

Servehappy project

  • @schlessera: posted a Servehappy project overview
  • Our goal is to have a positive impact on PHP version distributions, to get a higher percentage of servers to run on supported PHP versions.
  • We have 3 main building blocks right now:
    • 1. information page about PHP, its versions, and upgrading them (see: draft)
    • 2. admin notices letting site owners know they run an old version
    • 3. plugin/theme requirements that prevent installation/updates when PHP version requirements are not met
  • @flixos90: Regarding #1, we have a Trac ticket in place. The page itself has two goals: Convince site owners that it's worth their time to take action, and then explain how they can proceed.
  • How and who do we approach to get it on infrastructure? Should it be hosted as an area inside .org or as a separate site with separate domain (if yes, which one)?
  • Plan to collaborate with Tide, in terms of preparing the PHP upgrade as users could check for their plugins and themes compatibility.
  • @stevenkword: We are also considering making the PHP Compatibility Checker plugin a consumer of Tide when it's production ready. Leveraging the cached results would really speed it up. We're pushing an update for 5.2 support this afternoon, and it will contain 7.1 and 7.2 checks
  • Anyone who's interested in helping out, please join our weekly meetings on Monday 16:00 UTC, and of course feel free to review what we currently have.

General announcements

  • @jorbin: I want to draw some early attention to a ticket that has the potential to impact all core contributions, especially related to JavaScript. Please take a read of #43055 and after reading it all, comment with any thoughts or concerns.
  • @audrasjb: when will we have a chance to know WP 5.0 delivery roadmap?
    • @jbpaul17: I’m not aware of any pending updates, so I’d suggest for now joining the conversation in #core-editor and helping with Gutenberg as any roadmap or timeline will come from the progress of development there.

Next meeting

The next meeting will take place on January 17, 2018 at 21:00 UTC / January 17, 2018 at 21:00 UTC in the #core Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.

#4-9-2, #core, #core-media, #core-php, #core-restapi, #design, #dev-chat, #servehappy, #summary

Media meeting recap – January 4, 2018

Happy new year!


This post is a summary of the latest weekly Media component meeting, which took place in the #core-media Slack channel, on Thursday, January 4, 2018 at 1900 UTC. The purpose of these meetings are to move priority tasks forward, provide feedback on issues of interest, and review media focused tickets on Trac.

@blobfolio, @clorith, @desrosj, @joemcgill, @karmatosed, @mikeschroder

Transcript: Read on Slack

4.9.2 Review

The following tickets assigned to the upcoming 4.9.2 milestone were reviewed:

  • jumps when you open it
  • #42225 – Whitelist Flac Files
  • #42447 – Mark test_remove_orientation_data_on_rotate as skipped when exif_read_data isn't available
  • #42480 – Consistent suppression of getimagesize() errors
  • #42643 – FLV video format not playing

#39859 and #42447 appear to be on track for commit.

If the small enhancement #42225 is allowed to land at the dot-dot, @desrosj and @blobfolio think #42919 should be retargeted for inclusion as well. The latter could also be argued to be a bug fix rather than just an enhancement as full aac support is already present in the Core; it is only files literally named *.aac (versus using the AAC codec inside some other container) which cannot be uploaded.

#42480 has a patch that addresses the stated issue. @blobfolio suggested that a better long-term approach might be to remap getimagesize() calls to a wrapper function, which would allow WP to deliver more robust responses (the native PHP function is inconsistent across versions). Such a wrapper was introduced to the patch under #35725, but further discussion is needed.

#42643 might be limited by upstream support, however @adamsilverstein and @clorith are working on it.


@karmatosed led a discussion of outstanding Gutenberg tickets. It was decided that the next weekly meeting should designate 15-30 minutes to discussing high-priority items to help get the media team connected with Gutenberg development.

Other Tickets

The current patch for #35725 (Add mime-type for Webp) tackles both the file type whitelisting — allowing .webp files to be uploaded — and full image integration for e.g. thumbnails, media insertion into posts, theme screenshots, etc. @mikeschroder suggested separating out the more in-depth handling functionality, while @blobfolio felt it important the two halves merge together since the Core does not provide a native way to retroactively generate thumbnails.

As there is a growing number of new and exciting image formats, many of which might be better left to plugins and themes, @blobfolio started a new enhancement ticket #43023 outlining the Core areas that would need to be rewritten to allow for such extensibility.

Next Meeting

The next #core-media Slack channel meeting will be held Thursday, January 11, 2018 at 1900 UTC. See you there!

Dev Chat Agenda: January 10th (4.9.2 week 6)

This is the agenda for the weekly dev meeting on January 10, 2018 at 21:00 UTC / January 10, 2018 at 21:00 UTC:

  • 4.9.2 planning
  • Updates from focus leads and component maintainers
  • Servehappy project
  • General announcements

If you have anything to propose to add to the agenda or specific items related to the above, please leave a comment below. See you there!

#4-9-2, #agenda, #core, #dev-chat, #servehappy

Servehappy Roadmap

The group of people in the #core-php channel has been discussing and planning a project codenamed “servehappy” for some time now. We are at the point where we think that our plan has matured enough to present it to a bigger WordPress audience, in the hopes that we can get buy-in from more people to support or join our cause.


Primary Goal (long-term, indirect):

  • Reduce the number of WordPress installations running on an unsupported PHP version

Secondary Goals (short-term, direct):

  • Make WordPress site owners aware that they are running an unsupported version of PHP
  • Educate WordPress site owners about PHP and its versions
  • Provide WordPress site owners with tools and resources that enable them to update their site’s PHP version

The primary goal is what we’re aiming at. However, this is not something we can directly act upon. The secondary goals are the actionable elements that are in line with the primary goal.

We are confident that we can produce a definite positive impact on the primary goal through a concerted effort on these secondary goals.

Current State

A good overview of the current state can be found in the project repository’s file.


Mockup of the ServeHappy page, showing collapsible sections of content.

ServeHappy page mockup
Click to enlarge


Through our regular weekly meetings we’ve made good progress on putting together the content for an informational page called “servehappy (in reference to the “browsehappy” page that helped get rid of legacy web browsers). The page should ideally be hosted on the infrastructure, similar to how the browsehappy page is stored.


Mockup of the WordPress admin dashboard, showing an admin notice warning about the PHP version.

Admin notice mockup
Click to enlarge


This page is meant to be linked to by admin notice(s) in the WordPress admin dashboard that will appear for people with unsupported PHP versions. Work on implementing these can start as soon as we have confirmation that the servehappy project should be further pursued.


Mockup of a plugin detail screen in the admin dashboard, showing a red "Cannot install" button and a link to the ServeHappy page.

Plugin requirements mockup
Click to enlarge


Finally, we want to work on enforcing plugin/theme PHP requirements as they can already be stated in the plugin/theme meta information. With time, this will provide developers with better control over their code base and incentivize site owners to keep up with the WordPress ecosystem’s evolution.

We’ve prepared a short overview document that details the core integrations and how they tie into the servehappy page.

As a side note, while working on the servehappy page content, we started collecting links to various resources that can be of use to people wanting to update their PHP version. These can be found in a separate servehappy-resources repository.

Project Progression

We intend to target only PHP 5.2.x initially, to not put too much pressure on the support channels of hosting providers. When a reasonable amount of time has passed and most of the initial updating effort has been completed, we can consider moving the needle up to PHP 5.3.x.

Provided that we have a clear roadmap, transparent communication and the patience to let site owners and hosters handle the updates in manageable intervals, this provides us with a tool to slowly catch up to PHP releases and reduce the currently growing gap between WordPress requirements and PHP versions.


Here’s our current preliminary timeline:

Information Page on – Current Draft
– Trac ticket
1st Quarter 2018
Admin Notice in Dashboard – Trac ticket 2nd Quarter 2018
Minimum PHP Requirements Trac ticket 3rd Quarter 2018

Of course, these are only guesstimates. The actual development work involved makes this timeline easily possible, but what is time-consuming (and hard to predict) is the amount of discussions that are needed to find a concensus on all critical decisions.

Our Request

Before we invest more time into this project, we want to get a basic decision (in principle) about whether we should pursue or not.

  1. Is the servehappy project worthwhile and do we have a general buy-in from Core leadership?
  2. Can we make the servehappy project an official feature project?
  3. Information Page – Can this page be hosted on the infrastructure?
  4. Information Page – Who is responsible for the final editorial check?

To this end, we had the servehappy project added to the agenda of the upcoming devchat meeting on 10th Jan, 2018. This post was prepared to allow attendees of this meeting to get a quick overview of the project in preparation for the meeting.

#php, #roadmap, #servehappy

PHP Meeting Recap – January 8th

This recap is a summary of our previous PHP meeting. It highlights the ideas and decisions which came up during that meeting, both as a means of documenting and to provide a quick overview for those who were unable to attend.

You can find this meeting’s chat log here.

Chat Summary

The primary focus of this chat was strategizing about our opportunity on January 10th to discuss the servehappy project during the devchat. We discussed a potential roadmap with estimated timeline so that there’s specific information to offer at the devchat.

Decisions arrived at for rough ETA’s on Roadmap

  • 1st Quarter 2018 is target for servehappy page on
  • 2nd Quarter 2018 is target for core integration (admin notice etc). See Core integration doc recently published.
  • 3rd Quarter 2018 possible target for plugin requirements work.

Other discussion

  • was updated on the servehappy repository. Pull requests are welcome for keeping it up to date and adding any missing info (such as PHP Compatability Checker mentioned during the meeting)
  • For admin notice initial work will be done in the trac ticket (and that will be the source for initial wire-framing/discussion) and then we’ll do a feature plugin (possibly WordPress/servehappy-admin-notice) for iterating on implementation and easier user/usability testing.
  • Some discussion around Tide and any potential impact on the servehappy project. General consensus is that Tide doesn’t block anything but communication should be kept open between the two teams to be aware of any overlap of documentation or user facing things between the two projects.
  • @schlessera will be preparing a blog post outlining a more detailed roadmap that will be published within two days, the intent being using it as a resource ahead of the general WP core dev-chat meeting.

Next Meeting

The next meeting will take place on Monday January 15, 16:00 UTC as always in #core-php.  The agenda will likely cover the results from servehappy presentation at the dev chat meeting and the next steps from that. See you next week!

#core-php, #php, #summary