Welcome back to a new issue of Week in Core 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 Trac 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
Ticket 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 GitHub 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 block 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-plugin 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 docblock (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
Database
- Move the if statement outside of the loop 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 Beta 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 iframe 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 API 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 patch 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 bug 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 invalid 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’ URL 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
HTML 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
filter 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, Meta 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 network (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 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 revisions 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.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