A Week in Core – September 19, 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 September 12 and September 19, 2022.

  • 94 commits
  • 139 contributors
  • 53 tickets created
  • 2 tickets reopened
  • 71 tickets closed

The Core team is currently working on the 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., WP 6.1 🛠

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

  • Add new get_views_links method to WP_List_Table#42066

Build/Test Tools

  • Move the basic get_block_templates() test to the dedicated file – #55652
  • Rename the test for pre_option 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 match the filter name – #37930
  • Rename the test for wp_guess_url() to match the function name – #36827
  • Replace the timezone used in date/time tests – #56468
  • Reset timezone-related options if the tests change them – #56468#55388
  • Simplify the data provider for testing whether KSES globals are defined – #55652
  • Update the test for respecting the post type in get_block_templates()#55881

Bundled Themes

  • Fifteen: Ensure border-bottom styles are applied to the Button 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.#55006, #55824
  • Nineteen: Define underline thickness for links – #45925
  • Seventeen: Ensure long text wraps correctly in the Button Block – #55783
  • Twenty-One: Add a missing HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. comment for 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. notice control – #55725
  • Twenty-One: Fix Heading Block alignment when nested in Cover Block – #56050
  • Twenty-One: Remove WooCommerce related CSSCSS Cascading Style Sheets. selectors – #56366
  • Twenty-Two: Add “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) Ready” tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) to theme in repository – #55172
  • Twenty: Correctly align Social Icons block in the editor – #55987
  • Twenty: Ensure Latest Posts block set to 2 columns displays accordingly in the Editor – #56175
  • Twenty: Ensure headings styles are consistent between editor and front-en – #56194
  • Twenty: Ensure link color is inherited from paragraph in the editor – #56214
  • Twenty: Fix Heading Block alignment when nested in Cover Block – #56049
  • Twenty: Fix Social Links 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. alignment – #56474
  • Twenty: Improve support for Post Title block alignment – #56167

Code Modernization

  • Add AllowDynamicProperties attribute to all (parent) classes – #56513, #56034
  • Fix autovivification from false to array in WP_Scripts::localize()#55656
  • Pass correct value to parse_url() in WP_Customize_Manager::get_return_url()#55656
  • Reduce CSS float usage in wp-adminadmin (and super admin) – Timezone settings – #55557
  • Remove -webkit-appearance CSS declarations – #38431
  • Replace deprecated string interpolation patterns – #55787

Coding Standards

  • Move WP_List_Table::get_views_links() to a more appropriate place – #42066
  • Remove unwanted spaces in the WP_Block_Type class
  • Replace double quote with single quote in test_if_failed_update()#55758
  • Various alignment fixes from composer format#39210, #55443, #56288, #56092, #56408, #56467, #55881

Comments

  • Make wp_required_field_indicator() and wp_required_field_message() output filterable – #56389, #54394
  • Remove aria-hidden="true" attribute for visible text in comment template – #55717

Docs

  • Add missing @since history in Gallery ShortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. function – #56206, #55646
  • Clarify documentation for the nav_menu_item_id filter – #56574, #55646
  • Clarify that get_page_template() doesn’t work on block themes – #56394, #55646
  • Clarify the $allowed_protocols default value in various KSES functions – #56580
  • Correct @return type for WP_Block_Parser::parse()#56581
  • Correct @return value for wp_get_http_headers()#54225, #55646
  • Correct @since tags for some block parser properties and methods – #56581
  • Correct the wording in wp_lostpassword_url() description – #55646
  • Revert the WP_Block_Parser documentation changes now – #56581
  • Typo correction in _load_textdomain_just_in_time() docblockdocblock (phpdoc, xref, inline docs)#55646
  • Update wp_rand docblock to clarify that it returns a non-negative number – #15089
  • Use third-person singular verbs in Media 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. function descriptions, as per docblocks standards – #55646
  • Use third-person singular verbs in Template Loading functions descriptions, as per docblocks standards – #55646

