Bug Scrub Schedule for 5.5

Now that 5.5 has been officially kicked off, bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs will happen weekly all the way up to the final releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software.. “Early” ticketticket Created for both bug reports and feature development on the bug tracker. scrubs have already taken place. Keep an eye on this schedule – it will change often to reflect the latest information.

  1. 6/9/2020 18:00 UTC
  2. 6/18/2020 15:00 UTC
  3. 6/22/2020 23:00 UTC
  4. 7/1/2020 04:00 UTC (APAC-Friendly)
  5. 7/8/2020 18:00 UTC
  6. 7/16/2020 20:00 UTC
  7. 7/20/2020 16:00 UTC
  8. 7/27/2020 19:00 UTC
  9. 8/3/2020 TBD (If Necessary)

These scrubs are separate and in addition to the normal scrubbing and triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. by individual components. Some of those sessions include:

Design Triage: Every Monday 17:30 UTC at #design
GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ Design Triage: Every Tuesday 17:00 UTC at #design
AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) Scrub: Every Friday 14:00 UTC at #accessibility

The #accessibility team has also announced a set of 5.5-focused scrubs.

Also, the ongoing APAC-friendly #core bug scrub session every Tuesday at 05:00 UTC will continue during the cycle, alternating focus between coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and editor.

Finally, a reminder that anyone — Yes, you! — can host a bug scrub at anytime. You can work through any tickets you’re comfortable with. In fact, if you plan one that’s 5.5-focused, we’ll add it to the schedule here along with your name. Finally, you’ll get well deserved props in the weekly Dev Chat, as well as in the #props SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel!

All open tickets for 5.5, in order of priority, can be found here. Tickets that haven’t seen any love in a while are in particular need. Those can be found in this query.

If you’d like to lead a bug scrub or have any questions or concerns about the schedule, please leave a comment or reach out to me directly.

#5-5, #bug-scrub

Editor Chat Agenda: 1st July, 2020

Facilitator and notetaker: @andraganescu.

This is the agenda for the weekly editor chat scheduled for 2020-07-01 14:00 UTC.

This meeting is held in the #core-editor channel in the Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

Even if you can’t makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). the meeting, you’re encouraged to share anything relevant for the discussion:

  • If you have anything to share for the Task Coordination section, please leave it as a comment on this post.
  • If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.

#agenda#core-editor#core-editor-agenda#gutenberg

WordPress 5.5: Better fine grained control of redirect_guess_404_permalink()

Since WordPress 2.3.0, the redirect_guess_404_permalink() function has existed to attempt guessing the desired URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org based on the query variables available. This is especially useful when a post’s parent changes (for hierarchical post types), or a post’s slug is changed.

Guessing a URL to redirect 404 requests is fine for the majority of WordPress sites, but sitesite (versus network, blog) owners, developers, and pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party authors may want more fine grained control over the guessing logic.

This is a long-standing issue, as the original ticketticket Created for both bug reports and feature development on the bug tracker. was opened 9 years ago. So long, WordPress 5.5 will add the ability to manage that feature properly.

Short-circuiting default guessing logic

The new pre_redirect_guess_404_permalink filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. can now be used to short-circuit the function, bypassing the default guessing logic. This is useful to execute custom logic that better fits each individual site’s needs to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). a more accurate guesses.

Returning a non-false value to the filter will cause the function to return the filtered value early.

Example

function mysite_pre_redirect_guess_404_permalink() {
    // Custom redirect URL guessing logic.
   return $new_redirect_url;
}
add_filter( 'pre_redirect_guess_404_permalink', 'mysite_pre_redirect_guess_404_permalink' );

Controlling “strict” vs. “loose” comparison

The strict_redirect_guess_404_permalink can now be used to filter whether a “strict” or “loose” comparison is used to make a redirect URL guess.

“Strict” comparisons (true) will make a guess suggestion for a redirect only when exact post_name matches are found.

