A Week in Core – July 3, 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 June 19 and July 3, 2023.

  • 88 commits
  • 143 contributors
  • 87 tickets created
  • 19 tickets reopened
  • 115 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

Build/Test Tools

  • Improve the name of the e2e test jobs on 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 – #58661
  • Run E2E tests with and without SCRIPT_DEBUG enabled – #58661
  • Switch frame container when testing 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 output – #58592
  • Switch frame container when testing block editor output – #58592
  • Update terser-webpack-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#58660, – #57657

Bundled Themes

  • Twenty Fourteen: Fix text color issue on Button block hover – #58509
  • Twenty Nineteen: Add fragment ID to paginated links – #45920
  • Twenty Nineteen: Always set background color and foreground color together – #45916
  • Twenty Seventeen: Various docblockdocblock (phpdoc, xref, inline docs) fixes – #58695, #57840
  • Twenty Sixteen: Replace deprecated unbind method with off#58225
  • Twenty Sixteen – Twenty Ten: Reflect Quote block text color on the entire block – #57204
  • Twenty Ten: Prevent Block Inserter icon color override – #57414
  • Twenty Ten: Reflect Heading block text color on front-end – #56603
  • Twenty Twenty-One: Improve various globals documentation, as per docblock standards – #58684
  • Twenty Twenty-Three: Allow changing Site Title font size in Marigold and Whisper styles – #57971
  • Twenty Twenty-Two: Adjust selector to apply bottom margin to top-level comments – #58653
  • Twenty Twenty: Fix Button block text color when located in footer widgets – #57087
  • Twenty Twenty: Remove various unused function parameters and variables – #57371

Coding Standards

  • Fix a PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. issue found in wpPluginsListTable.php
  • Revert use of str_starts_with() and str_contains() in update-core.php#58206

Database

  • Move the if statement outside of the 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.. – #56541

Docs

  • Correct @return description for wp_count_posts()#58685
  • Fix image_get_intermediate_size() docblock – #58686, #57840

Editor

  • Add block theme previews – #58561
  • Allow Query Block to show posts from multiple selected authors – #58426
  • Enqueue commands package styles – #58667
  • Revert unnecessary changes to .jshintrc files – #12009
  • Update block-serialization-default-parser package for WP 6.3 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 – #57832
  • Update npm WordPress npm packages – #58623
  • Update npm packages to fix gutenberg_ prefix – #58651
  • add Post Template fallback styles – #58570
  • add box shadow support to blocks – #58590
  • add 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. around post editor – #58626
  • add navigation fallback – 58557
  • adds deprecation for deleted block_core_navigation_submenu_build_css_colors function – #58623
  • allow filtering block patterns by source – #58622
  • delete test file from update duotone support – #58555
  • navigation post preloading – #58556#58589
  • refactor and stabilize selectors 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.#58586
  • stabilise layout and refactor definitions – #58550
  • update WordPress npm packages – #58623
  • update duotone support – #58555
  • update function name in test commentSee #58522
  • update npm packages to latest 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. versions – #58654
  • update npm 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 and blessed tasks – #58701

Emoji

  • Give name to web worker in emoji loader and terminate when finished – #58472
  • Optimize emoji loader with sessionStorage, willReadFrequently, and OffscreenCanvas#58472
  • Pass functions as arguments in loader to account for minification and worker script – #58472

Filesystem API

  • Allow optional inclusion of hidden files in list_files()#53659
  • Define password as null if not set when using SSH2 with public/private key – #33196

General

  • Add missing parentheses to functions referenced in _deprecated_function() calls added in 6.3 – #58235, #58301, #58555
  • Ignore 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. types for the ‘_wp_http_referer’ URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org query variable – #57670

HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API

  • Fix a fatal error when processing malformed document with unclosed attribute – #58637
  • Declare a few default parameters in WP_Http_Curl and WP_Http_Streams#52622

Media

  • Fix inconsistent docs for existing wp_img_tag_add_loading_attr 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. and remove duplicate – #58235
  • Only show “Copy” and “Download” actions when an attachment URL is available – #57893

Menus

  • Allow themes and plugins to pass HTML attributes to various Nav Walker outputs – #57140

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

  • Check if the gmt_offset value is numeric in sanitize_option()#57728
  • Prime networknetwork (versus site, blog) options in a single cache call using wp_cache_get_multiple – #56913

Plugins

  • Introduce the plugins_list filter – #57278

Quick/Bulk Edit

  • Add an action hook to bulk_edit_posts() function – #28112
  • Ensure scheduled posts are published when using Bulk Edit – #31635

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

  • Cache schema in block pattern and menu item endpoints – #58657
  • Check post meta update authorization only when value is changed
  • Expose current $request object to cors_header filters in WP_REST_SERVER->serve_request() – #57752
  • add 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. endpoint for global styles – #58524
  • ignore empty templates – #58615
  • updates test annotations for global styles revisions – #58524

Script Loader

  • Fix performance issues in wp_common_block_scripts_and_styles#58560
  • Fix unintended adding of async to scripts that are printed directly with wp_print_scripts() without enqueueing them beforehand – #58648
  • Prevent fatal error in load-styles.php#57629

