A Week in Core – February 13, 2023

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 6 and February 13, 2023.

  • 103 commits
  • 165 contributors
  • 71 tickets created
  • 13 tickets reopened
  • 99 tickets closed

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 and/or focus.

Code changes

Administration

  • Close adminadmin (and super admin) menu when focus moves to body – #53587
  • Define the $title global on privacy screens – #57578
  • Fix 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/. test failure – #53587
  • Match title 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.) to menu item for Editor – #57654

Application Passwords

  • Allow plain 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. success and reject URLs when using a local environment type – #52617

Build/Test Tools

  • Add a devcontainer for Codespaces support – #57187
  • Add unit tests for wp_set_password hook – #57436
  • Cleanup change to package.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.
  • Update json2php package – #57535
  • Update npm dependencies for bundled themes – #57535
  • Add missing @covers tag for a wp_update_comment() test – #56793
  • Declare the $post_id property in wp_comments_personal_data_exporter() tests – #56793
  • Move PasswordHash test file to a more appropriate place – #56340
  • Move wp_comments_personal_data_eraser() tests to their own file – #56793
  • Move wp_comments_personal_data_exporter() tests to their own file – #56793
  • Rename the html tests directory to html-api#56793
  • Use assertSameSets() in WP_Query tests for search_columns argument – #43867

Bundled Themes

  • Twenty Fifteen: Bundle Google Fonts locally – #55985
  • Twenty Fourteen: Bundle Google Fonts locally – #55985
  • Twenty Seventeen: Bundle Google Fonts locally – #55985
  • Twenty Sixteen: Bundle Google Fonts locally – #55985
  • Twenty Thirteen: Bundle Google Fonts locally – #55985
  • Twenty Twelve: Bundle Google Fonts locally – #55985
  • Twenty Twelve: Properly reflect text color changes in Table 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.#56466
  • Twenty Twenty: Properly reflect text color changes in Quote and Pullquote block – #55990
  • Fix row variation nested in group block – #56226
  • Recommit generated files following [55329]#56226

Coding Standards

  • Add missing escaping function in Custom_Image_Header::show_header_selector()#57638
  • Pass correct value to get_delete_post_link() in attachment_submit_meta_box()#57690
  • Rename $comment_ID variable to $comment_id in various files – #57671, #56791
  • Rename the remaining $cat_ID variables to $cat_id#56754

Comments

  • Allow to pass $comment_ID parameter to comment_time()#52322
  • Allow to pass $comment_ID parameter to get_comment_time()#52322
  • Improve rel attribute usage in comments – #53290, #56444
  • Use correct orderby parameter name in personal data exporter and eraser – #57700

Docs

  • Add a @since note about Twenty Twenty-Three for WP_Theme::$default_themes#57714
  • Correct @since tag for WP_Locale_Switcher::$stack#57123
  • Document possible return values for wp_get_word_count_type()#56698
  • Miscellaneous improvements and corrections to docblocks – #56792
  • Replace short array syntax in WP_HTML_Tag_Processor documentation – #57691
  • Use third-person singular verbs for WP_Meta_Query related function descriptions, as per docblocks standards – #56792
  • Various improvements in XML-RPC Class function descriptions, as per docblocks standards – #56792

Editor

  • Updated the WordPress packages to include 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/ 15.1.0 changes – #57471
  • Updates the WordPress packages with all the fixes targetted for WP 6.2 beta1 – #57471
  • Add frontend block-level settings to the core – #57651
  • Add layout controls to children of flex layout blocks – #57584
  • Introduce sticky position block support – #57618
  • Remove “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.” label from Site Editor submenu item – #57654
  • Restores file block button styles for classic themes – #57688
  • Support the block_types and viewport_width props for remote patterns fetched from Pattern Directory – #57611
  • Update wordpress packages for 6.2 Beta 2 – #57471
  • Use WP_HTML_Tag_Processor in wp_render_elements_support()#57642
  • svn add new files missed in [55285]#57618
  • 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. site editor intialization changes from Gutenberg 15.1 – #57480

Embeds

  • Update YouTube provider for live URLs – #57632
  • Use documented mixcloud.com oembed endpoint – #57376

Emoji

  • Fix emoji feature detection – #57301