“Loose” comparisons (false) is the default option and will perform a LIKE query on post_name.

Example

The following example will enable “strict” comparisons in redirect_guess_404_permalink():

add_filter( 'strict_redirect_guess_404_permalink', '__return_true' );

Disable 404 redirect guessing

The do_redirect_guess_404_permalink filter can now be used to completely disable redirect guessing. Returning false to the filter will disable the feature entirely.

Example

add_filter( 'do_redirect_guess_404_permalink', '__return_false' );

For more information on these changes, consult the related TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticket: #16557.

#5-5, #dev-notes, #permalinks

Media Meeting Recap – June 25, 2020

Here’s a summary of the #core-media chat from June 25, 2020. Weekly media meetings happen on Thursdays at 14:00 UTC; see the full transcript here, in the Make WordPress Slack.

Attendees: @paaljoachim, @joemcgill, @desrosj, @chaion07, @cdog, @sageshilling, @antpb, @afercia, @swissspidy, @JJJ, @pbiron

Discuss Media REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. endpoints

The below post was discussed as an effort to bring visibility to the changes in image editing. Please take a moment if you haven’t to consider any Media implications of the changes. Many great ideas have been documented in the post.

Ticketticket Created for both bug reports and feature development on the bug tracker. #50105: Remove infinite scrolling behavior from the Media grid

#50105 was discussed and there is some help needed testing the most recent patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. to remove the infinite scrolling behavior in Media grid. Separately from this issue, a new bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. was found that needs some attention. The unintended consequence of the changes were that the number of items counted for the “Load More” button are incorrect as they calculate images that do not render. The ticket at minimum before 5.5 needs a more accurate count to better represent what is left to load. An issue to track this can be found in #50410.

Media Meeting Continued June 26 at 14:00 UTC

One topic that did not get a chance to be discussed was #16020 “Upload custom avatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. for user in Dashboard” which was recently commented with a recommendation to remove from the 5.5 scope. Given the timeframe and wide range of complexities, this needs some time to:

  1. Discuss tomorrow at 14:00 UTC to determine next steps
  2. Collaborate with the Privacy team to ensure this is done in the best way for everyone and in a featured pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.

Please feel free to continue the momentum of this issue join in on the discussion tomorrow.

#core, #core-accessibility, #core-media, #media, #summary

Editor chat Summary: 24th June, 2020

This post summarizes the weekly editor chat meeting agenda here. Held on Wednesday, 24th June 2020 held in Slack. Moderated by @paaljoachim.

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ version 8.4.0 RC 2

Gutenberg version 8.4 RC 2 was released today.
A huge thank you to @noisysocks for helping for tackling the huge releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software..

The next Gutenberg release 8.5 to be released on the 6th of July and will be included in 5.5. BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. will be on the 7th of July.

Project board for WordPress 5.5.

@ellatrix is maintaining a project board for 5.5 of issues/PRs that need to go into the next release.
@youknowriad is already satisfied with what has already been added to 5.5.
@michael-arestad there are a few issues he would like to see added. Such as PR: Try: Don’t show a clone when dragging.
@ellatrix We should begin polishing what we have now for the next release.
@mcsf we need to backport a lot of PHP changes to core and begin thinking about compiling dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase..

Monthly Plan

The monthly plan for June.

Task Coordination

@zebulan
I’ve been working on moving reusable blocks to their own tab in the inserter.
I’ve also been working on various PRs to fix cases where useSelect calls were missing dependency arrays or had incorrect dependency arrays.
BlockSettingsMenuControlsSlot: add missing useSelect dependency
useDisplayBlockControls: add missing useSelect dependency
Optimize useSelect calls (batch 1)
Technical issues in this PR blocking future improvements: Buttons block: lighten editor DOM even more. Once that PR is unblocked, I can resume work on this one: Buttons block: overhaul alignment/justification controls If anyone could help figure this out so we could try and get this done before WP 5.5, that would be much appreciated. Right now the Buttons blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. alignment controls are confusing and broken.

