A Week in Core – April 4, 2022

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 March 28 and April 4, 2022.

  • 43 commits
  • 90 contributors
  • 54 tickets created
  • 6 tickets reopened
  • 64 tickets closed

The Core team is currently working on the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., WP 5.9.3, and on the next major, WP 6.0 🛠

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

  • Adds “select all” shortcut for Mac on permalinks page when .htaccess is not writable – #54633
  • Consistently escape icon URLs in the adminadmin (and super admin) menu – #55496>
  • Do not specify menu order for the Widgets menu when the active theme is a 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. theme – #54916

Build/Test Tools

  • Add unit tests for feed_links_extra()#54713, #54725
  • First pass at a .git-blame-ignore-revs file – #55422

Bundled Themes

  • Twenty Twenty: Fix aria-expanded handling in search toggle – #53951

Canonical

  • Include all public status in 404 redirects – #47911

Code Modernization

  • Rename parameters that use reserved keywords in wp-admin/includes/class-wp-filesystem-base.php#55327
  • Rename parameters that use reserved keywords in wp-admin/includes/class-wp-importer.php#55327
  • Rename parameters that use reserved keywords in wp-admin/includes/class-wp-list-table.php#55327

Comments

  • Improve performance of the wp_count_comments function – #19901
  • 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) fixes following [53024]#54939
  • Improve performance checking for published pages – #55425
  • When a block theme is active, add an information about Site Editor in the 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.#54939

Docs

  • Add missing description for $pagenow global in various functions – #54729, #55499
  • Add missing description for $taxnow global in various functions – #54729
  • Add missing description for $typenow global in various functions – #54729
  • Add missing descriptions for WP_List_Table::get_items_per_page() parameters – #54729, #55327
  • Consistently document the $pagenow global in WP_Customize_Manage methods – #55499
  • Further remove HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. markup from various function summaries – #55506
  • Remove HTML markup from WP_REST_URL_Details_Controller class method summaries – #55506
  • Typo correction in wp_fuzzy_number_match DocBlockdocblock (phpdoc, xref, inline docs)#55493
  • Use correct format for multi-line comments in the_block_editor_meta_boxes()#54729
  • Use third-person singular verbs for function descriptions in WP_Automatic_Updater class, per the documentation standards – #54729
  • Use third-person singular verbs for function descriptions in WP_Customize_Manager class, per the documentation standards – #54729
  • Use third-person singular verbs for function descriptions in WP_Customize_Nav_Menus class, per the documentation standards – #54729
  • Use third-person singular verbs for function descriptions in WP_Embed class, per the documentation standards – #54729

Editor

  • Change location of block support styles in wp_head#55474
  • Use wp_unique_id() instead of uniqid() to generate CSSCSS Cascading Style Sheets. class names – #55474

Formatting

  • Account for HTML entities in wp_extract_urls()#30580

General

  • Open change permalink structure links in same tab – #55252
  • Validate input of wp_list_pluck()#54751

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.

  • Move code out of a translatable string in get_user_count() and related functions – #38741

KSES

Login and Registration

  • Add autocomplete attributes – #41136

Mail

  • Replace empty site title with domain name in email subjects – #54760

Media

  • Introduce wp_content_img_tag 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.#55347
  • Preserve attachment properties on cropping custom logo – #37750

Menus

Posts, Post Types

  • Set post filter in update_post_cache()#50567
  • Translate default labels once – #26746

Quick/Bulk Edit

  • Position action buttons in close proximity – #55364

Taxonomy

  • Improve performance by taxonomy queries by adding a limitting requested terms – #55360

Themes

  • Add “title” key to i18n schema – #54336

Users

  • Fix notice error in WP_Posts_List_Table class – #38741
  • Introduce the concept of a large site to single site installations – #38741
  • Move get_user_count() and related functions to wp-includes/user.php#38741

Props

