DevChat meeting Summary – April 21, 2021

@peterwilsoncc and @audrasjb led the weekly meetings of the WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team, respectively at 05:00 UTC and 20:00 UTC. Here is the meeting agenda.

Link to 05:00 UTC devchat meeting on the core channel on Slack

Link to 20:00 UTC devchat meeting on the core channel on Slack

Release announcements

WordPress 5.7.1

WordPress 5.7.1 was released on Wednesday April 14, 2021. This security and maintenance release features 26 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 in addition to two security fixes.

There are only 6 tickets in the next milestone (5.7.2), and as for now there is no urgent thing to address.

WordPress 5.8

Some blogblog (versus network, site) posts were published on Make/Core:

@annezazu shared that 2 weeks are left to go on a Query Quest and give feedback. Worth noting there is also an Italian version of the testing process (props to @piermario). If you have issues with the call for testing or questions about setting up a test site, please feel free to ask @annezazu in the #fse-outreach-experiment channel on 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/..

@chanthaboune shared that the next step for WP 5.8 is to get a release team together.

While she’s finally not available to lead the release squad, @francina will be available to help wrangling contributors and mentoring. She will also publish a call for release team members on Make/Core.

Make/Core News

Blog posts that need feedback: FLoC concerns

One blogpost was discussed during most of the meeting time:

@carike posted the proposal, and an active discussion started with more than 100 commenters. For those interested, there is a summary of the discussion on WP Tavern. Worth also noting that @helen, lead developer of the project, published a top comment about the proposal.

@peterwilsoncc previously shared a comment from the Security team in the initial post: based on the information presented, this should not be considered a security issuesecurity issue A security issue is a type of bug that can affect the security of WordPress installations. Specifically, it is a report of a bug that you have found in the WordPress core code, and that you have determined can be used to gain some level of access to a site running WordPress that you should not have. at this time.

Worth noting that 3 people from Google Chrome DevRel team attended the meeting: @michaelkleber as Chrome Tech Lead for the ads-related APIs, @r0wan and @samdutton as Chrome DevRel.

Below you’ll find some direct quotes from this open floor discussion:

@michaelkleber shared that the FLoC initiative is just at the beginning of what Chrome calls an Origin Trial — that’s the way we introduce new proposed APIs to get feedback from developers.

@joyously asked whether FLoC simply is a cookie of another flavor or not.
@r0wan answered there is a key difference with a cookie is that it’s a 1:1 token the server sets on the client. With the FLoC id, it’s a 1:many grouping that does not enable that same direct link back to an individual across different sites. It’s also not a value that the server gets to set for the client.
@michaelkleber added that the key contrast with third-party cookies is that a FLoC cohort can’t be used to know information specifically about you. Instead it allows some kind of probabilistic information about a large group of people that you’re temporarily part of (each FLoC cohort has thousands of people in it).

@carike shared with a detailed use case and asked for the safeguards that are in place to prevent this.

@helen’s asked what is the utility is of disabling FLoC on the content provider front vs. on the consumer front.
@michaelkleber answered that in the final end state, they expect the way FLoC will work is that the only pages that will be relevant to calculating your cohort are the pages that call the FLoC 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..  So pages will “opt in” by using some new JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. function call. The HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. 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. being discussed here was introduced as a way that pages could include random 3rd-party JS without worrying that it would invoke that API without them expecting it. So the HTTP header is saying “There is a new API that exists in the web, and I want to be sure my page cannot use it”.

@michaelkleber: FLoC doesn’t involve saving any new information, it’s just calculated based on the recent browsing history — and not the full URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org even, just the domain name.

@helen: So on its own by default, a WordPress-served page of content is not going to be used to calculate. However, if you were to, say, embed something that includes a piece of JS, that JS could then call the API and it would include the entire page?
@r0wan answered: so a default WordPress page with no use of the FLoC JS API and no ad-tagged resources in it will not be used as part of the FLoC calculations. If that site includes a third-party that uses FLoC then that would include the top-level page.

@michaelkleber: There is a bunch of on-device clustering that goes into making sure that your FLoC is shared with thousands of other people. If you want to read more about the technical details of clustering, here’s the page that describes it all.

@macmanx: So, is there’s no point in a site blocking FLoC if that site is not using FLoC-enabled resources? If a site were not using AdSense, it’s most likely not even going to be included in FLoC? And, on the other hand, if that site were already running AdSense, it probably benefits from FLoC and would not want to 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.?

@samdutton nodded: During the current FLoC origin trial, a page visit will only be included in the browser’s FLoC computation for one of two reasons:

@macmanx: So, FLoC only triggers when resources that benefit (or are assumed to benefit) from FLoC are present. If I have that right, then WordPress blocking FLoC software-wide would be similar to blocking Google Fonts software-wide. It would have an effect but would actually be more of a negative impact to the site itself.