@ntsekouras
I’m working on adding keyboard support for moving blocks.
Associated. Prototype: move blocks between levels with keyboard

@poena
Because this feature that introduces descriptions to block patterns would require changes to existing block patterns, a decision is needed so that it may be included in 5.5. We probably don’t want to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). breaking changes after patterns are available in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

@michael-arestad
We’re starting in on the “Create a new template” flow
If you have any thoughts or ideas, let me know.

@youknowriad
I worked a lot on end 2 end tests lately, hopefully they are more stable now
Finally landed the quick inserter PR.
I’ll focus in on 5.5 related tasks (backports, tests on Core…)
Polish and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes on Gutenberg side.

@annezazu
I’m continuing to do triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. on needs-testing and unlabeled alongside officially placing docs about the FSE Outreach Program here. There are more to come that are being drafted and shared for feedback in #fse-outreach-experiment including a general FAQ.

@joen
I’ve been sheparding this drag and drop improvement along, and it’s looking like it can land, so I would just highlight it for your eyes once again.

@itsjonq
Continue efforts under the “Design Tools” label.
More recently, helping out with the drag/drop experience @joen and @michaelarestad mentioned.

@itsjusteileen
I’ve been testing in Full Sitesite (versus network, blog) Editing (FSE) and helping @annezazu over in #fse-outreach-experiment. I also helped get Add reusable block tab to inserter moving and on the Project Board for 5.5. I also added Discussion: Should theme.json support conditional logic like theme supports and looking for input.

@ellatrix
I’ve been helping out with 5.5 🙂

@ajlende
Image editing tools.
Working on Image Editor Batch API for updating the REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/..
Discussion about in #core-restapi channel.
Outside of Gutenberg land: Add option for flipping the image to the crop view which can be re-added in a future Gutenberg PR after it was removed in Image editing: batch editing in cropper component.

@noisysocks
Regarding task coordination, this week I’m: Releasing Gutenberg 8.4.
Working on allowing Search to be added to the Navigation screen.

Open Floor

@Kiril Zhelyazkov
I need eyes on Block icons are reordered when adding new blocks. There are different suggestions for how it should be handled and I can’t decide which is the right way to solve it.
–> No replies yet.

@chrisvanpatten
I’m not sure if I’ll be able to attend the meeting this week but I want to call attention to this issue: Patterns should not display if their blocks are not allowed.
@youknowriad
Plans to take a closer look at the issue.

@mrwweb
Use .has-background to indicate any type of background. Introduce second class for type of background.
The Block-based Themes team agreed it makes sense and we’ve since done additional research and gotten feedback that seems to confirm this is a positive change. Because it is an issue that involves changing front-end CSSCSS Cascading Style Sheets. classes, it feels like this needs to get into the soonest release possible to avoid causing disruption. At this time, the general consensus is that the risk of adding it is very low, but that will obviously increase over time.
@zebulan
Comment: A has-background class sounds like a good idea to me.

@itsjusteileen
Eileen is asking for comments to this issue:
Discussion: Should theme.json support conditional logic like theme supports
@youknowriad
Comment: I don’t think we need to add condition logic to theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. aside block vs global specific settings but the editor settings are filterable whether they come from theme.json or not, so conditional logic is possible there.

@MrMark
Before I submit a ticketticket Created for both bug reports and feature development on the bug tracker., wondering if anyone knows the reasoning behind having a bottom margin on wp-block-columns and wp-block-column so that when you have columns within columns, it creates large margins below that grouping, etc.
@michael-arestad
Comment: I think it’s worth a ticket/issue. If anything, we could add some conditional CSS to remove the bottom margin from child column blocks. Or just remove the margin.
@jonoalderson
Comment: https://every-layout.dev/layouts/stack/ is handy for this sort of thing. Much cleaner than conditionals for parent-child structures.