Thanks to the 90 (!) people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (11), @costdev (9), @audrasjb (8), @peterwilsoncc (8), @aristath (4), @johnbillion (4), @Spacedmonkey (4), @kebbet (4), @jrf (4), @justinahinon (4), @poena (4), @ironprogrammer (4), @flixos90 (4), @hellofromTonya (4), @afercia (3), @davidbaumwald (3), @azouamauriac (3), @mukesh27 (3), @Clorith (2), @dd32 (2), @antonvlasenko (2), @johnjamesjacoby (2), @sabernhardt (2), @mamaduka (2), @alexstine (2), @joedolson (2), @nacin (2), @jb510 (2), @Rahe (1), @uday17035 (1), @spacedmonkey (1), @r-a-y (1), @adamsilverstein (1), @Znuff (1), @pbearne (1), @Presskopp (1), @marybaum (1), @pbiron (1), @lumpysimon (1), @desrosj (1), @pento (1), @macbookandrew (1), @jrchamp (1), @miss_jwo (1), @obenland (1), @tharsheblows (1), @Mista-Flo (1), @psmits1567 (1), @westonruter (1), @cbravobernal (1), @ndiego (1), @Rufus87 (1), @wonderboymusic (1), @webcommsat (1), @tobifjellner (1), @ComputerGuru (1), @dhanendran (1), @coffee2code (1), @rsiddharth (1), @jontyravi (1), @bhrugesh12 (1), @Chouby (1), @Rarst (1), @chriscct7 (1), @ocean90 (1), @nagpai (1), @dlh (1), @tyxla (1), @utz119 (1), @hareesh-pillai (1), @chintan1896 (1), @jigar-bhanushali (1), @gvgvgvijayan (1), @Valer1e (1), @ryan (1), @ajoah (1), @marv2 (1), @mkox (1), @trex005 (1), @voldemortensen (1), @hellofromtonya (1), @goaroundagain (1), @htdat (1), @chaion07 (1), @Cybr (1), @rianrietveld (1), @oandregal (1), @FolioVision (1), @markjaquith (1),and @helen (1).

Congrats and welcome to our 7 new contributors of the week: @lumpysimon, @nagpai, @jigar-bhanushali, @gvgvgvijayan, @marv2, @mkox, @trex005 ♥️

Core committers: @sergeybiryukov (14), @audrasjb (12), @peterwilsoncc (8), @joedolson (5), @spacedmonkey (5), @gziolo (1), @flixos90 (1), and @helen (1).

#5-9-3, #6-0, #core, #week-in-core

A Week in Core – March 7, 2022

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 28 and March 7, 2022.

  • 21 commits
  • 43 contributors
  • 62 tickets created
  • 3 tickets reopened
  • 48 tickets closed

The Core team is currently working on the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., WP 5.9.2, and on the next major, WP 6.0 🛠

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

  • Require a valid action parameter to be set for admin-ajax.php requests – #55212

Bootstrap/Load

  • Stop unnecessary queries when using the do_parse_request 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.#10886

Coding Standards

  • Improve formatting in /wp-admin/user-edit.php#54673

Comments

  • Guard against potential PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notices in get_comment_author and get_comment_ID#54379

Docs

  • Add a @since note for WP::parse_request() about the new return value – #10886
  • Add inline comments for non-visible characters in sanitize_title_with_dashes()#47912, #54729
  • Correct the indentation in delete_term_relationships filter – #54673
  • Update the DocBlockdocblock (phpdoc, xref, inline docs) for the wpmu_new_blog action to suggest wp_initialize_site as an alternative – #49612
  • Use third-person singular verbs for function descriptions in wp-includes/class-wp-user.php#54729
  • Use third-person singular verbs for function descriptions in wp-includes/formatting.php, per the documentation standards – #54729

External Libraries

  • Upgrade PHPMailer to version 6.6.0 – #55277

General

  • Improve MS Edge user-agent sniffsniff A module for PHP Code Sniffer that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects code smells, similar to how a dog would "sniff" out food.#55297

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.

  • Add a $locale parameter for remove_accents()#54415

Media

  • Allow wp_check_filetype() to support query strings in URLs – #30377

Networks and Sites

  • Suggest wp_initialize_site as an alternative for the deprecated wpmu_new_blog action – #49612

Query

  • Make sure WP_Query::get_queried_object() works for author_name before ::get_posts() is run – #55100

Tests

  • Restore the original user role in the (add|remove)_user_role hooksHooks 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. test – #54164

Themes

  • Correct the logic for displaying a _doing_it_wrong() notice for add_theme_support( 'html5' )#51657
  • Hide 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. themes’ live preview link following installation – #54878
  • Make sure the current_theme_supports-{$feature} filter is consistently applied – #55219

Users

  • Bring some consistency to user role hooks – #54164

Props

Thanks to the 43 people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (6), @dd32 (6), @costdev (3), @johnbillion (2), @audrasjb (2), @peterwilsoncc (2), @azouamauriac (2), @pbearne (1), @arnee (1), @tyxla (1), @DrewAPicture (1), @lukecavanagh (1), @davidbaumwald (1), @Spacedmonkey (1), @voldemortensen (1), @helgatheviking (1), @pavanpatil1 (1), @sivel (1), @jrf (1), @Synchro (1), @miken32 (1), @malthert (1), @knutsp (1), @wonderboymusic (1), @henry.wright (1), @westi (1), @mukesh27 (1), @layotte (1), @atomicjack (1), @supercleanse (1), @spencercameron (1), @ianmjones (1), @abdullahramzan (1), @Boniu91 (1), @ryan (1), @swissspidy (1), @johnregan3 (1), @antonvlasenko (1), @ironprogrammer (1), @asaquzzaman (1), @MadtownLems (1), @junsuijin (1), and @ocean90 (1).