Editor

  • Add new render property in block.json for block types – #53148
  • Allow registering multiple items for all supported asset types – #56408
  • Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. Style Engine API functions, classes and tests – #56467
  • Backport build_query_vars_from_query_block changes from 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/ repository – #56467
  • Backport wp_theme_element_class_name() alias – #56467
  • Backport block supports (border, color, elements, spacing) from Gutenberg to WP 6.1 – #56467
  • Backport block supports filter callback, registrations and tests to 6.1 – #56467
  • Backport foundation for Layout block support refactor (part 1) – #56467
  • Backport foundation for Layout block support refactor (part 1) – #56467
  • Finalize the theme_json_get_style_nodes hook name – #56467
  • Fix function name case in wp_default_packages_inline_scripts()#56467
  • Fix get_block_templates() to get templates for a post type – #55881
  • Fix text zoom on link popup editor – #53174
  • Hide query 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. pagination link arrows from assistive technologyAssistive technology Assistive technology is an umbrella term that includes assistive, adaptive, and rehabilitative devices for people with disabilities and also includes the process used in selecting, locating, and using them. Assistive technology promotes greater independence by enabling people to perform tasks that they were formerly unable to accomplish, or had great difficulty accomplishing, by providing enhancements to, or changing methods of interacting with, the technology needed to accomplish such tasks. https://en.wikipedia.org/wiki/Assistive_technology#56067
  • Persist preferences in user 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.#56467
  • Revert [54159] – #56467

External Libraries

  • Update the jQuery UIUI User interface library to version 1.13.2 – #56239
  • Update the jQuery library to version 3.6.1 – #56451

Feeds

  • Add a set of fine-grained filters to disable the different types of feed links separately – #55904

General

  • Add a new filter for the_posts_pagination_args#53392
  • Correct path replacement regex in wp_guess_url#36827
  • Ensure admin notices are properly displayed on Site Health layout – #54624
  • Pass $action to nonce_life filter – #35188
  • Replace Codex links with their HelpHub counterparts – My Sites screen – #48987
  • Replace Codex with HelpHub in WordPress readme – #48987

Help/About

  • Make translator comments version agnostic and make version translatable on the About page – #54741
  • Remove .hidden class when the Help Tab panel is displayed – #27697

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.

  • Remove code tags from translatable strings in WP_List_Table::get_views_links()#42066

Login and Registration

  • Access improvements to networknetwork (versus site, blog) signup – #40361
  • Required fields in network registration – #54344

Options, Meta APIs

  • Add a new pre-option filter – #37930

Plugins

  • Visually align 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 cards in Plugin Install screen – #55721, #55272

Posts, Post Types

  • Improve performance of the get_user_data_from_wp_global_styles method – #55392
  • Update new wp_post_class_taxonomies filter name for consistency – #37114

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 support for settings to specify their own additionalProperties – #56493

Role/Capability

  • Add a new update_role function – #54572

Site Health

  • Adjust margins for the Site Health dashboard widget – #56369
  • Improve the description for Authorization 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. checks – #54508
  • Improve the details provided by the REST API checks – #54617
  • Add a check to wp_check_php_version() whether the current PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher version is lower than the next (desired) minimum version, Set the next desired minimum PHP version to 7.2, Use that check to update the warnings in the wp_dashboard_php_nag() widget, and on the Site Health screen – #56199
  • Add a menu bubble with the critical issues count to the Tools -> Site Health submenu – #56199

Text Changes

  • Remove self-reference (“we”) in WordPress Admin – #55758, #46057

Themes

  • Implement file description for theme.json#55325
  • Introduces block-based template parts for Classic themes – #56467

Upgrade/Install

  • Add plugin URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org to the automatic update email – #53049
  • Remove _copy_dir() function as originally intended – #55712, #17173
  • Update sodium_compat to v1.18.0 – #56564

Props