@michaelkleber: We’re running the Origin Trial so that we can get feedback, and what we hear from people (including you, now) is the kind of feedback that affects the end decision.
So it seems to me that this group is generally in favor of our best-guess plan (only look at pages that actually invoke the FLoC API), for which thank you. But I’m sure we’ll hear other opinions as well.

@mkaz: I think debating the merits of FLoC is a bit beyond the point, it may or may not be evil, probably no more or less than say AdSense. Where we wouldn’t introduce something to WordPress that would explicitly block a site from implementing AdSense, right?
@carike: The proposal just changes it from opt-out to opt-in. It does not prohibit someone from opting in.
@westonruter: If the page has to opt-in to FLoC by using an API then what’s the point of also requiring the site to opt-in to allowing FLoC as well? Going back to the Google Fonts example, if WordPress blocked Google Fonts from being used except if an opt-in is used, then if a theme enqueued a Google Font stylesheet then they’d also have to add the code to opt-in to not blocking Google Fonts. That doesn’t make sense to me. It’s like requiring a double opt-in?
@mkaz: It doesn’t seem like the area of the WordPress software to automatically opt people out of something in their browser.

@helen: So, a user/consumer disabling FLoC in their browser would mean they are not dropped into a bucket that’s used to determine ads/whatever that they see around the web (or… wherever). A WordPress site by default will not be used as a part of determining a given user’s bucket.
@macmanx: It seems to me, based on all this discussion, the best place for anti-FLoC measures are in the browser under control of the viewer, not in the site. If a site is triggering FLoC in the first place, it likely intends to benefit from FLoC in some way.

@carike shared a quote from the Chromium repository: “Any request made within an ad iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. is considered an ad resource request.”
@michaelkleber: The point is that Chrome’s Ad Tagging is trying to figure out exactly which resources are ads — very important if you want to, for example, unload ads that use too many bytes.  So the rule is “anything loaded inside an ad counts as part of the ad”. But for FLoC, we’re asking a much coarser question: “Does this page have any ad stuff on it at all?”  So details about which specific items are part of that ad are irrelevant.

@jorbin: In my personal opinion, WordPress is best off making a decision of no action at this time (not that we are making a decision in the meeting). FLoC as of right now is in such a small trial that we as a project should continue to monitor it and try to encourage that the final implementation is one that is going to align with us a project, but as of now it doesn’t present any danger to individuals on the web and in fact has the potential to benefit many publishers.

At the end of the chat, @jorbin shared a reminder about the Post & Comment Guidelines on Make/Core blogs to everyone that has posting abilities on make/core that we do have a page with expectations for posting there and that 1) All posts should be peer reviewed (it currently states by a committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component., but I personally would say project leaders who are not committer would fall into that bucket) and 2) That the peer reviewer should be recognized in the post.

The Google Chrome DevRel Team members shared that everyone is welcome to get in touch them via the chromiumDev Twitter account or the FLoC repository on GitHub.

After the devchat, @helen opened a ticketticket Created for both bug reports and feature development on the bug tracker. to summarize the discussion and to discuss the next steps: #53069: Consider implications of FLoC and any actions to be taken on the provider (WordPress) front. Everyone is welcome to contribute to the discussion in this Trac ticket.

Thanks @chanthaboune for the quick review.

#5-7-1, #5-8, #dev-chat, #summary

Dev Chat Agenda for April 21, 2021

Here is the agenda for this week’s meetings to occur at the following times: April 21, 2021 at 5:00 UTC and April 21 2021 at 20:00 UTC.

Release Announcements

Blogblog (versus network, site) Post Highlights

Blog posts that need feedback

Components check-in and status updates

  • Check-in with each component for status updates.
  • Poll for components that need assistance.

Open Floor

Do you have 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-7-1, #5-8, #agenda, #dev-chat

CSS Chat Summary: 08 April 2021

The meeting took place here on Slack. @notlaura facilitated and @danfarrow wrote up these notes.

Housekeeping

  • Our next 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. scrub will be on 22 April at 8pm UTC. If anyone is interested in leading it please let us know in the #core-css channel