@joyously
We need either more knowledgeable people or a document (user docs for editor) to send users who ask questions in the Gutenberg plugin support forums.

@paaljoachim
Having a buddy buddy system where developers can help and review each others PRs. Reach out to other developers through a polite direct message and ask for advice. We are all here to also help each other along our paths.

#core-editor, #core-editor-summary, #gutenberg

Devchat meeting summary – June 24th, 2020

@whyisjake led the chat on this agenda.

Highlighted/Need Feedback Blogblog (versus network, site) Posts

A few blog posts and announcements were shared by @whyisjake and others:

  • GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 8.4 has been released: What’s new in Gutenberg – June 24, 2020
  • A date/time has been solidified for APAC specific triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. sessions: New date and time for APAC triage sessions
  • @audrasjb announced that @ryokuhi was elected to replace him as AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) Team RepTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts., alongside @nrqsnchz.
  • @jorbin has recently published a proposal on moving git repositories away from master as the main branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". name to using trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.: Proposal: Update all git repositories to use trunk instead of master. This work is already on track.
  • @sergeybiryukov published a proposal to change some of the workflow related keywords to be more inclusive: Rename “invalid”, “worksforme”, and “wontfix” ticket resolutions

Upcoming releases

WordPress 5.4.3

WordPress 5.4.2 has been simmering for a few weeks now, and milestone 5.4.3 is open on Trac.

Right now, the majority of the tickets are related to theme updates, with one regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.. As there is less than 2 weeks before WordPress 5.5 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1, the main effort is currently concentrated on milestone 5.5.

WordPress 5.5

WP 5.5 ReleaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. coordinator @whyisjake shared that beta 1 is roughly two weeks away (July 7, 2020), and there are still around 230 open tickets in the milestone.

@davidbaumwald will bump the remaining early tickets at the end of the week. There are currently 13 tickets marked as early in the milestone. He also shared a general reminder: Beta 1 is the deadline for Feature Requestfeature request A feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged. and Enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. type tickets.

@desrosj shared a list of all feature request and enhancement tickets currently in the 5.5 milestone (88).

@pbiron asked if “enhancements” to the three feature plugins merged in WP 5.5 are allowed to be committed after beta 1. @clorith answered Feature plugins should not need enhancements post-merge. However, small enhancements can be labelled as a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority., for example if the enhancement aims to reduce false positives, like #50437 does.

@sergeybiryukov also recommended to branch the next milestone (5.6) right after Beta, so enhancements and other bug fixes could go to trunk for 5.6 and not loose their momentum.

Components check-in and status updates

@antpb shared the Media team next meeting agenda.

@azaozz asked for help with the Test jQuery Updates plugin. Feedback are welcome ont the text/explanations in it, and with the readme file, etc. The pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party is expected to be officially released very soon.

Open Floor

@joyously pointed some tickets that may benefits to plugins and themes auto-updates feature. Her proposal is to add more information to the auto-update email notifications. In the case of themes, adding information from the changelog. @audrasjb to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). sure to raise those points during the next auto-updates team meeting.

@carike asked to consider removing coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel from the channels that are auto-joined for Slack. It would be less stressful to try to orientate new users in an environment that is less technically-focused and/or not quite as large as core Slack channel. Everyone agreed this proposal makes sense. @aaroncampbell proposed to use a welcome channel that is locked but had a message with the main channels for each group for people to click to join. A ticketticket Created for both bug reports and feature development on the bug tracker. is about to be opened on MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. to handle ad discuss this task.

#5-4-3, #5-5, #core, #summary

Media Chat Agenda: 24th June, 2020

This is the agenda for the weekly Media Meeting scheduled for Thursday, June 24, 2020, 04:00 PM GMT+2.

This meeting is held in the #core-media channel in Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

– Topics to Discuss