Thanks to the 139 (!!) people who contributed to WordPress Core on Trac last week: @audrasjb (29), @costdev (25), @sabernhardt (18), @SergeyBiryukov (15), @bernhard-reiter (10), @mukesh27 (10), @jrf (8), @hellofromTonya (6), @peterwilsoncc (6), @Clorith (5), @joedolson (5), @aristath (4), @desrosj (4), @kajalgohel (4), @afercia (4), @poena (4), @kebbet (4), @tahmidulkarim (3), @joyously (3), @spacedmonkey (3), @zieladam (3), @ramonopoly (3), @andrewserong (3), @multidots1896 (3), @robinwpdeveloper (3), @scruffian (2), @isabel_brison (2), @aaronrobertshaw (2), @noisysocks (2), @mamaduka (2), @netweb (2), @neychok (2), @umesh84 (2), @mrfoxtalbot (2), @Chouby (2), @webcommsat (2), @smit08 (2), @fabiankaegy (2), @ironprogrammer (2), @azaozz (2), @ocean90 (2), @antonvlasenko (2), @NomNom99 (2), @dd32 (2), @Presskopp (2), @pbiron (2), @luisherranz (1), @juliemoynat (1), @harshvaishnav (1), @ayeshrajans (1), @markjaquith (1), @knutsp (1), @welcher (1), @grandeljay (1), @bhrugesh12 (1), @annezazu (1), @mikeschroder (1), @ryokuhi (1), @utz119 (1), @kjellr (1), @bph (1), @matveb (1), @kamig478 (1), @lopo (1), @robertghetau (1), @NathanAtmoz (1), @voldemortensen (1), @jdgrimes (1), @curdin (1), @petitphp (1), @flixos90 (1), @jamesckemp (1), @paragoninitiativeenterprises (1), @nidhidhandhukiya (1), @kmadhak (1), @kapilpaul (1), @pbearne (1), @timothyblynjacobs (1), @dlh (1), @afragen (1), @devtanbir (1), @mhkuu (1), @TobiasBg (1), @cfinke (1), @sharjeelkhanvmi (1), @chaton666 (1), @davidbaumwald (1), @JosVelasco (1), @tobiasbg (1), @shetheliving (1), @dingo_d (1), @rafiahmedd (1), @wparslan (1), @monolithon (1), @glendaviesnz (1), @Ipstenu (1), @ChrisHardie (1), @oliverstapelfeldt (1), @maksimkuzmin (1), @henrywright (1), @gziolo (1), @juhise (1), @Dharm1025 (1), @garrett-eclipse (1), @jonny-s (1), @jorbin (1), @DrewAPicture (1), @dwainm (1), @giuseppemazzapica (1), @marybaum (1), @johnjamesjacoby (1), @SteelWagstaff (1), @allisonplus (1), @maartenj (1), @haritpanchal (1), @danfarrow (1), @allancole (1), @bengreeley (1), @cbravobernal (1), @ntsekouras (1), @manfcarlo (1), @helen (1), @grabmedia (1), @dilipbheda (1), @armondal (1), @youknowriad (1), @hakre (1), @talldanwp (1), @oandregal (1), @aljullu (1), @andregal (1), @adamsilverstein (1), @rolfsiebers (1), @celloexpressions (1), @laurent22777 (1), @tobifjellner (1), @jeremyfelt (1), @westi (1), and @annabansaghi (1).

Congrats and welcome to our 18 (!!) new contributors of the week: @tahmidulkarim, @harshvaishnav, @jamesckemp, @kmadhak, @devtanbir, @mhkuu, @sharjeelkhanvmi, @monolithon, @oliverstapelfeldt, @maksimkuzmin, @jonnys, @dwainm, @giuseppemazzapica, @allisonplus, @maartenj, @grabmedia, @armondal, @laurent22777 ♥️

Core committers: @audrasjb (40), @sergeybiryukov (24), @davidbaumwald (9), @hellofromtonya (5), @joedolson (3), @desrosj (3), @clorith (3), @gziolo (3), @azaozz (2), @spacedmonkey (1), @timothyblynjacobs (1).

#6-1, #core, #meta5999, #meta6322, #week-in-core

A Week in Core – August 8, 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 August 1st and August 8, 2022.

  • 54 commits
  • 78 contributors
  • 39 tickets created
  • 4 tickets reopened
  • 38 tickets closed

The Core team is currently working on the 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., WP 6.1 🛠

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

  • Change default site tagline to an empty string – #6479

Bundled Themes

  • Twenty Eleven: Remove a useless CSSCSS Cascading Style Sheets. comment after [53819]#56297
  • Twenty Eleven: Use more specific CSS selectors for .required styles – #56297

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

  • Validate cache key in WP_Object_Cache methods – #56198

Code Modernization

  • Let MockClass extend stdClass#56033
  • Remove dynamic properties in Tests_File#56033
  • Remove dynamic properties in Tests_Media_GetPostGalleries#56033
  • Remove dynamic properties in Tests_POMO_PO#56033
  • Remove dynamic properties in Tests_Post_Revisions#56033
  • Remove unused $undefined property in Tests_WP_Customize_Manager#56033
  • Remove unused dynamic property in Tests_WP_Customize_*#56033