Congrats and welcome to our 4 new contributors of the week: @pavanpatil1, @supercleanse, @spencercameron, @asaquzzaman ♥️

Core committers: @sergeybiryukov (13), @audrasjb (4), @peterwilsoncc (2), @davidbaumwald (1), and @spacedmonkey (1).

#5-9, #6-0, #core, #week-in-core

A Week in Core – February 8, 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 1 and February 8, 2021.

  • 41 commits
  • 123 contributors
  • 64 tickets created
  • 9 tickets reopened
  • 79 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. Also, WordPress 5.6.1 was released 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

  • Fix background color of 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 update row on small screens – #52452
  • New 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. ahead of the months drop-down – #51660
  • use shorthand css properties to improve readability – #52148
  • Coding Standards: Update links to be 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. in package-lock.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.[50163]

Build/Test Tools

  • Fix tests after [50185]#52341
  • Specify a version range within engines for node and npm#52455

Docs

  • Clarify the @return value for wp_get_attachment_image_url() and get_the_post_thumbnail_url()#52183

Editor

  • Correct the check for unsaved content in wp.autosave.server.postChanged()#52440

Media

  • Use a unique name for the nonce of the custom fields toggle form – #51483
  • Pause any playing media when closing the the media modal – #48562
  • Consistency in logic to pass wp_getimagesize() tests – #49889

Privacy

  • Remove gray left border on the inline notices in Privacy Policy Guide – #52430
  • Update URLs to the Privacy Policy Guide in help tabs – #52430
  • Rename the $send_confirmation_email parameter of wp_create_user_request() to $status, for clarity – #52430
  • Update colors to match new color palette – #52436
  • Redesign the Privacy settings pages – #49264

Security

  • add Content-Security-Policy script loaders – #39941

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.

  • Add filter for post statuses when updating term count – #38843

Users

  • Allow the role of users to be bulk changed to no role from the Users listing screen – #52238

Props

Thanks to the 123 people (that’s HUGE) who contributed to WordPress Core on Trac last week:

@hellofromTonya (12), @xkon (10), @TimothyBlynJacobs (7), @audrasjb (6), @paaljoachim (5), @peterwilsoncc (5), @mukesh27 (5), @dd32 (4), @SergeyBiryukov (4), @hedgefield (4), @garrett-eclipse (4), @sabernhardt (4), @afragen (3), @birgire (3), @whyisjake (3), @johnbillion (3), @Mista-Flo (3), @desrosj (2), @poena (2), @davidbaumwald (2), @knutsp (2), @estelaris (2), @noisysocks (2), @flixos90 (2), @adamsilverstein (2), @dlh (2), @afercia (2), @Clorith (2), @kurtpayne (1), @jaymanpandya (1), @anyssa (1), @sippis (1), @AmethystAnswers (1), @timothyblynjacobs (1), @lukecavanagh (1), @magicroundabout (1), @erichmond (1), @DrewAPicture (1), @Ipstenu (1), @nico_martin (1), @eventualo (1), @bduclos (1), @yannkozon (1), @wonderboymusic (1), @ericlewis (1), @joyously (1), @pento (1), @tinodidriksen (1), @markhowellsmead (1), @jrf (1), @ianmjones (1), @nacin (1), @jeremyfelt (1), @prettyboymp (1), @r-a-y (1), @ryan (1), @dimadin (1), @stevenkword (1), @jfarthing84 (1), @aristath (1), @7studio (1), @kara.mcnair (1), @swissspidy (1), @pbiron (1), @Howdy_McGee (1), @netweblogic (1), @burtrw (1), @megabyterose (1), @souri_wpaustria (1), @pixelverbieger (1), @e_baker (1), @scruffian (1), @iprg (1), @Joen (1), @viablethought (1), @GunGeekATX (1), @mkaz (1), @jeroenrotty (1), @ovidiul (1), @bonniebeeman (1), @magnuswebdesign (1), @hmabpera (1), @worldedu (1), @dbtedg (1), @bartosz777 (1), @nwjames (1), @roger995 (1), @tonysandwich (1), @ibiza69 (1), @archon810 (1), @hwk-fr (1), @naveen17797 (1), @GeekPress (1), @vandestouwe (1), @amolv (1), @justinahinon (1), @davecpage (1), @tomdxw (1), @herregroen (1), @ankitmaru (1), @jnylen0 (1), @jason_the_adams (1), @mayankmajeji (1), @karmatosed (1), @wesselvandenberg (1), @allendav (1), @iandunn (1), @TZ-Media (1), @azaozz (1), @joedolson (1), @hareesh-pillai (1), @jadeddragoon (1), @geoffguillain (1), @jorbin (1), @antpb (1), @clorith (1), @ocean90 (1), @enricocarraro (1), @alinod (1), @epicfaace (1), @mallorydxw (1), @jrchamp (1), and @JoshuaWold (1).