External Libraries

  • Prevent a PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 deprecation notice in PasswordHash::gensalt_blowfish()#56340
  • Update element-closest#52851
  • Update jQuery Migrate to version 3.4.0 – #56743
  • Update miscellaneous libraries to their latest versions – #57646

Feeds

  • Fix various typos in MagpieRSS – #57102

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

  • Add test for uncovered WP_Error in move_dir()#57375

Formatting

  • Add aspect-ratio as valid CSSCSS Cascading Style Sheets. property in KSES – #57664
  • Guard wp_strip_all_tags() against fatal errors – #56434
  • Treat math elements as block-level elements – #13340

General

  • Check that set_time_limit() function is available before using it in core – #55711

Help/About

  • Add info about the “View” row action link to the Users screen help tab – #57666

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.

  • Introduce word_count_type property to WP_Locale#56698
  • Mark screen reader strings as such with translator comments – #29748
  • Prevent fatal error in WP_Textdomain_Registry#57218

Login and Registration

  • Set correct default values in wp_signon()#56850

Mail

  • Check that set_time_limit() function is available before using it in class-pop3.php#57659

Media

  • Add test file missed in [55278]#57370
  • Bail early if image is already the requested size – #57370
  • Enable selective optout for video and audio shortcodes – #40144
  • Enhance logic to determine LCP image in block themes and avoid lazy-loading it – #56930
  • Fix focus loss updating custom fields in media modal – #40909
  • Introduce wp_get_attachment_link_attributes 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.#41574
  • Maintain the functionnality of the deprecated WP_Media_List_Table::column_desc() method – #39710
  • Remove unwanted quotation marks for playlist template – #50865
  • Use strict comparison in make_subsize()#57370

Menus

  • Test creating parent after a child doesn’t throw an error – #57122

Options, 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. APIs

  • Add a filter to allow the shortcut return to wp_load_alloptions function – #56045

Permalinks

  • Properly escape strings in Permalinks Settings screen – #57143

Privacy

  • Add rel="privacy-policy" to the Privacy Policy link – #56345

Query

  • Add a search_columns argument to control which fields are searched in a search query – #43867

Quick/Bulk Edit

  • Remove the bulk_edit_posts action for now – #28112

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

  • Remove ‘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. user ID’ error in WP_REST_Users_Controller::update_item() – #56662
  • Support non-Latin characters in template route regex – #57329

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.

  • Add a way to filter the revisions considered for deletion – #57320

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.

  • Implement wp_cache_get_multiple in wp_queue_posts_for_term_meta_lazyload#57150

Themes

  • Add caching to WP_Theme::is_block_theme()#57114
  • Remove local() from @font-face styles in _wp_theme_json_webfonts_handler() – #57430
  • Revert appearance tools theme support – #57649
  • Use add_action for pre_get_posts hook in _add_template_loader_filters()#57097

Toolbar

  • Prevent false positive on automated contrast testing – #56789

Upgrade/Install

  • Skip preloading Requests for WordPress versions before 4.6 – #57662

Users

  • Add support for RoboHash GravatarGravatar Is an acronym for Globally Recognized Avatar. It is the avatar system managed by WordPress.com, and used within the WordPress software. https://gravatar.com/. images in default user profile pics – #57493
  • Change parameters order in send_auth_cookies filter – #56971
  • Pass correct number of arguments to send_auth_cookies filter in wp_clear_auth_cookie()#56971
  • Pass the authentication scheme to the send_auth_cookies filter – #56971
  • Update get_avatar_url() and get_avatar() to include RoboHash support – #57493

Props