Coding Standards

  • Remove extra space in two conditionals – #56134
  • Reorder global cache groups alphabetically for some consistency – #55647
  • Wrap long lines with global cache groups for better readability – #55647
  • Properly escape URLs returned by self_admin_url() calls – #56329
  • Properly escape URLs returned by self_admin_url() calls – #56329

Database

  • Suppress errors when checking the validity of table prefix during installation – #42362

Date/Time

Docs

  • Improve @since notes for some WP_Filesystem_* methods – #51170
  • Improve description for doing_filter() and doing_action()#55646
  • Improve the description of param $list in wp_list_sort() docblockdocblock (phpdoc, xref, inline docs)#56324, #55646
  • Provide a more accurate @return type for get_pages() function – #56330, #55646
  • Remove obsolete comment in object cache tests – #55646, #55652
  • Use third-person singular verbs for function descriptions in WP_REST_Posts_Controller, as per docblocks standards – #55646
  • Various corrections and improvements to inline documentation – #55646
  • Various docblock fixes in wp-admin/includes/image.php class, as per docs standards – #55646
  • Various docblock fixes in wp-includes/blocks.php, as per docs standards – #55646

Editor

  • Safeguard has_blocks() against fatal errors – #55705

Filesystem

  • Rewrite FTPFTP FTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients./FTP Sockets exists() methods to implement a more stable check – #51170, #53318, #39781

Media

  • Correct a misnamed variable when creating sub sizes with multi_resize#55443

Media

  • Remove unused _wp_image_belongs_to_attachment function – #56333
  • Use original image size data for full size secondary mime generation – #55443

Plugins

  • Properly encode query string s parameter in 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 search – #56339

Posts, Post Types

  • Change variable name in wp_set_post_terms() for clarity – #56331
  • Force unique slugs for draft posts – #52422

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.

  • Use latest_id as the array key for the latest revision ID – #55857

Revisions

  • Use wp_get_latest_revision_id_and_total_count() where appropriate – #56279

Rewrite rules

  • Prevent malformed date requests throwing notices – #52252

Script loader

  • Enable resource preloading with rel=’preload’ – #42438

Site Health

  • Improve the wording in plugin and theme version tests – #56134

Sitemaps

  • Prevent 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. provider names throwing errors – #56336

Tests

  • Add a test case with a float value for WP_Object_Cache::is_valid_key()#56198
  • Add a 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 WP_Object_Cache::is_valid_key()#56198
  • Add more test cases for WP_Object_Cache::is_valid_key()#56198
  • Combine test classes for get_edit_term_link() tests – #55652
  • Correct data providers for get_term_link() and get_edit_term_link() tests – #55652
  • Improve the test for not throwing a warning on malformed date queries – #52252, #45513
  • Make the comment cache group persistent in WP_UnitTestCase_Base::flush_cache()#55652
  • Move wp_cache_replace() test to a more appropriate place – #55652
  • Remove the list of global groups in Memcached implementation used in the test suite – #55652
  • Remove the list of non-persistent groups in Memcached implementation used in the test suite – #55652
  • Rename the test class for wp_preload_resources() tests – #42438
  • Simplify the list of global groups in object cache tests – #55647
  • Use named data provider for WP_Object_Cache::is_valid_key() test – #56198

Props

Thanks to the 78 people who contributed to WordPress Core on Trac last week: @costdev (12), @peterwilsoncc (10), @SergeyBiryukov (9), @jrf (7), @audrasjb (7), @mukesh27 (5), @dd32 (4), @tillkruess (3), @spacedmonkey (3), @malthert (3), @desrosj (3), @krishaweb (2), @sabernhardt (2), @johnbillion (2), @azaozz (2), @hellofromTonya (2), @rafiahmedd (1), @martinkrcho (1), @Toro_Unit (1), @boemedia (1), @khag7 (1), @melchoyce (1), @lukecavanagh (1), @karmatosed (1), @hyperbrand (1), @tyxla (1), @h2ham (1), @lazam786 (1), @antonvlasenko (1), @burgiuk (1), @pbearne (1), @rherault (1), @deksar (1), @sumitsingh (1), @maythamalsudany (1), @mdrago (1), @psykro (1), @ironprogrammer (1), @codewhy (1), @blackawxs (1), @mikemanzo (1), @irecinius (1), @Velochicdunord (1), @kovshenin (1), @pento (1), @chriscct7 (1), @flixos90 (1), @RyanMurphy (1), @igrigorik (1), @1naveengiri (1), @giox069 (1), @mkox (1), @afragen (1), @pbiron (1), @Howdy_McGee (1), @colonelphantom (1), @dlh (1), @ovidiul (1), @tremidkhar (1), @mehulkaklotar (1), @nico23 (1), @swissspidy (1), @westonruter (1), @westi (1), @furi3r (1), @aristath (1), @mihai2u (1), @gziolo (1), @praful2111 (1), @jigar-bhanushali (1), @hilayt24 (1), @umesh84 (1), @Presskopp (1), @martin.krcho (1), @Clorith (1), @markjaquith (1), @Denis-de-Bernardy (1), and @rarst (1).