And we also have a new Week in Core record! Please join me to say welcome to our 21 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 ♥️
@alinod, @jadeddragoon, @mallorydxw, @epicfaace, @hwk-fr, @enricocarraro, @geoffguillain, @nwjames, @GeekPress, @viablethought, @naveen17797, @ibiza69, @tonysandwich, @roger995, @bartosz777, @dbtedg, @worldedu, @hmabpera, @magnuswebdesign, @vandestouwe, and @bonniebeeman.

Core committers: @sergeybiryukov (14), @antpb (6), @desrosj (3), @timothyblynjacobs (3), @peterwilsoncc (3), @ryelle (2), @adamsilverstein (2), @whyisjake (2), @joemcgill (2), @ocean90 (1), @johnbillion (1), @jorbin (1), and @iandunn (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

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

HHVM no longer part of WordPress core’s testing infrastructure

WordPress has never officially supported HHVM, but since WordPress 4.0 it has been compatible, largely thanks to the efforts of @wonderboymusic in #27881 and other tickets.

Many large scale sites which switched to HHVM around 2014 have since switched to PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 7, and usage numbers of HHVM according to 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/ update statistics indicate that HHVM powers only several dozen WordPress websites as of April 2017.

CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.’s unit testunit 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. suite when run on HHVM never actually passed (this may not be completely accurate, memories are hazy), often errored completely, and was always marked as an allowed failure. All of this, coupled with the disproportionately high amount of effort required to maintain the test and CI infrastructure for HHVM, means that WordPress core is no longer tested on HHVM as part of the Travis CI build. See #40548 for details.

If you’re running a WordPress website on HHVM, you should consider switching to PHP 7+ which is far more widely supported and tested, and offers all of the memory and performance benefits that HHVM pushed forward.

Week in Core, April 12th – April 18th 2017

Welcome back the latest issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [40417-40475]. Here are the highlights:

  • 59 commits
  • 37 contributors
  • 59 tickets created
  • 6 tickets reopened
  • 36 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Administration

  • Add “(link opens in a new window)” as a screen reader text for “Preview” link on Edit Post screen. [40422] #40185

Build/Test Tools

  • Build/Test tools: Ruthlessly remove failing tests from the 4.0 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. [40457] #40463
  • Better rewrite rule flushing in test_permalink_without_title(). [40456] #40463
  • Remove failing tests related to WP_User::__unset(). [40455] #30284, #40463
  • Remove failing is_textdomain_loaded() test. [40454] #30284, #40463
  • Remove failing tests related to square brackets being stripped in URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org sanitizers. [40453] #30284, #40463
  • Remove failing test in the hooks group. [40452] #30284, #40463
  • Remove skipped tests for unimplemented JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. plural functions. [40451] #22229, #40463
  • Remove failing unit tests from ‘canonical’ group. [40450] #30284, #40463
  • Partial merge of [30283] into the 4.0 branch to avoid PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notices that cause a test failure. [40449] #30284
  • assertTag() has been deprecated in PHPUnit 4.2. Rewrite some of the tests in Tests_Paginate_Links to use DOMDocument. [40447] #29545
  • Build/Test tools: Reverse the order in which the Travis jobs run on the 3.8 branch. [40444] #39705
  • Build/Test tools: Reverse the order in which the Travis jobs run. [40435] #39705
  • Build/Test tools: Introduce and implement assertNotIXRError() and assertIXRError() assertion methods. [40417] #40423

Bundled Theme

  • Twenty Seventeen: Bump version and update the changelog. [40473] #40461
  • Twenty Seventeen: Correct heading hierarchy for posts on the front page. [40459] #40264

Customize

  • Use fixed-width illustrative placeholder for hex field in color picker to prevent truncation. [40471] #39096
  • Verify availability of history.replaceState (in IE9) before attempting to populate changeset_uuid parameter. [40420] #39227, #40405

Media

  • Fix broken audio/video functions when sanitizing ID3 data [40470] #40075, #40085
  • Default to always showing the “Create Audio/Video Playlist” buttons. [40430] #31071
  • Ensure Crop Image is always visible. [40429] #40152
  • Add filters to allow overriding slow media queries. [40425] #31071
  • Improve filters that allow overriding slow media queries. [40421] #31071

Misc

  • Bump 4.7 branch to 4.7.4-RC1. [40475] #
  • 4.7.4-RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). [40474] #
  • Tests: Fix a YouTube embed test failing since YouTube switched to 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.-only. [40448] #
  • Updates for 4.6. Merge of and to the 4.6 branch.

Networks and Sites

  • Correct a capability check when accessing the Sites -> Add New screen. [40433] #39156

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

Posts, Post Types

  • In wp_check_post_lock(), check if the user with lock exists and return false otherwise. [40424] #39888
  • Improve the docs for wp_check_post_lock() and wp_set_post_lock(). [40423] #39888