Thanks to the 165 (!!) people who contributed to WordPress Core on Trac last week: @costdev (33), @mukesh27 (22), @audrasjb (21), @sergeybiryukov (19), @desrosj (14), @sabernhardt (12), @poena (11), @hellofromTonya (10), @ocean90 (9), @aristath (8), @davidbaumwald (8), @peterwilsoncc (8), @flixos90 (8), @ntsekouras (8), @robinwpdeveloper (8), @paapst (7), @azaozz (7), @webcommsat (7), @JeffPaul (7), @jffng (6), @jhoffmann (6), @cbirdsong (6), @kau-boy (6), @MatthiasReinholz (6), @luminuu (6), @westonruter (6), @bedas (6), @jrf (6), @spacedmonkey (5), @garrett-eclipse (5), @mamaduka (5), @joedolson (5), @hellofromtonya (5), @kjellr (5), @adamsilverstein (4), @kebbet (4), @johnbillion (4), @ironprogrammer (3), @petitphp (3), @rudlinkon (2), @andrewserong (2), @Mamaduka (2), @antpb (2), @afragen (2), @afercia (2), @krunal265 (2), @nithins53 (2), @dmsnell (2), @swissspidy (2), @ryokuhi (2), @joemcgill (2), @antonvlasenko (2), @james-roberts (2), @jorgefilipecosta (1), @birgire (1), @gziolo (1), @hareesh-pillai (1), @jipmoors (1), @Chouby (1), @abidhasan112 (1), @pavelevap (1), @mercime (1), @dd32 (1), @chocofc1 (1), @Presskopp (1), @jeherve (1), @matclayton (1), @slieschke (1), @sergiomdgomes (1), @chintan1896 (1), @juliobox (1), @a4jpcom (1), @stalukder03 (1), @adeltahri (1), @arrasel403 (1), @10upsimon (1), @hvar (1), @aaroncampbell (1), @joyously (1), @jokerrs (1), @theode (1), @adamziel (1), @jhned (1), @kawserz (1), @faisal03 (1), @bookwyrm (1), @bhavz-10 (1), @dshanske (1), @NathanAtmoz (1), @oandregal (1), @ipajen (1), @obayedmamur (1), @bgoewert (1), @SteelWagstaff (1), @hughie.molloy (1), @ericlewis (1), @conner_bw (1), @hakre (1), @wojtek.szkutnik (1), @nicholaswilson (1), @pbearne (1), @galbaras (1), @danielbachhuber (1), @manfcarlo (1), @re_enter_rupok (1), @ajlende (1), @hanshenrik (1), @faguni22 (1), @nidhidhandhukiya (1), @wetah (1), @ehtmlu (1), @luehrsen (1), @rafinkhan (1), @sapayth (1), @devtanbir (1), @kmadhak (1), @kajalgohel (1), @reduanmasud (1), @samruddhikhandale (1), @shahidul95 (1), @scruffian (1), @wildworks (1), @kapilpaul (1), @smeunus (1), @thelovekesh (1), @dhusakovic (1), @kaneva (1), @abirhasandipu (1), @shraboni (1), @jaedm97 (1), @riccardodicurti (1), @anantajitjg (1), @mujuonly (1), @dinhtungdu (1), @wojtekn (1), @thomasplevy (1), @pedromendonca (1), @matveb (1), @priethor (1), @isabel_brison (1), @viralsampat (1), @cadic (1), @wppunk (1), @h4l9k (1), @d-signed (1), @travisaxton (1), @jorbin (1), @samiamnot (1), @benish74 (1), @mburridge (1), @helen (1), @antonyagrios (1), @afrin29 (1), @syhc (1), @teebee (1), @lucymtc (1), @bueltge (1), @lkraav (1), @TobiasBg (1), @lenasterg (1), @grl570810 (1), @wirecat (1), @sam1el (1), @craiglpeters (1), and @mahbubshovan (1).

Congrats and welcome to our 32 (!!) new contributors of the week: @jokerrs, @kawserz, @bookwyrm, @hughiemolloy, @nicholaswilson, @re_enter_rupok, @hanshenrik, @faguni22, @ehtmlu, @rafinkhan, @sapayth, @reduanmasud, @samruddhikhandale, @shahidul95, @smeunus, @abirhasandipu, @jaedm97, @riccardodicurti, @wojtekn, @h4l9k, @d-signed, @travisaxton, @samiamnot, @benish74, @antonyagrios, @afrin29, @syhc, @teebee, @grl570810, @wirecat, @sam1el, @craiglpeters ♥️

Core committers: @audrasjb (29), @sergeybiryukov (24), @peterwilsoncc (7), @davidbaumwald (6), @joedolson (6), @flixos90 (6), @hellofromtonya (5), @danielbachhuber (4), @desrosj (4), @youknowriad (3), @johnbillion (2), @jorbin (2), @spacedmonkey (2), @helen (1), @swissspidy (1), and @jorgefilipecosta (1).

#6-2, #core, #meta6545, #week-in-core