Congrats and welcome to our 19 (!) new contributors of the week: @hyperbrand, @h2ham, @lazam786, @burgiuk, @rherault, @deksar, @maythamalsudany, @mdrago, @codewhy, @blackawxs, @mikemanzo, @irecinius, @Velochicdunord, @RyanMurphy, @igrigorik, @giox069, @colonelphantom, @tremidkhar, @praful2111 ♥️

Core committers: @sergeybiryukov (31), @audrasjb (14), @adamsilverstein (4), @peterwilsoncc (3), @johnbillion (1), @desrosj (1).

#6-1, #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

Media 5.0 Guide

The blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor in WordPress 5.0 brings a much needed refresh to how we interact with media in the editor. 5.0 has provided new features designed to make complex content easier to create, and is built in a way that is now truly “what you see is what you getWhat You See Is What You Get What You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page.”! There are some big changes to where things are, new methods of accessing `classic` functionality, as well as new features you may not even know about. Let’s highlight a few of those!

Where is the add media button?

If you are looking for the add media button for any reason, this can be found in the classic block TinyMCE toolbar labeled “add media”. This button will trigger the media modal.

Gallery Block:

We have improved the Gallery experience with a new block that gives users a truly real time interactive Gallery.

If you need to utilize dynamic galleries that are based on post ID, or if you need to use the `post_gallery` 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., this can still be achieved using the `add media` button located in the classic block TinyMCE toolbar.

Wide Alignment Theme Support:

Some blocks, such as the image block, have the ability to define a “wide” or “full” alignment in the new editor. This is accomplished by adding the `.alignwide` or `.alignfull` classes, respectively, to the image’s wrapper element. A theme can opt-in for this feature by calling: 

add_theme_support( 'align-wide' );

For more information on Wide Alignment, or if you would like to explore the potential markup of images in this context, the documentation has more details.

#5-0 #dev-notes

#media

Block Editor Filters

In WordPress 5.0, the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor is the default editor for all post types that both:

  • When registered (or using add_post_type_support()) declare that they support the editorfeature.
  • When registered, set their show_in_rest setting to true (the default is false).

In the 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/ 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, there are two filters available to determine if a particular post, or a particular post type should use the block editor. gutenberg_can_edit_post, and gutenberg_can_edit_post_type, respectively.

In WordPress 5.0, the equivalent filters are use_block_editor_for_post, and use_block_editor_for_post_type. You can use them like so:

function my_post_filter( $use_block_editor, $post ) {
	$author = get_userdata( $post->post_author );
	if ( 'pento' === $author->user_login ) {
		return (bool) random_int( 0, 1 );
	}

	return $use_block_editor;
}
add_filter( 'use_block_editor_for_post', 'my_post_filter', 10, 2 );

function my_post_type_filter( $use_block_editor, $post_type ) {
	if ( 'my_mystical_post_type' === $post_type ) {
		return false;
	}

	return $use_block_editor;
}
add_filter( 'use_block_editor_for_post_type', 'my_post_type_filter', 10, 2 );
#5-0 #dev-notes

Week in Core, August 9 – 16, 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 [38239-38274]. Here are the highlights:

  • 35 commits
  • 38 contributors
  • 73 tickets created
  • 7 tickets reopened
  • 52 tickets closed
  • WordPress 4.6 released 🎉

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

Bootstrap/Load

  • Bootstrap/Load: Revert 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 Global restoration around advance-cache.php. [38251] [38252] #36819