Query

  • Remove failing unit testunit 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. for #27193. [40445] #27193

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

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.

TinyMCE

  • Update TinyMCE to 4.5.6. Has many improvements and 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. [40419] #40305

Toolbar

  • Reset CSSCSS Cascading Style Sheets. properties that might be inherited from the active Theme. [40418] #40313

Upload

  • Improve legacy SWFUpload event handlers for current jQuery. [40431] #39886

Thanks to @sagarprajapati, @1naveengiri, @adamsilverstein, @afercia, @arshidkv12, @azaozz, @celloexpressions, @curdin, @Cybr, @davidakennedy, @eclev91, @boldwater, @flixos9, @jdgrimes, @jnylen0, @joedolson, @joemcgill, @johnbillion, @karinedo, @lukecavanagh, @MatheusGimenez, @mayurk, @mayur, @MMDeveloper, @netwe, @Presskopp, @programmin, @rianrietveld, @sagarprajapati, @sboisvert, @SergeyBiryukov, @stormrockwell, @swissspidy, @tejas5989, @timmydcrawfor, @westonruter, and @wonderboymusic for their contributions!

#week-in-core

Week in Core, April 5th – April 11th 2017

Welcome back the latest issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [40376-40416]. Here are the highlights:

  • 41 commits
  • 26 contributors
  • 61 tickets created
  • 12 tickets reopened
  • 56 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Bootstrap/Load

Build/Test Tools

  • Build/Test tools: Improve the failure message reported by assertQueryTrue() so it’s a little less cryptic. [40416] #40411
  • Build/Test tools: Trim the test matrix on Travis in order to speed up the 3.8 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". build. [40407-40415] #40407
  • Add assertNotFalse() method to WP_UnitTestCase and use it where appropriate. [40388] #39219

Customize

  • Verify availability of history.replaceState (in IE9) before attempting to populate changeset_uuid parameter. [40405] #39227, #40405
  • Auto-expand a 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. area section when expanding the Widgets panel if there is only one registered sidebarSidebar 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. and it is active. [40395], [40402] #37471
  • Fix behavior of clicking Delete Menu link and keep available nav menu items panel open when doing bulk deletion. [40396], [40401] #38953
  • Fix 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. navigation of site in preview on IE11. [40381], [40386] #38409, #40198
  • Use is_header_video_active() as active_callback for external_header_video control instead of is_front_page(). [40379], [40384] #38738, #40308
  • Fix reversal of nav menu item’s type and object properties for page stub added in 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.. [40380], [40383] #38164, #40277

General

  • Build/Test tools: Remove occurrences of create_function() in unit tests. [40392] #37082

Media

Networks and Sites

  • 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: Replace unnecessary is_super_admin() check when setting up the initial networknetwork (versus site, blog). [40406] #40406, #37616
  • Align the display of site statuses on the Sites listing screen with those of posts on the Posts listing screen. [40393] #40290
  • Multisite: Partially revert [40295]. [40391] #39676, #37616
  • Multisite: Handle sites cache invalidation more granularly for option updates. [40385] #40063

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

Role/Capability

TinyMCE

  • Update the tests for version 4.5.6. Remove default plugins tests, it is quite pointless to keep repeating them at this point. [40399] #40305
  • Update TinyMCE to 4.5.6. Has many improvements and 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. [40398] #40305

Upgrade/Install

  • Introduce wp_disallow_file_mods() helper function. [40394] #38673

Thanks to @adamsilverstein, @ashokkumar24, @azaozz, @blobfolio, @curdin, @DavidAnderson, @delawski, @desrosj, @dhanendran, @flixos90, @jnylen0, @joemcgill, @johnbillion, @ketuchetan, @maguiar, @MatheusGimenez, @mattwiebe, @MaximeCulea, @melchoyce, @peterwilsoncc, @pratikshrestha, @sboisvert, @swissspidy, @timmydcrawford , @westonruter, and @wonderboymusic for their contributions!

#week-in-core

Week in Core, September 7 – 20, 2016

Welcome back the latest issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [38571-38636]. Here are the highlights:

  • 66 commits
  • 61 contributors
  • 171 tickets created
  • 15 tickets reopened
  • 106 tickets closed

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

Code Changes

Administration

Bootstrap/Load

  • Docs: Use a third-person singular verb for wp_doing_ajax 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. added in [38334]. [38607] #25669
  • Bootstrap: Use dirname() when loading class-wp-hook.php from plugin.php. [38589] #37707

Charset

  • Database: Fall back to utf8 when utf8mb4 isn’t supported. [38580] #37982