Implications of the proposed experimental REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. endpoints for image editing: https://make.wordpress.org/core/2020/06/14/shipping-experimental-endpoints-in-core-rest-api-meeting-summary-june-11-2020/

#50105: Remove infinite scrolling behavior from the Media grid – Discuss next steps. Seems that this could use testing and dev-notes. Let’s see how we can help here!

Custom AvatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. feedback that @cdog provided last week:
https://make.wordpress.org/core/2020/06/18/media-chat-agenda-18th-june-2020/#comment-38779  

Discuss support for WebP – @joemcgill said in #core-media, “Given the announcement yesterday that Safari is about to support WebP, I’m wondering how we might go about supporting the format in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., revisiting this discussion: https://wordpress.slack.com/archives/C02SX62S6/p1581005513097600

Even if you cannot makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). the meeting, you are encouraged to share anything relevant for the discussion. If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.

#agenda, #media

CSS Chat Agenda: 25th June…

CSSCSS Cascading Style Sheets. Chat Agenda: 25th June 2020

This is the agenda for the upcoming CSS meeting scheduled for Thursday, June 25, 2020, 5:00 PM EDT.

This meeting will be held in the #core-css channel in the Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

If there’s any topic you’d like to discuss, please leave a comment below!

  • CSS audit status update
  • Color scheming updates
  • CSS Latest and Greatest Link Share

#agenda, #core-css

Proposal: Rename “invalid”, “worksforme”, and “wontfix” ticket resolutions

Last year, during the core dev chat of May 29th, 2019, I proposed renaming the invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. and worksformeworksforme A resolution on the bug tracker (and generally common in software development) that indicates the bug reported cannot be reproduced. Trac ticket resolutions to something more friendly and less confusing. The reaction in the chat was unanimously positive, so this is now an official proposal for discussion.

The current interpretation of ticketticket Created for both bug reports and feature development on the bug tracker. resolutions, as per the Core Contributor Handbook:

Resolution: Upon one or more commits to the codebase, a ticket may be closed as fixed. Not all tickets result in a commit, however, and may be closed for other reasons:

  • duplicate: The ticket is a duplicate of an existing ticket, which will be referenced by the contributor closing the ticket.
  • invalid: The ticket is not a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority., or is a support request.
  • worksforme: The bug reported in the ticket cannot be reproduced. Sometimes, an existing pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party, hook, or feature may render the ticket moot, so the ticket can be closed without further action.
  • wontfixwontfix A resolution on the bug tracker (and generally common in software development) that indicates the ticket will not be addressed further. This may be used for acceptable edge cases (for bugs), or enhancements that have been rejected for core inclusion.: The ticket will not be addressed. Occasionally, bugs are considered to be acceptable edge cases, and will not be addressed further. This is sometimes used when a request for an enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. or feature has been rejected for coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. inclusion.
  • maybelater: Similar to wontfixmaybelater is used for a ticket that, while perhaps not outright rejected, has no current traction.
  • reported-upstream: The ticket is for an external library or component, has been reported in an upstream repository (e.g. GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/), and will be addressed there.

More than a few times I’ve seen someone closing a ticket as worksforme after testing a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. because, well, it works for them. When that happens, the ticket has to be reopened with a comment that the patch still needs to be reviewed and committed.

Based on the above, I’d like to propose the following updates:

  • invalidnot-applicable
  • worksformenot-reproducible or cannot-reproduce
  • wontfixnot-implemented

On the technical side, any tickets that are currently closed should keep their existing resolutions, while tickets closed after the change is implemented should get the new resolutions. Some links and TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. reports might need an update to account for the changes.

Even if we move away from Trac at some point in the future, we’re not there yet, and I think clarifying these resolutions would be helpful for the time being. Any feedback appeciated!

Props @desrosj and @jeffpaul for pre-publication review.

#meta-tracdev, #trac, #triage, #triage-team

Dev Chat Agenda for June 24th, 2020