Build/Test Tools

  • Build/Test Tools: Ensure PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 7.1 is tested on Travis.[38273] #37625

Export

External Libraries

General

  • Docs: Replace some more 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. links with 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.. [38239] #37622, #36993

Help/About

  • Add release video and move images to CDN. [38267] [38268] #37246
  • Third pass for 4.6. Adjust strings. Make strings translatable. Improve margin between copy and images. [38244] #37246
  • Enhance responsive images. [38257] [38258] #35030, #37246
  • Fix punctuation errors in two strings. [38248] [38249] #37246
  • Updates for 4.6. Merge of [38213], [38215], [38234], and [38244] 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".. [38245] #37246

Import

  • Update/Install error messages: do not escape from the template, escape the error message string before inserting it. [38240] [38241] #37623
  • Correct the documentation for the get_sample_permalink filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output., and improve the documentation for the get_sample_permalink() function. [38272] #37682

Post Thumbnails,Post Thumbnails,Post Thumbnails

Script Loader

  • Fix protocol-relative URLs for the preconnect relation type. Props azaozz for review. [38255] #37652

Upgrade/Install

Users

Thanks to @afragen, @azaozz, @azaozz for testing and second sign off, @Clorith, @dd32, @dd32 for review, @dimadin, @DrewAPicture, @DrewAPicture for review, @flixos90, @helen, @hugobaeta, @Ipstenu, @ipstenu for research, @jeremyfelt, @jerrysarcastic, @JerrySarcastic, @joemcgill, @johnbillion, @johnpgreen, @jorbin, @macmanx, @MattyRob, @ocean90, @pento for review, @peterwilsoncc, @petya, @Presskopp, @RoseAppleMedia, @rosso99, @sebastian.pisula for the original patc, @SergeyBiryukov, @stephenharris, @swissspidy, @theMikeD for the initial patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing., @voldemortensen, @westi for investigation, and @wonderboymusic for their contributions!

#4-6, #week-in-core

Week in Core, Jan. 19-26 2016

Welcome back to 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 from January 19th – January 26th, 2016, changesets [36351-36406]. Here are the highlights:

  • 55 commits
  • 44 contributors with props
  • 99 tickets created
  • 10 tickets reopened
  • 86 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on trac timeline for the period above.

Note: If you want to help write the next WordPress Core Weekly summary, check out the schedule over at make/docs and get in touch in the #core-weekly-update SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel.

Code Updates

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 focus style on the Credits screen. Leads and contributing developers will now look nicer when focused. Also, combines adjacent image and text links for the same resource thus simplifying markup and reducing noise for screen reader users. [36406] #34953
  • Accessibility: Improve the color contrast ratio replacing the residual occurrences of the #777 gray. Uses the existing #72777c on white backgrounds and the new #555d66 “dark medium gray” on darker backgrounds. [36396] #35605
  • Fix the color contrast ratio in the login screen. [36395] #31548
  • Remove title attributes from the Menus screen. [36379] #35374

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

  • Pass $clean_taxonomy param to ‘clean_term_cache’ action. [36399] #35611

Comments

  • Fire an action after a comment is removed from object cache. When a comment is removed from the object cache, the clean_comment_cache action is now fired. This provides 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 and theme developers a chance to perform secondary cache invalidation as needed. [36405] #35610
  • In comments list table, $post_id should default to false rather than 0. [36387] #35090
  • Allow comment query results to be limited to comments with comment_post_ID = 0. [36381] #35090
  • Ignore hierarchy in pagination calculation when comment threading is disabled. Merges [36275] to the 4.4 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".. [36362] #8071, #35419
  • Respect all post-related filters in WP_Comment_Query. Merges [36326] to the 4.4 branch. Fixes #35478. [36361] #35478
  • Use the post-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. WHERE clause when querying for comment descendants. Merges [36277] to the 4.4 branch. Fixes #35192. [36357] #35192
  • Always respect $comments array passed to wp_list_comments(). Merges [36276] to the 4.4 branch. [36356] #35175, #35356
  • In comments_template(), don’t run hierarchical queries if comment threading is disabled. Merges [36226] to the 4.4 branch. [36353] #35378

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.

  • Use “(Untitled)” as site title if blogname is empty. Fixes #35579. [36388] #35579
  • Add shift-click on nav menu items in preview to focus on corresponding nav menu item controls in pane. [36383] #32681
  • Hide help toggle button in panel when no description is supplied. This aligns with the .customize-panel-description element which is also excluded if there is no description. [36374] #35540
  • Fix click.preview event handler for jump links and shift+clicks in preview. Fixes #26005. [36371] #32681, #26005
  • Prevent erroneously directing user to login screen when closing. Fixes #35355. [36363] #32637, #35355
  • Respect custom pagination params when using wp_list_comments() in a query 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.. Merges [36324] to the 4.4 branch. [36360] #35402