Customize

  • Add wp-util as a dependency for customize-controls. [38628] #38107
  • Remove IE8 access to 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. to discontinue support. [38627] #38021
  • Let static_front_page section be contextually active based on whether there are any published pages. [38624] #34923, #38013
  • Ensure nav menu items lacking a label use the title from the original object. [38618] #38015
  • CBetter hover/focus state for section titles and available widgets. [38602] #29158
  • Implement previewing of form submissions which use the GET method. [38587] #20714
  • Prevent 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. previewing logic from building 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. jQuery selectors when sidebars are registered without a class name in before_widget. [38577] #37993

Database

  • Normalise index names in dbDelta(). [38591] #34874
  • Increase the size of wp_posts.post_password to 255 characters. [38590] #881

Formatting

  • Docs: Use a third-person singular verb for smilies filter added in [38504]. [38608] #35905
  • Update autop() to match wpautop(). [38594] #4857, #4857
  • Docs: Fix an outdated comment. [38593] #4857
  • Add an extra line break before 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. elements in wpautop(). [38592] #4857
  • Don’t send an 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 in wp_send_json() by default. This avoids clobbering an HTTP status code that may have been set prior to calling this function. [38576] #35666

General

  • 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: Revert [38388]. [38636] #37699
  • Docs: Use a third-person singular verb for register_post_type_args filter added in [34242]. [38610] #37770

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.

  • Correct context for Next/Previous strings in get_the_posts_pagination(). [38611] #37952

Media

Menus

  • 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): Standardize the remove/delete/cancel links in the Menus screen and Publish 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. boxes. [38616] #37969, #37018, #37448, #37138, #27314
  • Use strict comparison for the condition added in [38612]. [38613] #37846
  • Remove ‘sub item’ label when removing the sub item’s parent. [38612] #37846
  • Docs: Fix phpdocPHPDoc (docblock, inline docs) and jsdoc typos introduced in [38584] and [38587], respectively. [38588] #33742, #20714
  • Prevent non-published posts/pages from being returned in search results for adding as nav menu items. [38584] #33742
  • Fix notices thrown by classes extending Walker_Nav_Menu. [38575] #35206
  • Improve documentation of new $item_spacing argument. [38574] #35206

Networks and Sites

  • Multisite: Show always domain and path when deleting a site. [38633] #37309
  • Multisite: Use get_networks() in get_main_network_id(). [38632] #37218
  • Multisite: Provide $join as a possible SQL clause to the sites_clauses filter. [38631] #37922
  • Multisite: Add annotations for extended WP_Site properties. [38630] #37932
  • Docs: Synchronize docblocks for WP_Site_Query::__construct() and get_sites() after the changes in [37735], [38008], [38103], and [38336]. [38596] #38039
  • Docs: Correct description for domain and path arguments in WP_Network_Query::__construct(). [38595] #32504

Options, Meta APIs

  • Options: Build out register_setting like register_meta. [38635] #37885

Permalinks

  • Ensure Pending Review Posts permalink posts link to the draft [38572] #37423

Plugins

  • Style the primary action link in the non-js “Installing 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” page. [38617] #36430
  • Tests: Use add_filter() when it’s available. [38582] #17817
  • Docs: Fix minor formatting for inline docsinline docs (phpdoc, docblock, xref) in WP_Hook following its introduction in [38571]. [38573] #17817
  • HooksHooks 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.: Add the new class WP_Hook, and modify hook handling to make use of it. [38571] #17817

Posts, Post Types

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

Shortcodes

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.

  • Docs: Correct the description of {$taxonomy}_term_new_form_tag hook, making it more consistent with other *_form_tag hooks. [38629] #38104
  • Pass taxonomy name to actions in term-relationship CRUDCRUD Create, read, update and delete, the four basic functions of storing data. (More on Wikipedia.) functions. [38621] #38006
  • Query: Eliminate unnecessary wp_list_filter() call in get_queried_object(). [38586] #37962
  • Query: Avoid PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notice in get_queried_object() when query contains NOT EXISTS tax query. [38585] #37962

Themes

  • Docs: Correct two references to plugins in the $args parameter description for themes_api(). [38623] #37939
  • Docs: Use a third-person singular verb for {$type}_template_hierarchy filter added in [38385]. [38609] #14310
  • Docs: Use a third-person singular verb in the DocBlockdocblock (phpdoc, xref, inline docs) summary for get_theme_file_uri(), get_parent_theme_file_uri(), get_theme_file_path(), and get_parent_theme_file_path(), introduced in [38578]. [38606] #18302
  • Docs: Use a third-person singular verb for theme_file_uri, parent_theme_file_uri, theme_file_path, and parent_theme_file_path filters added in [38578]. [38605] #18302
  • Add the non-encoded form of the queried item slug to the template hierarchy when the slug contains non-ASCII characters. [38583] #37655
  • Taxonomy: Revert accidental changes introduced in [38578]. [38579] #18302
  • Improve child themeChild theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/. file inheritance by introducing functions for locating and fetching the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org or path to files within child and parent themes. [38578] #18302