Here is the agenda for the weekly meeting happening later today: June 24th, 2020 13:00 PST.

Highlighted/Need Feedback Blogblog (versus network, site) Posts

Discussion

  • WordPress 5.5 Progress

Components check-in and status updates

  • News from components
  • Components that need help/Orphaned components
  • Cross-component collaboration

Open Floor

Got something to propose for the agenda, or a specific item relevant to our standard list above?

Please leave a comment, and say whether or not you’ll be in the chat, so the group can either give you the floor or bring up your topic for you, accordingly.

This meeting happens in the #core channel. To join the meeting, you’ll need an account on the Making WordPress Slack.

#5-5, #agenda

What’s new in Gutenberg (24 June)

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 8.4 has been released. This is the second last pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. before WordPress 5.5 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 and it’s a big one! Gutenberg 8.4 includes image editing, multi blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. controls, and we’ve enabled the Block Directory. This release also includes many fixes, countless refinements, and a tonne of iteration on the Full Sitesite (versus network, blog) Editing and the Navigation experiments.

Image editing

Are you a photography geek who cares about things like the “rule of thirds”? Now you can makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). quick crops without leaving the block editor. Just hit the Crop button in the toolbar and you can adjust the aspect ratio, zoom level, and position.

You can also rotate the image right then and there. Great for when your iPhone-using friend sends you a picture!

Multi block controls

How’s this for a little big improvement: Now, if you select multiple blocks of the same type, you can change their attributes all at once. Nice!

Enabling the Block Directory

Now you can discover, install, and insert third-party blocks into your posts from the comfort of your editor. Search for the block you want in the inserter and, if you don’t already have it, you’ll see a prompt to install it right then and there.

We call this the Block Directory, and it’s one of the big ticketticket Created for both bug reports and feature development on the bug tracker. items in the WordPress Roadmap. It’s powered by the WordPress.org Plugin Directory and we’re super excited to see what our fabulous community of plugin developers will do with it.

We’ll be posting more info about the Block Directory—including how you can publish your own blocks to it—shortly. Watch this space!

8.4 🇧🇷

Features

  • Add image editing. (23349)
  • Enable block directory. (23389)
  • Allow block attributes to be modified while multiple blocks are selected. (22470)

Enhancements

  • Show movers next to block switcher. (22673)
  • Support drag and drop in blocks like Social Links and improve drop zone detection. (23020)
  • Improve the accessibliity of toolbars by implementing roving tab index.
    • Embed block toolbar. (23278)
    • Custom HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. block toolbar. (23277)
    • Table block toolbar. (23252)
    • Grouped blocks toolbars. (23216)
    • HeaderHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. toolbar. (22354)
  • Tweak colors of disabled buttons to match rest of WP Adminadmin (and super admin). (23229)
  • Unify style of subheadings. (23192)
  • Make Popover scrolling and position behavior adapt to the content changes. (23159)
  • Reduce block appender hover delay. (23046)
  • Improve the alignment of children in the CardHeader and CardFooter components. (22916)
  • Add ability to transform a Preformatted block into a Code block. (22634)
  • Add a border to blocks while hovering with the Select tool active. (22508)
  • Consolidate disparate “copy block” actions. (23088)
  • Remove margin from last button if buttons in Buttons block are centered. (23319)
  • Adapt the block switcher styles to the new Popover component. (23232)
  • Make UIUI User interface more consistent. (23202)
  • Remove canvas padding. (22213)
  • Image Editing
    • Update Rich Image Icons. (22819)
    • Consolidate crop ratios. (22817)
    • Use snackbar notifications. (23029)
    • Batch editing in cropper component. (23284)
    • Move to image block. (23053)
    • Change Edit label to crop icon. (23387)
    • Use percentage instead of multiplier. (23362)