Documentation

  • Correct return value for is_allowed_http_origin(). [36398] #35607
  • Clarify that mu-plugins can’t be “active” in docs. [36397]
  • Fix parameter documentation ordering in the hook docs for the register_taxonomy_args filter. [36391] #32246

Editor

  • TinyMCE: add inline link dialog. First run. Links the advanced button to the “old” dialog for now. [36384] #33301
  • TinyMCE: remove the srcset and sizes attributes (if any) after replacing or editing an image. [36376] #35434

Emoji

  • Work around a mod_security rule which prevents pages with 4 or more instances of String.fromCharCode( from being served. [36359] #35412

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 the text domain to translate_nooped_plural() calls as well. [36390] #34126
  • Add a test for the add-textdomain.php script. [36389]

Media

  • In _wp_handle_upload(), move ending brace to a new line. [36373] #35565
  • When reusing the initial values from the global MediaElement config object, the config object should first be cloned. Objects in JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. are references that will retain any changes. Fixes #34152. [36364] #34152

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

Plugins

  • Pass data consistently on plugin, networknetwork (versus site, blog) plugin, and network theme screens. [36394] #35335

Query

  • Respect ‘suppress_filters’ when filtering search-related SQL. [36404] #35594
  • Introduce $comment_status and $ping_status params for WP_Query. [36403] #35601
  • Avoid 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. SQL when building ORDER BY clause using long search strings. Merges [36251] to the 4.4 branch. Fixes #35361. [36354] #35361

Quick/Bulk Edit

  • Remove a no more used jQuery loop for unsupported post formats. See #24096. [36375] #23426, #24096, #35564
  • On the Taxonomies screens, prevent a page reload when pressing Enter on a focused field. Merges [36260 to the 4.4 branch. [36355] #35401

Posts, Post Types

  • Allow is_post_type_viewable() to accept a post type name. Previously, it accepted only a post type object. [36402] #35609
  • Add tests for is_post_type_viewable(). [36401] #35609

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.

  • Populate term cache with proper clone of term objects. Merges [36323] to the 4.4 branch. [36358] #35462

Themes

  • Themes: Enhance filtering options for allowed themes on a network. [36366] #28436

TinyMCE

  • Update to 4.3.3. Update the QUnit tests and revert back to testing the non-minified files in /src. [36352] #35539

Upgrade/Install

  • Switch the locking mechanism to using static methods so that it can be accessed from other upgrade-classes. [36370] #34878

Widgets

  • Show the “Clear Inactive Widgets” button only after the 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. with inactive widgets. Merges [36326] to the 4.4 branch. [36369] #35447

Props

Thanks to @5um17, @afercia, @azaozz, @berengerzyla, @birgire, @boonebgorges, @chandrapatel, @chriscct7, @danielbachhuber, @dd32, @dmsnell, @dotancohen, @drebbitsweb, @DrewAPicture, @ericlewis, @Fab1en, @firebird75, @Frozzare, @georgestephanis, @iseulde, @ivankristianto, @jeremyfelt, @jmdodd, @johnjamesjacoby, @johnnypea, @kraftbj, @lamosty, @luciole135, @MattGeri, @michalzuber, @mrahmadawais, @obenland, @ocean90, @pauldewouters, @rob, @salvoaranzulla, @scarinessreported, @SergeyBiryukov, @spacedmonkey, @tahteche, @walbo, @westi, @westonruter, and @wonderboymusic for their contributions!

#4-5, #week-in-core

Dev Chat Summary, February 4th

Agenda

https://make.wordpress.org/core/2015/02/04/dev-chat-agenda-february-4-2015/

Chat Archive

https://wordpress.slack.com/archives/core/p1423083640001782

Decisions, Announcements

  • @drew will lead a NUX working group during the 4.2 cycle. The first chat will be held in #coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-flow next Tuesday at 19:00UTC / 2:00 pm EST.
  • @ryan (hey, that’s me) will attempt to be UXUX User experience lead for 2015. 🙂

Assignments

Links Mentioned

https://make.wordpress.org/core/2015/02/03/new-lead-developers-helen-and-dion/

Screen Shot

https://github.com/MichaelArestad/Press-This/issues

https://core.trac.wordpress.org/ticket/29820

https://core.trac.wordpress.org/ticket/12696

https://core.trac.wordpress.org/ticket/29820#comment:43

https://make.wordpress.org/core/2015/01/26/customizer-transactions-proposal/

https://github.com/xwp/wordpress-develop/pull/61

https://core.trac.wordpress.org/ticket/30988

https://core.trac.wordpress.org/ticket/30936

https://core.trac.wordpress.org/ticket/30937

https://core.trac.wordpress.org/ticket/28599

https://core.trac.wordpress.org/ticket/26504

https://core.trac.wordpress.org/ticket/29079

https://core.trac.wordpress.org/ticket/30589

https://core.trac.wordpress.org/ticket/21616

https://core.trac.wordpress.org/ticket/18946

https://make.wordpress.org/core/2015/02/04/new-chapters-for-ryan-and-westi/

https://www.openhub.net/p/wordpress/contributors?query=&sort=commits

Continue reading

#meeting

New chapters for Ryan and Westi

WordPress lead developers Ryan Boren (@ryan) and Peter Westwood (@westi) started contributing to WordPress more than a decade ago. Ryan and Peter, along with Mark and Matt, served as the foundation for much of the early years.

For some time now, Ryan and Peter have avoided weighing in on technical matters. Very simply, when you aren’t able to be active in development, you know you’re not up to speed, and you realize your words shouldn’t carry the weight that they do. Being able to make this judgment is one of the things that makes both of them such great leaders.

We’ve all been there, at least for particular features or releases. It’s worth noting, for example, that my own time on coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. has been cyclical for years, as sometimes I end up working full time on the security team, maintenance releases, 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/ site, or related projects.

The great thing is, there are a lot of fantastic developers who have stepped up over the last few years to seamlessly fill in the huge holes they’ve left. Some of that culminated in promoting Helen and Dion to lead developer yesterday, and my own promotion three years ago.

When I started contributing, I received a lot of advice and learned a lot from both of them. Peter reviewed a lot of my code and was the guy who would revert my code when I broke something. 🙂 Ryan became my mentor and pushed me to become the engineer I am today.

And so, it is with mixed emotion I share that Ryan and Peter have stepped down as lead developers.

Peter will be moving into a dormant/inactive/emeritus status. We hope to have him back when his life and work allows. In the meantime, you may see him committing a 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. fix here and there, as he is wont to do.

Ryan has been focusing all of his energy on improving UXUX User experience for more than a year, especially for mobile and touch devices, and especially for workflows like media management. So I’m pleased to say he’ll continue to do that: Ryan will be spearheading UX for WordPress in 2015. It’s been a while since we’ve had someone truly focusing on just UX, so this is really exciting.

Along with yesterday’s announcement, the active lead developers are @markjaquith, me, @azaozz, @helen, and @dd32.

Please join me in congratulating Ryan and Peter on an epic run. 🙂

The email used for notifications on Trac is…

The email used for notifications on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. is currently specified in Trac preferences. I’m changing this to pull automatically from your 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/ profile. After this change, there will not be a way to have a separate email address for Trac and any manually specified email address will be overridden.

We need to make this change because, very simply, it’s a better user experience. By killing this extra user preference, it’s one less step users need to set up in order to receive notifications. (And a tighter feedback 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. could possibly boost engagement.)

That will affect about a thousand users we have in the system, probably incidentally for most. But, about 50-100 users might have been deliberately declaring a separate email address; for example 50 users had “trac” appear specifically in their email. Even without a dedicated email, it is trivial to 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. Trac emails; you just might need to make some adjustments.

As you may have noticed, this is part of a series of changes I’ve been making to Trac. I’ll be doing a summary post in a few days outlining everything that has changed.

NOTE: This does not affect wp-trac@lists.automattic.com. If you subscribe to the “firehose” this is not affected.

Edit, 20:23 UTC. This is now enabled. For the moment, the email address will sync when you next visit Trac. Please find me if you have any questions.

#housekeeping, #trac