Toolbar

  • Add a ‘View Posts’ link to the toolbar when on the post listing screen. [38634] #34113

Upgrade/Install

  • Docs: Correct a comment and @return entry in WP_Upgrader::create_lock(). [38622] #38089
  • Automatically log users in after installation. [38619] #34084

XML-RPC

  • Avoid a PHP notice in ::pingback_ping() if page title was not found. [38620] #36727
  • Check the minimum number of arguments in ::wp_getUsersBlogs() and ::blogger_getUsersBlogs(). [38600] #29750

Thanks to @aaroncampbell, @adamsilverstein, @afercia, @akibjorklund, @DMing, @BjornW, @boonebgorges, @celloexpressions, @curdin, @danielpietrasik, @dd32, @DrewAPicture, @eliorivero, @enshrined, @ericlewis, @FlorianBrinkmann, @folletto, @georgestephanis, @gma992, @helen, @hideokamoto, @hugobaeta, @ian.edington, @iandunn, @jbrinley, @jeremyfelt, @joehoyle, @joemcgill, @johnbillion, @johnjamesjacoby, @jorbin, @karmatosed, @kitchin, @knutsp, @markshep, @MaximeCulea, @melchoyce, @monikarao, @nacin, @nazgul, @obenland, @ocean90, @paulwilde, @pento, @peterwilsoncc, @RedSand, @rmccue, @rnoakes3rd, @rommelxcastro, @ryankienstra, @ryanplas, @SergeyBiryukov, @skippy, @spacedmonkey, @swissspidy, @Takahashi_Fumiki, @websupporter, @welcher, @westonrute, @westonruter, and @wonderboymusic for their contributions!

#4-7, #week-in-core

Week in Core, August 31 – September 7, 2016

Welcome back the latest issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [38456-38570]. Here are the highlights:

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

Code Changes

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)

  • Improve the 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. and Theme Installer initial focus. [38520] #29158, #33228, #27705
  • Make links in the Customizer underlined by default. [38503] #37527

Administration

Bootstrap

  • class-wp-locale.php needs to be require_once()-ed. [38496] #37827
  • goodnight sweet prince. [38480] #36335
  • do not go gentle into that good night r38411, r38412, and parts of r38389. [38470] #36335
  • Check that ini_get_all() exists before calling it, allows us to work around hosts who disable the function for “security purposes”. Merges [38431] to the 4.6 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. [38460] #37680

Comments

Customize

  • Fix php warning due to WP_Customize_Manager::prepare_setting_validity_for_js() incorrectly assuming that WP_Error will only ever have arrays in its $error_data. [38513] #37890
  • Introduce paneVisible state and ensure pane is visible when a construct is expanded (or focused). Fixes #36678. [38492] #27403, #36678
  • Fix 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. by re-using the add_new_item post type label instead of using a post type name in a generic string. [38479] #34923, #37895
  • Use new $status_code parameter for wp_send_json_error() instead of calling status_header() separately. [38478] #35666, #37897
  • Improve handling of active state for dynamically-created controls/sections/panels. [38464] #37270

Database

  • Find the correct table names in DELETE queries with table aliases [38507] #37660

Docs

  • Update the $message parameter for _default_wp_die_handler() to notate that it can also accept a WP_Error object. [38518] #37770
  • Correct @since entry for the smilies 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. added in [38504]. [38505] #35905
  • Move term_description() reference from filter docblockdocblock (phpdoc, xref, inline docs) to get_the_archive_description() function docblock. [38495] #37259

Editor

  • fix jumpiness on pressing backspace and delete in the Text editor. Merge of [38426] to the 4.6 branch. [38487] #37690

Embeds

  • Clarify some assertion failure messages and correct a test URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for Twitter timelines. [38514] #32360
  • Update the oEmbed provider test suite. [38512] #32360

Formatting

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.

  • Handle an edgecase within the URI parsing library included in Requests, where if a double slash exists at the start of the path the URL is passed to cURL malformed. Merge of [38429] to the 4.6 branch. [38485] #37733
  • Accept non-string values in cookies, fixing 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. since 4.5. Merges [38430] to the 4.6 branch. [38461] #37768

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

  • Revert changes to wp_parse_url() while PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 5.2 errors are investigated. [38456] #36356

General

  • revert [38386], functions.php was probably too tempting for some people to not load by itself. [38469] #36335
  • revert [38467], wp_is_IE() should not exist. [38468] #37699
  • use a new function, wp_is_IE(), instead of the $is_IE global in a number of places. [38467] #37699
  • use get_bloginfo( 'version' ) instead of global $wp_version in several locations – excluding those locations which reload version.php mid-flight. [38459] #37699

Help/About

  • Remove an outdated help sentence on “My Sites” screen. [38474] #37896

