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 February 19 and February 26, 2024.
- 53 commits
- 100 contributors
- 73 tickets created
- 5 tickets reopened
- 71 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
- Bump the Node.js version for Codespaces – #60555
- Fix docblocks in a couple of test files to use two asterisks – #60513
- Revert r57684 – #59647
- Update JSHint config to remove deprecated options – #28236
- Mock 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. response in 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 Dependencies tests – #59647
- Query mariadb.org instead of mariadb.com in README test – #59647
- Synchronize Theme.JSON 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. unit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. between Core and Gutenberg 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/ – #60387
- Use
assertSame()
in WP_REST_Navigation_Fallback_Controller
tests – #59655
- Use
assertSame()
in comment_exists()
tests – #59655
- Use
assertSame()
in new_admin_email_subject
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. test – #59655
- Use
assertSame()
in wp_insert_post()
tests – #59655
- Use
assertSame()
in wp_read_image_metadata()
tests – #59655
Bundled Themes
- Twenty Twenty-Three: Update XX-large font-sizes for accessibility 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) – #58603
Coding Standards
- Fix alignment in tests – #34668
- Correct alignment in
wp_get_attachment_image_src()
– #59650
Docs
- Add a
@since
note for $preferred_ext
parameter in wp_mime_type_icon()
– #31352
- Correct the URLs that document the available images for MySQL 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/. and MariaDB for the local development environment – #59930
- Improve docblock (phpdoc, xref, inline docs) for
$x_redirect_by
param in wp_redirect()
– #60209
- Use more inclusive term in
rest_filter_response_fields
docblock – #59651
Editor
- Add fallback for 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. version when registering block script module – #60233
- Add id to the supported Image’s binding attributes – #60577
- Allow symlinks in directories provided to
get_block_asset_url()
– #59175, #58525
- Ensure font collection metadata can be properly localized – #60509
- Fix instance element styles for links applying to buttons – #60557
- Format and sanitize font family names according the CSS Cascading Style Sheets. spec – #60537
- Improve PHPUnit tests for block pattern registration – #59532
- Load pattern content only when used – #59532
- Update Packages with the latest 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 for 6.5 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. 2 (Round 2) – #60315
- Update Packages with the latest bug fixes for 6.5 beta 2 – #60315
- Block Hooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.: Allow hooked_block filters to return null – #60580
- Block Hooks: Fix actual/expected order in test assertions – #60506
- Block Hooks: Introduce a new
hooked_block
filter – #60574
- Block Hooks: Make test a bit easier to read – #60580
Export
- Include featured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. for posts or pages – #17379
General
- Handle missing field in WP_List_Util::pluck() – #59774
I18N 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.
- Do not set translation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. controller locale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. in bootstrap – #59656
Media
- Ensure
wp_mine_type_icon()
returns expected file type – #31352
- Fix broken media modal following [57688] – #58973
- Prevent Media Library sidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. from showing with no actions – #58973
Plugins
- Plugin Dependencies: Remove auto-deactivation and bootstrapping logic – #60457, #60491, #60510, #60518
- Output plugin card elements in the order they’re displayed – #60488
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/.
- Pass correct context to embedded items – #43439
Script Loader
- Add hooks for script modules and interactivity API only on
after_setup_theme
– #60411
- Fix small typo in
wp_remove_surrounding_empty_script_tags
docblock – #60591
- Inject wp_remove_surrounding_empty_script_tags function name in returned error string using sprintf – #60590
Shortcodes
- Fix small typo in inline documentation – #60603
Themes
- Use original template paths when switching blogs – #60290
Toolbar
- Accessibility: Keyboard navigation for screen readers – #34668, #43633
Upgrade/Install
- Fix upgrade count decrement on Updates page – #60589
- Improve plugin install button appearance – #60494
- Normalize major versions in
is_wp_version_compatible()
– #59448
Props
Thanks to the 100 (!) people who contributed to WordPress Core on Trac: @swissspidy (16), @costdev (8), @joedolson (6), @mukesh27 (6), @joemcgill (5), @youknowriad (5), @gziolo (4), @huzaifaalmesbah (4), @afragen (3), @hellofromTonya (3), @shailu25 (3), @SergeyBiryukov (3), @sabernhardt (2), @afercia (2), @netweb (2), @azaozz (2), @kkmuffme (2), @thekt12 (2), @Ankit-K-Gupta (2), @zunaid321 (2), @antpb (2), @poena (2), @dhruvishah2203 (2), @mmaattiiaass (2), @spacedmonkey (2), @jghazally (2), @audrasjb (2), @aaronrobertshaw (2), @get_dave (2), @scruffian (2), @abletec (1), @Cheffheid (1), @alexstine (1), @sparklingrobots (1), @danieltj (1), @dionysous (1), @jorbin (1), @sessioncookiemonster (1), @wazeter (1), @oglekler (1), @kevin940726 (1), @naoki0h (1), @kirasong (1), @iamarunchaitanyajami (1), @davidbinda (1), @helgatheviking (1), @nendeb55 (1), @mikachan (1), @ryokuhi (1), @sruthi89 (1), @nithi22 (1), @ivanzhuck (1), @ukdrahul (1), @grantmkin (1), @flixos90 (1), @manfcarlo (1), @metropolis_john (1), @jeremyfelt (1), @aristath (1), @billseymour (1), @nateallen (1), @petitphp (1), @duck_ (1), @jane (1), @rcain (1), @smub (1), @batmoo (1), @axwax (1), @creativeslice (1), @dlocc (1), @nacin (1), @wonderboymusic (1), @ganon (1), @hlashbrooke (1), @chriscct7 (1), @fischfood (1), @hifidesign (1), @bosskhj (1), @antonlukin (1), @maxpertici (1), @peterwilsoncc (1), @joshuatf (1), @tomjcafferkey (1), @itschristiandale (1), @mahnewr (1), @rudlinkon, @kraftbj (1), @freewebmentor (1), @ajlende (1), @dennysdionigi (1), @bgardner (1), @westonruter (1), @bernhard-reiter (1), @mamaduka (1), @timothyblynjacobs (1), @dd32 (1), @desrosj (1), @pbiron (1), @nithins53 (1), @kafleg (1), and @vivekawsm (1).
Congrats and welcome to our 14 (!) new contributors of the week: @jghazally, @abletec, @sessioncookiemonster, @wazeter, @iamarunchaitanyajami, @sruthi89, @ukdrahul, metropolis_john, @billseymour, @rcain, @axwax, @creativeslice, @ganon, @hifidesign ♥️
Core committers: @swissspidy (13), @sergeybiryukov (7), @joedolson (6), @youknowriad (5), @costdev (4), @joemcgill (3), @hellofromtonya (3), @bernhard-reiter (3), @audrasjb (3), @gziolo (2), @peterwilsoncc (1), @kadamwhite (1), @johnbillion (1), and @desrosj (1).
#6-5, #core, #week-in-core