New APIs

  • Update the theme colors to rely on CSSCSS Cascading Style Sheets. variables. (23048)
  • Extend register_block_type_from_metadata to handle assets. (22519)
  • Enable custom classnames on <CustomSelectControl>. (23045)
  • Add onFilesPreUpload property toMediaPlaceholder. (23003)
  • Improve error customization inMediaReplaceFlow. (22995)
  • Add context properties to block types REST endpoint. (22686)

Bug Fixes

  • Fix pixel shift for toggles. (23191)
  • Fix useBlockSync race condition. (23292)
  • Avoid overriding popover content padding. (23270)
  • Fix block parent selector border radius. (23250)
  • Fix plus radius. (23240)
  • Fix Inserter’s handling of child blocks. (23231)
  • Create Block: Fix errors reported by CSS linter in ESNext template. (23188)
  • Add context property mapping to block registration. (23180)
  • Remove z-index from placeholder fieldset. (23152)
  • Fix possibly outdated onChange in color palette’s color picker. (23136)
  • Fix updateSlot missing from defaultSlotFillContext. (23108)
  • Add check theme support is an array before indexing. (23104)
  • Add i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. to padding ‘reset’ button. (23099)
  • Fix group block moving animation not working correctly. (23084)
  • Use a light block DOM for the Media & Text block. (23062)
  • Popover: Ensure popovers consider border width’s in their positioning. (23035)
  • Remove child space inTooltip. (23019)
  • Fix drag and drop for blocks that don’t use __experimentalTagName for their inner blocks. (23016)
  • Fix am / pm i18n bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.. (22963)
  • Fix plugin document setting panel name. (22763)
  • Fix plus icon. (22704)
  • Fix Typography panel rendering from style hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. (22605)
  • Fix “Cannot read property ‘end’ of undefined” error on babel-plugin-makepot. (22394)
  • Fix “ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. does not recognize isSelected prop in ComplementaryAreaToggle” warning. (22967)
  • Cover padding: Fix reset and visualize on hover. (23041)
  • Fix color picker saturation bug. (23272)
  • Fix image size feature. (23342)
  • Remove block preview paddings. (23386)
  • Block Directory
    • Fix “no result” UI flash. (22783)
    • Uninstall unused block types. (22918)
    • Fix installing blocks. (23096)
    • Add plugins REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. endpoints. (22454)
    • Use plugin APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. for installing & deleting block-plugins. (23219)
    • Use a more specific <script> matching pattern. (23407)
    • Fix missing padding. (23346)
  • Image Editing
    • Fix image size on crop. (23173)
    • Avoid re-render on select. (23009)
    • Preserve crop position through rotations. (23374)

Performance

  • Memoize useSelect callbacks on the header toolbar items. (23337)
  • Enqueue assets for rendered blocks only. (22754)
  • Call isMultiSelecting and isNavigationMode selectors where needed. (22135)

Experiments

  • Full Site Editing
    • Move initial template fetch to client. (23186)
    • Fix Template Part Auto-draft creation. (23050)
    • Fix template part switching instability. (23282)
    • Fix $theme-color error in Template Part block. (23221)
    • Add auto-drafting for theme supplied template parts. (23254)
    • Add template part previews to placeholder block. (22760)
    • Fetch template parts in Template Switcher from REST API. (21878)
    • Post Title block: Add alignment and heading level support. (22872)
    • Post Author block: Update functionality and visual parity. (22877)
    • Add theme exporter. (22922)
  • Navigation block & Navigation screen
    • Visual improvements to the block navigator. (22796)
    • Improve flow when creating from menu. (23187)
    • Renamed Navigation Link to Link. (23163)
    • Only show appender for the currently selected block. (22998)
    • Fix navigation block dark style appender. (23165)
    • Fix saving on navigation screen. (23157)
    • Extract and refactor placeholder from navigation block edit function. (23109)
    • Better README for the edit-navigation package. (23018)
    • Remove navigator from the navigation block inspector. (23022)
    • Separate block navigator focus from the editor focus. (22996)
    • Change MenuLocationsEditor to use a card instead of a panel. (23151)
    • Change Create Menu UI to use a Card instead ofPanel. (23150)
    • Enable creation from existing WP Menus. (18869)
    • Don’t announce external value changes in custom select control. (22815)
    • Refactor Navigation screen to use @wordpress/data. (23033)