I18N

  • Add translator comments for XML-RPC strings with placeholders. [38510] #37792

Login and Registration

  • Change login label to Username or Email Address for clarity. [38477] #37871

Media

  • Sanitize upload filename. [38538] #

Menus

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

  • Deprecate wp_get_network(). [38515] #37553
  • use get_current_site() instead of $GLOBALS['current_site'] (stop yelling!) in a few remaining spots. [38458] #37699
  • use get_current_blog_id() where applicable, in lieu of plucking the $blog_id global from outer space. [38457] #37699

Post Thumbnails

  • Prevent post thumbnail previews from spilling into other images. Merge of [38433] to the 4.6 branch. [38476] #37697

Press This

  • don’t check for already-hoisted global in press-this.php. [38466] #37699
  • in wp_ajax_press_this_save_post() and wp_ajax_press_this_add_category(), don’t check for a global instance. WP_Press_This is a Controller, but not really a Singleton. This also keeps it from being a pluggable class, which it is right now. [38465] #37699
  • in get_shortcut_link(), just check a class constant on WP_Press_This instead of instantiating the object and reading an instance prop. [38462] #37699

Query

  • ‘orderby=include’ should support comma-separated lists. [30052] assumed that ‘include’ would be an array. [38500] #37904
  • Use AND in a SQL query rather than &&. [38491] #37903
  • r38356, you were not long for this world. [38471] #37830
  • in wp_old_slug_redirect(), use get_query_var() instead of importing and touching the global $wp_query directly. [38463] #37699

Role/Capability

  • Correct the multisite cap tests after [38521]. See #32394 [38522] #35614, #32394
  • Split 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. and primitive capabilities in the helper functions in the roles and capability tests so primitive capability tests can be made more accurate. See #32394 [38521] #35614, #32394
  • Add two missing meta capabilities to the caps tests. [38482] #32394

Script Loader

  • Correct default value for $src in wp_enqueue_script() and wp_enqueue_style(). [38519] #37770
  • Close the 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.) in wp_resource_hints(). Merge of [38443] and [38447] to the 4.6 branch. [38473] #37800

Shortcodes

Smilies

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.

  • Introduce some taxonomy capability tests in preparation for introducing more fine grained capabilities for terms. [38516] #35614
  • Introduce wp_insert_term_data and wp_update_term_data filters for altering term data before it is inserted/updated in the database. [38484] #22293
  • Correct the function description for wp_ajax_add_link_category(). [38490] #37770
  • Update various docs for parameters which are now WP_Term objects. See #14162 [38489] #37770, #14162

Template

  • After [38486], actually use the $description variable in get_the_archive_description(). [38493] #37259
  • In get_the_archive_description(), add support for author archives. [38486] #37259

Text Changes

  • Improve Error messages in XML-RPC [38509] #37792
  • Improve the timezone setting description in General Settings. Makes more clear users can set either a city or a UTC timezone offset. [38483] #34789

TinyMCE

  • fix toolbars alignment in RTL. Merge of [38349] to the 4.6 branch. [38488] #37760
  • change the default font for the vi localeLocale 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. to the same stack as he_IL. Merge of [38427] to the 4.6 branch. [38472] #37755

Toolbar

Upgrade/Install

  • After [37687], fix the number of params passed to the upgrade hooksHooks 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.. Merge of [38415] to the 4.6 branch. [38475] #37731
  • Sanitize file name in File_Upload_Upgrader. [38524] #

Upload

Users

  • After [33766], don’t reset the password when clicking “Show Password” and then “Cancel” on Add New User screen. [38494] #37902, #33419

Pass $profileuser parameter to user_profile_picture_description filter on “Edit User” screen. [38481] #37379

Widgets

  • Make the Delete/Remove links red. For consistency and accessibility, all the UIUI User interface controls that perform destructive actions should be red. [38536] #35622, #37016

## Props

Thanks to @afercia, @Akeif, @akibjorklund, @andrewp, @atimmer, @azaozz, @batmoo, @boonebgorges, @celloexpressions, @Chaos, @curdin, @dd32, @deremohan, @dlh, @DrewAPicture, @Engine, @flixos90, @Frank, @fronaldaraujo, @GaryJ, @geminorum, @gitlost, @GrantDerepas, @henrywright, @ibachal, @ideag, @ionutst, @jeremyfelt, @joemcgill, @johnbillion, @johnjamesjacoby, @johnpgreen, @jorbin, @Klein, @lukecavanagh, @monikarao, @mte90, @netweb, @nmt90, @patilswapnilv, @pento, @peterwilsoncc, @PieWP, @Presskopp, @ramiy, @Rarst, @sayedwp, @scrappy@…, @SergeyBiryukov, @smerriman, @swissspidy, @TimothyBlynJacobs, @turtlepod, @westonruter, and @wonderboymusic for their contributions!

#4-1, #week-in-core