Discussion: CSSCSS Cascading Style Sheets. deprecation path

  • The issue initially came up via this ticket and will grow as we start to introduce custom properties into the WP Adminadmin (and super admin) CSS
  • @helen previously outlined an approach in this post – deprecated CSS would be moved to a deprecated file that plugins can still optionally enqueue. It would be helpful if it could run standalone, and if an example of how to implement and run it could be provided e.g. as a GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Action workflow
  • Deprecated CSS would generally be at the selector level
  • @sabernhardt provided the recent examples of .icon16 (raised in #35717) and .wp-ui-text-icon
  • We agreed that .icon16 would be a good deprecation candidate to test the process
  • @notlaura suggested adding deprecated selectors to a disallowed list in stylelint, and a PostCSS script to build the deprecated.css stylesheet. PostCSS & stylelint could share the same config file to track deprecated selectors
  • @Ahmed Saeed suggested adding a deprecation notice as a CSS custom property which would be discoverable in dev tools
  • @ryelle added that we would probably want multiple ways to flag deprecated CSS and @tellthemachines agreed it would need to be part of the build process
  • @notlaura suggested a deprecated-with-warnings.css file which is enqueued if WP_DEBUG is on
  • @ryelle clarified the two parts of the problem: identifying the deprecated CSS, and developing external tools for 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 developers

Next step

  • The next step would be writing a TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. outlining the solution & raising it in dev chat
  • @tellthemachines offered to write the ticket

Discussion: CSS naming and usage conventions for JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. targeting (#40686)

  • The intention is to establish a convention for naming CSS classes which are intended for use with JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.
  • There was some discussion to clarify the problem, but in relation to CSS deprecation we need to ensure we’re not deprecating CSS classes that are used by JavaScript
  • We agreed that a js- prefix would clarify that a particular classname is intended for JavaScript interaction

Open Floor + CSS Link Share

  • CSS Audit (#49582) @ryelle has updated the readme & started the process of transferring the repo over to the WordPress org
  • Custom property naming @ryelle has started drafting a make/coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. post about the custom property naming discussions which she’ll share in the channel before posting
  • @danfarrow reminded us that April 09 is the annual CSS Naked Day!

Thanks everyone!

#summary

CSS Chat Agenda: April 8, 2021

Note: 1 hour before the meeting this week, @ryelle will lead a CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. CSSCSS Cascading Style Sheets. 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. scrub!

This is the agenda for the upcoming CSS meeting scheduled for Thursday, April 8, at 5:00 PM EST. 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, or if you have suggestions for discussion questions, please leave a comment below!

#agenda, #core-css

A Week in Core – February 15, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between February 8 and February 15, 2021.

  • 36 commits
  • 43 contributors
  • 63 tickets created
  • 9 tickets reopened
  • 67 tickets closed

You might have noticed that the activity on Core continued to increase this week, due to WordPress 5.7 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. cycle.

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component.

Code changes

Administration

  • Update color contrast on UIUI User interface elements – #52402

Bundled Themes

  • Support font size option for code 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.#52431
  • Twenty Thirteen: Fix alignment of child blocks within the Cover block – #51224
  • Twenty Twenty-One: Correct accent marks in block pattern alt text – #52500
  • Twenty Twenty: Make ordered list styling in classic editor match the front-end style – #50454
  • Twenty Twenty-One: Use correct value for the global line-height CSSCSS Cascading Style Sheets. variable – #52477
  • Twenty Twenty-One: Update editor styles of search block – #52433
  • Twenty Twenty-One: Adapt vertical buttons to text length – #52432
  • Twenty Twenty-One: Support font size option for code block – #52431
  • Twenty Twenty-One: Prevent Dark Mode related JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. error – #52473

Build/Tests tools

  • Add missing @covers tags for files in phpunit/tests/http/#39265
  • Add missing @covers tags for files in phpunit/tests/hooks/#39265
  • Add missing @covers tags for files in phpunit/tests/general/#39265
  • Add missing @covers tags for files in phpunit/tests/external-http/#39265
  • Add missing @covers tags for files in phpunit/tests/error-protection/#39265
  • Add missing @covers tags for files in phpunit/tests/editor/#39265
  • Add missing @covers tags for files in phpunit/tests/dependencies/#39265
  • Add missing @covers tags for files in phpunit/tests/db/#39265
  • Install WordPress Importer 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 when installing the Docker-based local environment – #49720
  • Replace most instances of assertEquals() in phpunit/includes/ with assertSame()#38266, #52482
  • Add missing @covers tags for files in phpunit/tests/date/#39265
  • Synchronize svn:ignore with .gitignore#49784
  • Correct the test for NOT BETWEEN comparison operator in WP_Date_Query#39265, #51802

Canonical

  • Rename wp_force_plain_ugly_permalink() to match UI terminology – #5272

Comments

  • Extend the duration of the window within which unapproved comments are visible by their author – #52406

Editor

  • Block Editor: Update packages with 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 to be included in WP 5.7 beta 3 – #52525
  • Block Editor: Remove extra quotes from the default font stack for editor styles – #46169

External Libraries

  • Further fix jQuery deprecations in WordPress core – #51812

Internationalization

  • Fix wp.i18n.isRTL() – #52441

Media

  • Make adjacent_image_link() include alt text when returning an image – #52387
  • Allow post_date to be respected in media_handle_sideload()#50972

Posts, Post Types

  • Clarify the documentation about the return value of get_post() when a falsey value is passed – #33068
  • Improve documentation of get_posts()#51852, #51800

Site Health

  • Update site-health script dependencies – #52483
  • Link to the support article on troubleshooting in “There has been a critical error” message – #52392
  • Site Health: Clarify the recommendation in file uploads test when post_max_size is defined as 0#51466

Props

Thanks to the 43 people who contributed to WordPress Core on Trac last week:

@jrf (11), @patopaiar (10), @poena (6), @hellofromTonya (6), @Clorith (4), @paaljoachim (4), @SergeyBiryukov (4), @mukesh27 (4), @audrasjb (4), @peterwilsoncc (4), @joedolson (3), @johnbillion (3), @kjellr (2), @dd32 (2), @jeroenrotty (2), @Mista-Flo (2), @sabernhardt (2), @justinahinon (1), @Rahe (1), @juliobox (1), @jonsurrell (1), @pixolin (1), @rolfsiebers (1), @jamesgol (1), @helen (1), @youknowriad (1), @ratneshk (1), @ocean90 (1), @hareesh-pillai (1), @dariak (1), @davidbaumwald (1), @alexstine (1), @imath (1), @Ipstenu (1), @acerempel (1), @sebastienserre (1), @geekzebre (1), @gmariani405 (1), @kafleg (1), @Joen (1), @isabel_brison (1), @melchoyce (1), and @dam6pl (1).

Please join me to say welcome to our 4 new Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. of the week ♥️
@ratneshk, @acerempel, @geekzebre, and @dam6pl.

Core committers: @sergeybiryukov (17), @peterwilsoncc (7), @ryelle (3), @desrosj (3), @antpb (2), @johnbillion (2), @youknowriad (1), and @noisysocks (1).

Please note: it only includes commits with proper props attribution.

#5-6-1, #5-7, #week-in-core

A Week in Core – February 1st, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between January 25, 2021 and February 1st, 2021.

  • 57 commits
  • 93 contributors
  • 62 tickets created
  • 8 tickets reopened
  • 84 tickets closed

You might have noticed that the activity on Core increased this week. This is due to the end of the alpha cycle of WordPress 5.7 (next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.) and WordPress 5.6.1 (next minor) 🗓
5.7 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 is planned for tomorrow and 5.6.1 is planned on Wednesday 3, 2021 🚀

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component.

Code changes

Administration

  • Remove italic text to improve readability – #47327
  • Accommodate long translations of user roles in the “Role” list table column – #52184
  • Standardize colors used in CSSCSS Cascading Style Sheets. to a single palette – #49999
  • Respect the prefers-reduced-motion media query for update icon spinner animations – #52263

Application Passwords

  • Introduce fine grained capabilities – #51703
  • Introduce introspection endpoint – #52275
  • Improve validation and sanitization of the application name – #51941

Build/Test Tools

  • Replace node-sass with Dart Sass – #51763

Bundled Themes

  • Twenty Twenty-One: Correct 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. name in twenty_twenty_one_get_starter_content() DocBlockdocblock (phpdoc, xref, inline docs)#52410
  • Twenty Twenty-One: Correct colors for the Menu button – #52374
  • Twenty Twenty: Remove aria-expanded on search modal close button – #52355

Comments

  • Introduce a method for commenters to opt-in to receiving an email notification when their moderated comment gets approved – #33717

Editor

  • Introduce a dynamic filter for the content of a single 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.#46187
  • Update @wordpress npm packages – #52334
  • Add enableCustomSpacing#51760

Docs

  • Switch a comment in WP_Media_List_Table::prepare_items() to multi-line format, per the documentation standards – #52025
  • Revert documentation change for wp_get_attachment_metadata()#52196

Login

  • Enable filtering the back to blog link – #35449

Mail

  • Make sure the SMTP class is only required once if a 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 requires wp-includes/class-smtp.php directly – #52369

Media

  • Remove unused refresh from _requery – #50025
  • Remove caching from filter by date in media library – #50025
  • Ensure that wp_get_attachment_metadata can return values from the global $post, if available – #52196

Menus

  • Add sticky footer to avoid duplicate save buttons – #51631

Plugins

  • Rotate the Updates icon in the adminadmin (and super admin) bar when performing inline updates on the Plugins screen – #51476

Posts, Post Types

  • Introduce new functions for determining if a post has a parent (has_post_parent()) and to fetch the post parent (get_post_parent()) – #33045
  • Introduce “Filter by date” and “Filter by categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.” as post type and taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. labels, respectively – #42421

Privacy

  • Ensure that exported user data reports can’t be found with directory listings – #52299

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/.

  • Add batch image editing endpoints – #52192
  • Refactor rest_validate_value_from_schema into separate validation functions per-type – #52375
  • Introduce modified_before and modified_after query parameters for the posts endpoints – #50617

RevisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.

  • Address PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher/JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. errors when viewing autosave on imported posts – #31249
  • Generate correct number of columns in wp_text_diff#25473

Robots

  • Add max-image-preview:large directive by default – #51511

Security

  • Allow short-circuiting the wp_update_https_detection_errors() process – #47577
  • Improve accuracy in messaging about HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. support – #47577

Site Health

  • Update the language around how PHP should be updated – #52327
  • Update php update strings to not overpromise performance – #52327
  • Only run the version checks on the main site – #52135

Taxonomy

  • Declare and document the sort and args properties of the WP_Taxonomy class – #52142

Upgrade/Install

  • Display correct message about the current version in the admin footer – #51976
  • Allow WordPress sites to opt-in to development releases – #51978

Users

  • Enable admins to send users a reset password link – #34281

Props

Thanks to everyone who contributed to WordPress Core on Trac last week:

@audrasjb (16), @SergeyBiryukov (10), @xkon (7), @hellofromTonya (6), @Mista-Flo (5), @afercia (5), @johnbillion (5), @adamsilverstein (5), @TimothyBlynJacobs (4), @sabernhardt (4), @whyisjake (4), @johnjamesjacoby (3), @joedolson (3), @timothyblynjacobs (3), @afragen (2), @kburgoine (2), @maxpertici (2), @garrett-eclipse (2), @DrewAPicture (2), @Clorith (2), @flixos90 (2), @peterwilsoncc (3), @poena (2), @teamdnk (2), @birgire (2), @hedgefield (2), @paaljoachim (2), @wonderboymusic (2), @knutsp (2), @mdwolinski (1), @cfinke (1), @melchoyce (1), @claytoncollie (1), @chanthaboune (1), @dilipbheda (1), @isabel_brison (1), @yakimun (1), @talldanwp (1), @youknowriad (1), @oellin (1), @mukesh27 (1), @freewebmentor (1), @lucasbustamante (1), @alexstine (1), @francina (1), @karmatosed (1), @engahmeds3ed (1), @notlaura (1), @danfarrow (1), @Boniu91 (1), @drw158 (1), @ravipatel (1), @Joen (1), @ibdz (1), @jeremyfelt (1), @zodiac1978 (1), @mehulkaklotar (1), @aaribaud (1), @Ipstenu (1), @dd32 (1), @gziolo (1), @gunnard (1), @eventualo (1), @ericlewis (1), @JoshuaWold (1), @iseulde (1), @ramiy (1), @sebastianpisula (1), @desrosj (1), @ajlende (1), @manzoorwanijk (1), @noisysocks (1), @pbiron (1), @azaozz (1), @nicolalaserra (1), @ebinnion (1), @Chaton666 (1), @nosolosw (1), @kebbet (1), @jeffr0 (1), @swissspidy (1), @mrahmadawais (1), @jdgrimes (1), @obenland (1), @Monika (1), @imath (1), @helen (1), @joostdevalk (1), @tweetythierry (1), @westonruter (1), @pinkalbeladiya (1), @davidbaumwald (1) and @greatsaltlake (1)

Please welcome our 8 new Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. of the week ♥️
@teamdnk, @oellin, @engahmeds3ed, @aaribaud, @gunnard, @nicolalaserra, @pinkalbeladiya and @greatsaltlake.

Core committers: @sergeybiryukov (12), @whyisjake (5), @johnbillion (4), @antpb (4), @joedolson (4), @timothyblynjacobs (4), @adamsilverstein (3), @flixos90 (3), @ryelle (2), @noisysocks (2) and @peterwilsoncc (1).

Please note: it only includes commits with proper props attribution.

#5-6-1, #5-7, #week-in-core

Continuing the transition to GitHub Actions for automated testing

Two months ago, the configuration files needed to run automated tests using GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions were added to WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

GitHub Actions allows us to automate software workflows directly in GitHub, triggered by GitHub events. By switching, we are able to take advantage of a unified interface, inline annotations for linting issues in pull requests, the broader open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. ecosystem building and using Actions including existing work in Gutenberg, and free availability for public repositories. Note that private repositories do use the monthly bucket of included minutes.

Introducing GitHub Actions for Automated Testing

During this transition process, the workflows have been running smoothly with only small issues coming up (which have been fixed). The workflows are also performing better or identically to those run in TravisCI.

With the branching of 5.6, the workflows have been running for both trunk and the 5.6 branches. This has allowed them to be tested successfully in both the primary and non-primary branches.

Since [49162], an additional workflow that generates a code coverage report has also been introduced. Currently, this workflow generates coverage reports for both single and multisite installs and uploads the reports as artifacts to the workflow run. For now, this workflow runs weekly on Sunday at 00:00 UTC. #52141 has been opened to explore submitting the reports to an external service

Additionally, TravisCI has made further changes to their pricing models. As a result, no builds for the WordPress organization have run since the first week of December. When this happened, efforts to transition all repositories under the WordPress GitHub organization from TravisCI to GitHub Actions were accelerated.

As of today, all repositories have been fully transitioned to GitHub Actions except the WordPress Coding Standards (which has an open PR being actively refined), and the ones noted below. These are lower priority repositories because they are updated much less frequently than others. Here they are ranked in order of priority highest to lowest:

Pull requests are very much welcome!

The Appveyor build configuration (which has been replaced with the Test NPM on Windows workflow) was removed from Core in [49779,49809-49814], and the TravisCI configuration was removed in [49876-49898].

Forked repositories

To avoid workflows from running unnecessarily, conditional checks have been added to prevent all workflows from running in forked repositories. There are two exceptions to this:

  • When a pull request is opened to the official wordpress-develop repository from a fork.
  • When a pull request is opened to a forked repository from within a fork.

Known next steps (updated)

  1. Add and configure 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/. notifications. In addition to sending the results of the whole build of a core commit into #core, we may also want to consider a firehose channel for PRs. This may require all workflows to be combined into a single workflow if needed middleware cannot be found.
  2. Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. the workflow files to actively maintained older branches.
  3. Finish backporting the local Docker environment to branches 3.7-4.5. This is blocked by:
    • wpdev-docker-images#46, which aims to fix the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 5.2 PHPUnit image to include the requred version of PHPUnit (3.6).
    • WP branches <= 4.5 are running a version of NodeJS that is too old for the needed NPM packages required to run the local Docker environment.
  4. Move to GitHub badges for build status indicators – note that these are per-workflow, which is different from the single badge for the entire Travis build for a given commit. However, GitHub does report an overall status for a commit/PR, so we may be able to use that information as well. It seems that the expectation in the greater developer community is that projects report status with a singular badge. Like the Slack notifications, this may require the workflows to be combined in the absence of middleware.
  5. Report test results to the Host Test Results page. The MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. version being tested is not currently being reported (see phpunit-test-runner#135).
  6. Switch to ESLint from JSHint, as the latter does not appear to easily support inline annotations, and the former is in broader usage including in core for docs, 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 many community projects. See #31823 for more – volunteers very much appreciated here.

Committers: Until the Slack notifications are configured, please monitor the workflow runs associated with your commits to ensure they pass.

The goal is for the remaining repositories and items 1-3 above to be completed in January 2021.

Props @helen for peer reviewing this post.

#build-test-tools, #github, #github-actions

A Week in Core – December 21, 2020

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between December 14 and December 21, 2020.

  • 41 commits
  • 57 contributors
  • 81 tickets created
  • 12 tickets reopened
  • 90 tickets closed

Now that WordPress 5.6 « Simone » was smoothly delivered to millions of people, the WordPress Core Team is quietly moving to WordPress 5.7.

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component.

Code changes

Build/Test Tools

  • Build/Test Tools: Support the use of MariaDB in the local Docker environment – #51744
  • Build/Test Tools: Run the Ajax test group for multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site#46567
  • Build/Test Tools: Generate a code coverage report using GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions – #52034

Bundled Themes

  • Twenty Twenty-One: Do not specify `loading=“eager”` for single post thumbnails – #52139
  • Twenty Twenty-One: Allow local anchor links to be used in primary navigation – #52006
  • Twenty Ten: Correct `$post_title` variable name in `loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.-attachment.php` – #52121
  • Twenty Twenty-One: Clarify a sentence in `readme.txt` – #52120
  • Twenty Nineteen: Add “Continue reading” link for post excerpts – #46177
  • Twenty Twenty-One: Correct `since` inline documentation tags – #51958
  • Twenty Twenty-One: Make text within code blocks readable in Dark Mode – #51985
  • Twenty Twenty-One: Prevent `iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.` embeds from being too narrow – #52004
  • Twenty Twenty-One: Fix typos in some inline comments – #52071XML-RPC: Emit an appropriate HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. status code when an error is returned in response to an XML-RPC request – #48213

Docs

  • Use a canonical form of “knowledgeable” in `readme.htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.` – #52125
  • Fix typo in `getCursorMarkerSpan()` DocBlockdocblock (phpdoc, xref, inline docs) in `js/_enqueues/wp/editor/base.js` – #52128

Editor

  • Fix improper triggering of the “Are you sure” prompt when navigating away from the old, “classic” Edit Post screen and there are no changes. Was
  • Blocks: Align with 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/ the name of generated asset handle for core blocks – #50328

Feed

  • Replace `join()` with `implode()` for safety – #51056
  • Merge multiple 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. values to avoid fatal error – #51056

Mail

  • Introduce a `pre_wp_mail` 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. to allow short-circuiting the `wp_mail()` function without having to override the pluggable function – #35069

Media

  • Editor: Fix improper triggering of the “Are you sure” prompt when navigating away from the old, “classic” Edit Post screen and there are no changes. Was triggered when there is an instance of TinyMCE in the ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. postbox – #52038
  • Enable lazy-loading of iframes by adding the `loading=”lazy”` attribute to iframe tags on the front-end – #50756
  • Uploads: Introduce the `{$action}_overrides` filter that allows the overrides parameter for file uploads and file sideloads to be filtered – #16849
  • Fix the template for the “Align” and “Link To” fields in the media modal when inserting an image from URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org

Query

  • Respect post-type specific capabilities when querying for multiple post types – #13509, #48968, #48556
  • Ensure the author archive title always shows the name of the queried author, regardless of whether there are results – #44183

Props

Thanks to everyone who contributed to WordPress Core on Trac last week:

@mukesh27 (5), @poena (5), @SergeyBiryukov (4), @audrasjb (2), @johnbillion (2), @Mte90 (2), @azaozz (2), @sabernhardt (2), @flixos90 (2), @westonruter (1), @justinahinon (1), @slaFFik (1), @leogermani (1), @helen (1), @thorlentz (1), @laurelfulford (1), @ericmann (1), @kevin940726 (1), @rodrigosprimo (1), @jonathanstegall (1), @alex27 (1), @noisysocks (1), @david.binda (1), @litemotiv (1), @inc2734 (1), @NicolasKulka (1), @hellofromTonya (1), @mbabker (1), @skithund (1), @desrosj (1), @timothyblynjacobs (1), @mdrockwell (1), @davidbaumwald (1), @metalandcoffee (1), @swissspidy (1), @ryelle (1), @macmanx (1), @t-p (1), @aristath (1), @iandunn (1), @jakub.tyrcha (1), @nacin (1), @wonderboymusic (1), @DvanKooten (1), @jtsternberg (1), @ocean90 (1), @ericlewis (1), @birgire (1), @ayeshrajans (1), @Tkama (1), @subrataemfluence (1), @shahinsid07 (1), @voboghure (1), @gkibria69 (1), @garrett-eclipse (1), @netweb (1) and @manzurahammed (1).

Core committers: @desrosj (8), @sergeybiryukov (5), @johnbillion (4), @azaozz (2), @iandunn (2), @gziolo (1), @boonebgorges (1) and @flixos90 (1).

Thanks @annezazu for proofreading this post.

#5-7, #week-in-core

A Week in Core – December 7, 2020

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between November 30 and December 7, 2020.

  • 17 commits
  • 54 contributors
  • 61 tickets created
  • 13 tickets reopened
  • 61 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on the Trac timeline for the period above. The following is a summary of commits, organized by component.

Code changes

Administration

  • Make sure row actions for recent comments in Activity dashboard widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. stay visible when a single row gets focus – #51886

Application Passwords

  • Prevent conflicts when Basic Auth is already used by the site – #51939
  • Ensure the Created At and Last Used dates are properly translated – #51918
  • Return true when rate limiting a password’s last used time – #51922
  • Ensure 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/. responses are properly translated – #51871

Bundled Themes

  • Twenty Twenty-One: Fix the nesting of the main element – #51944
  • Twenty Twenty-One: Sync the latest changes for 5.6 RC2 – #51526
  • Twenty Twenty-One: Use consistent HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. comments after closing HTML tags – #51950
  • Twenty Twenty-One: Use esc_url() for the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ link in footer.php – #51954

Editor

  • Update components package for WordPress 5.6 RC3 – #51923
  • Don’t unnecessarily split a translatable string in 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. templates – #51893

Help/About

  • Move trailing punctuation in the jQuery Migrate Helper 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 link outside of the HTML tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)#51813

Media

  • Return WP_Error when cropping with bad input to avoid fatal – #51937
  • Revert [49567]: This addresses a 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. with the pagination section in Media Library no longer taking additional query filtering into account – #39968

Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site

  • Cache absolute dirsize paths to avoid PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8 fatal – #51913

Upgrade/Install

  • Check $wp_version global for displaying “You are using a development version” message in the adminadmin (and super admin) footer – #51892
  • Update sodium_compat to v1.14.0 – #51925

Props

Thanks to everyone who contributed to WordPress Core on Trac last week:

@SergeyBiryukov (4), @audrasjb (4), @kebbet (4), @TimothyBlynJacobs (3), @pbiron (3), @poena (3), @hellofromtonya (3), @Clorith (3), @helen (2), @adamsilverstein (2), @ocean90 (2), @tobifjellner (2), @peterwilsoncc (2), @mukesh27 (2), @allancole (1), @melchoyce (1), @ryelle (1), @felipeelia (1), @aljullu (1), @chaton666 (1), @albertomake (1), @mkaz (1), @ingereck (1), @paaljoachim (1), @luminuu (1), @sabernhardt (1), @hareesh-pillai (1), @oglekler (1), @hellofromTonya (1), @azaozz (1), @iCaleb (1), @kjellr (1), @alexstine (1), @markscottrobson (1), @janthiel (1), @chexwarrior (1), @georgestephanis (1), @marybaum (1), @Boniu91 (1), @metalandcoffee (1), @pedromendonca (1), @antpb (1), @francina (1), @fierevere (1), @afragen (1), @jrf (1), @dlh (1), @isabel_brison (1), @sarahricker (1), @kevin940726 (1), @talldanwp (1), @psmits1567 (1), @arcangelini (1) and @trepmal (1).

Core committers: @sergeybiryukov (10), @iandunn (2), @peterwilsoncc (1), @helen (1) and @desrosj (1).

#week-in-core

A Week in Core – November 23, 2020

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between November 16 and November 23, 2020.

  • 29 commits
  • 76 contributors
  • 72 tickets created
  • 13 tickets reopened
  • 129 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on the Trac timeline for the period above. The following is a summary of commits, organized by component.

Code changes

Application Passwords

  • Regenerate the .htaccess file to add a new rule – #51723
  • Unify availability language – #51513

Build/Test Tools

  • Update the package.json engines to point to the new LTS versions of Node/NPM – #51749

Bundled Themes

  • Twenty Twenty-One: Sync the latest changes for 5.6 RC1 – #51526

CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.

  • Temporary fix for autosave restore notice not being removed
  • #51425
  • Ensure multiple CSSCSS Cascading Style Sheets. classes are passed to nav_menu_link_attributes as an array
  • #43113

Documentation

  • Add documentation for the $type and $mime_type properties in WP_Customize_Image_Control#44411
  • Add documentation for the $type, $mime_type, and $button_labels properties in WP_Customize_Upload_Control#44411
  • Use more specific type in parameter descriptions for in_category() and is_object_in_term()#51825

Editor

  • Update WordPress packages for RC1 – #51793

Embeds

  • Document $args in wp_oembed_get() – #51269

External libraries

  • Update jQuery Migrate to 3.3.2 – #50564

Feeds

  • Add an early exit when calling RSS functions directly – #35835

General

  • Rename the wp_error_checked action to is_wp_error_instance for clarity – #40568
  • Code Modernization: Only call libxml_disable_entity_loader() in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher < 8 – #50898

Help/About

  • Move trailing punctuation in the jQuery Migrate Helper 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 link outside of the HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)#51813
  • Correct placeholder for the 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) statement feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. link – #51415
  • Clarify accessibility features. Captions are uploaded in the 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. editor, and not created in the editor. Avoid making an 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. claim of WCAGWCAG WCAG is an acronym for Web Content Accessibility Guidelines. These guidelines are helping make sure the internet is accessible to all people no matter how they would need to access the internet (screen-reader, keyboard only, etc) https://www.w3.org/TR/WCAG21/. 2.1 conformance or trivialize the efforts still required to build an accessible and compliant site – #51415

Internationalization

  • Avoid PHP notices for relative URLs in load_script_textdomain()#49145

Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site

  • More consistency for clean_dirsize_cache()#19879

Permalinks

Plugins

  • Check if _error_nonce is set before attempting to verify it – #43876
  • Make sure the HTML ID attributes for plugin checkboxes are unique – #51256

Site Health

  • Check if $core_updates is an array before iterating on it – #51818
  • Add missing 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. for the App Passwords documentation link – #51815

Upgrade/Install

  • Replace the conditionals that check the AUTOMATIC_UPDATER_DISABLED constant and the automatic_updater_disabled 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. in update-core.php with a call to WP_Automatic_Updater::is_disabled(). This prevents a PHP warning, the logic, and considers wp_is_file_mod_allowed( 'automatic_updater' ) when determining the UIUI User interface state – #51827
  • Consistent layout and accurate messages on the update screen – #51742

Users

  • Use do_action_ref_array() for pre_get_users and pre_get_terms actions – #50961

Props

Thanks to everyone who contributed to WordPress Core last week:

@SergeyBiryukov (8), @audrasjb (6), @helen (5), @hellofromTonya (4), @pbiron (3), @sabernhardt (2), @dlh (2), @poena (2), @hellofromtonya (2), @isabel_brison (2), @johnbillion (2), @ryelle (2), @TimothyBlynJacobs (2), @subrataemfluence (2), @joedolson (2), @azaozz (2), @peterwilsoncc (1), @thib3113 (1), @williampatton (1), @zodiac1978 (1), @andy (1), @flymike (1), @adamsilverstein (1), @desrosj (1), @TheGP (1), @dd32 (1), @mkaz (1), @jorbin (1), @johnjamesjacoby (1), @Toro_Unit (1), @Mte90 (1), @alexstandiford (1), @jnylen0 (1), @luminuu (1), @kjellr (1), @aristath (1), @nourma (1), @kishanjasani (1), @mukesh27 (1), @hareesh-pillai (1), @karthikbhatb (1), @jrf (1), @justinahinon (1), @psmits1567 (1), @archon810 (1), @marybaum (1), @tobifjellner (1), @fierevere (1), @markscottrobson (1), @wponlinesupport (1), @jamesros161 (1), @paulschreiber (1), @princeahmed (1), @tai (1), @mgol (1), @elmastudio (1), @melchoyce (1), @karmatosed (1), @webcommsat (1), @meher (1), @SeBsZ (1), @OGlekler (1), @lmurillom (1), @vimes1984 (1), @sabrinazeidan (1), @nalininonstopnewsuk (1), @afshanadiya (1), @michelleames (1), @bmcdede (1), @yvettesonneveld (1), @sarahricker (1), @chanthaboune (1), @cbringmann (1), @garrett-eclipse (1), @marks99 (1) and @ocean90 (1).

Core committers: @sergeybiryukov (13), @helen (3), @desrosj (3), @noisysocks (3), @azaozz (2), @ryelle (2), @peterwilsoncc (1), @whyisjake (1) and @timothyblynjacobs (1).

#week-in-core