Documentation

  • @wordpress/env: add login details to documentation. (23343)
  • Grammatical fixes in modularity.md. (23336)
  • Update modularity.md. (23322)
  • Use correct package for importing useState in BoxControl examples. (23243)
  • Rename architecture index.md to readme.md. (23242)
  • Scripts: Update changelog to move unreleased entries to Unreleased section. (23178)
  • Handbook: Udpate documentation for package release. (23162)
  • Use deny/allow list. (23120)
  • Move ESNext as default code example. (23117)
  • Handbook: Update release documentation. (23002)
  • Update theme-support.md for experimental supports. (23310)
  • RichText: Add missing param documentation for getActiveFormats(). (23160)
  • API description: Use a period at the end. (23097)
  • Improve JSDoc comment in ESNext template in edit.js file. (23164)
  • Blocks: Update block registration default values. (23348)

Code Quality

  • Refactor header toolbar items to use @wordpress/data hooks. (23315)
  • Use useLayoutEffect to compute the popover position. (23312)
  • Reduce unnecessary selector specificity for Button block. (23246)
  • Button component – remove isLarge prop. (23239)
  • Upgrade Reakit to version 1.1.0. (23236)
  • Refactor column block to use hooks. (23143)
    RichText: Rewrite with hooks. (23132)
  • Refactor ToggleControl to use functional component. (23116)
  • Refactor Media & Text to use functional components. (23102)
  • Image block: Split huge component. (23093)
  • SimplifyuseImageSizes. (23091)
  • Block: Move align wrapper out of Block element. (23089)
  • Remove Gutenberg plugin’s deprected APIs for version 8.3.0. (23001)
  • Block: Remove animation component so it is just a hook. (22936)
  • Remove asterisk icon. (22855)
  • Image Editing
    • Use hooks. (23008)
    • REST API Code Cleanup. (23037)

Copy

  • Cover block: update copy for Opacity label. (23287)

Build Tooling

  • Packages: Fix the changelong updater for initial npm release. (23166)
  • Scripts: Fix style.css handling in the build and start commands. (23127)
  • Scripts: Clean up the build folder via clean-webpack-plugin. (23135)
  • Scripts: Update stylelint dependencies to latest versions. (23114)
  • Remove volumes and networks in wp-env destroy. (23101)
  • Build: Replace “release” with “build” in script for building a package. (23063)
  • Release tool: Fix bug on reporting message error. (22994)
  • Scripts: Remove temporary workaround in ESLint configuration. (22915)
  • ESLint plugin: Allow ESLint 7.x as peer dependency. (23190)
  • Packages: Add “gutenberg” to the list of keywords in package.json. (23161)
  • Update package-lock.json. (23052)

Various

  • Initialize the content size used in Popover computation. (23279)
  • Make the block grouping test more stable. (23266)
  • Try to improve heading custom color E2E test stability. (23260)
  • Attempt to fix RTL end-to-end test. (23203)
  • Add verification for Create Block to Continues Integration. (23195)
  • Remove padding inheritance on lists in editor-styles. (23080)
  • Change select parent button styles. (23230)
  • Make link color control opt-in. (23049)
  • Use showBlockToolbar consistently in e2e tests. (23311)

Performance Benchmark

The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.

Version Loading Time KeyPess Event (typing)
Gutenberg 8.4 7.69 s 31.91 ms
Gutenberg 8.3 7.23 s 28.30 ms
WordPress 5.4 9.00 s 41.17 ms

Kudos for all the contributors that helped with the release. 👏

#core-editor, #editor, #gutenberg-new