Site Health

  • Add server time debug data – #56378
  • Correct the label for wp-content directory check – #58678
  • Include new WP_DEVELOPMENT_MODE in the list of constants – #58646

Themes

  • Block template is located twice in get_query_template()#58299
  • Fix layout issue on the Themes page background overlay – #58164
  • Use get_theme_file_path() in wp_theme_has_theme_json()#57629
  • Use improved support for child themes in wp_theme_has_theme_json()#57629

Upgrade/Install

  • Initialize the local $checkout variable in WP_Automatic_Updater::is_vcs_checkout()#58563
  • Only show errors if there is nothing to update – #57999
  • Pass the full database version string to 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/ for parsing – #58584

Users

  • Introduce the wp_update_user action – #57843

Props

Thanks to the 143 (!!) people who contributed to WordPress Core on Trac last week:

@audrasjb (23), @spacedmonkey (23), @mukesh27 (23), @costdev (19), @ramonopoly (17), @sabernhardt (15), @oglekler (15), @sergeybiryukov (12), @peterwilsoncc (11), @joemcgill (10), @flixos90 (7), @kebbet (6), @azaozz (5), @Clorith (5), @dd32 (4), @westonruter (4), @shailu25 (4), @dmsnell (4), @zunaid321 (3), @oandregal (3), @get_dave (3), @desrosj (3), @dlh (3), @jrf (3), @poena (3), @pooja1210 (3), @mikeschroder (3), @ironprogrammer (3), @onemaggie (3), @johnbillion (3), @youknowriad (2), @isabel_brison (2), @mayur8991 (2), @bernhard-reiter (2), @crstauf (2), @webcommsat (2), @adi3890 (2), @umesh84 (2), @aaronrobertshaw (2), @shuvoaftab (2), @alvitazwar052 (2), @talldanwp (2), @upadalavipul (2), @rutviksavsani (1), @TimothyBlynJacobs (1), @valterlorran (1), @hellofromtonya (1), @tanner m (1), @Cybr (1), @danyk4 (1), @lphoumpakka (1), @davidwebca (1), @ecorica (1), @azzaoz (1), @yani.iliev (1), @fischfood (1), @nateallen (1), @tyxla (1), @API (1), @jeremyfelt (1), @laurelfulford (1), @ellatrix (1), @manfcarlo (1), @rajanpanchal2028 (1), @aristath (1), @TobiasBg (1), @jorgefilipecosta (1), @andrewserong (1), @hareesh-pillai (1), @hrrarya (1), @robinwpdeveloper (1), @sebastienserre (1), @joyously (1), @options (1), @andraganescu (1), @styling (1), @flexible (1), @more (1), @enabling (1), @selectors (1), @the (1), @stabilizing (1), @config (1), @own (1), @their (1), @into (1), @scruffian (1), @ckoerner (1), @helgatheviking (1), @ramonjd (1), @Ov3rfly (1), @itpathsolutions (1), @ugyensupport (1), @afragen (1), @pbiron (1), @Presskopp (1), @pitamdey (1), @ehsanakhgari (1), @J-Dill (1), @thekt12 (1), @xknown (1), @sccr410 (1), @arafatjamil01 (1), @pavanpatil1 (1), @cadic (1), @siobhan (1), @jqz (1), @wildworks (1), @hellofromTonya (1), @sjoerdlinders (1), @ryelle (1), @hasanmisbah (1), @hrdelwar (1), @dhrupo (1), @nithins53 (1), @thakordarshil (1), @darshitrajyaguru97 (1), @Mte90 (1), @amin7 (1), @kajalgohel (1), @timothyblynjacobs (1), @anilvaza (1), @nidhidhandhukiya (1), @marybaum (1), @mensmaximus (1), @pento (1), @itowhid06 (1), @mrasharirfan (1), @afercia (1), @helen (1), @shwetabathani2312 (1), @felixarntz (1), @chaion07 (1), @rachelbaker (1), @bor0 (1), @clorith (1), @ajlende (1), @dilipbheda (1), @Malae (1), @monzuralam (1), @orestissam (1), @zodiac1978 (1), and @madhudollu (1)

Congrats and welcome to our 18 (!) new contributors of the week: @adi3890, @shuvoaftab, @valterlorran, @danyk4, @lphoumpakka, @yaniiliev, @fischfood, @rajanpanchal2028n, @hrrarya, @pitamdey, @ehsanakhgari, @sccr410, @sjoerdlinders, @hrdelwar, @darshitrajyaguru97, @anilvaza, @shwetabathani2312, and @orestissam ♥️

Core committers: @audrasjb (22), @isabel_brison (20), @sergeybiryukov (8), @davidbaumwald (6), @spacedmonkey (6), @azaozz (3), @westonruter (3), @johnbillion (3), @flixos90 (3), @bernhard-reiter (3), @kadamwhite (3), @joemcgill (2), @clorith (2), @peterwilsoncc (2), @mikeschroder (1), and @dd32 (1).

#6-3, #core, #week-in-core