A Week in Core – February 12, 2024

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 5 and February 12, 2024.

  • 71 commits
  • 245 contributors
  • 82 tickets created
  • 11 tickets reopened
  • 82 tickets closed

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

Code changes

Administration

  • Improve contrast and consistency of focus styles – #51870

Bundled Themes

  • Twenty Fifteen: Add top margin to the File 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. button styles – #58498
  • Twenty Nineteen: Add border-radius to avatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. images in the editor – #59285
  • Twenty Nineteen: Correct line height for Button block – #58443
  • Twenty Nineteen: Restore transition property to a single line – #58443
  • Twenty Sixteen: Add border-radius to avatar images in the editor – #59253
  • Twenty Twenty-Four: Add missing translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. functions to text strings – #60298
  • Twenty Twenty-Four: Prefix the block pattern categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. name – #59839
  • Twenty Twenty-Three: Include Latin-extended characters in DM Sans font files – #59008
  • Twenty Twenty-Two: Prefix the pages block pattern category name – #59839
  • Twenty Twenty: Fix Table block default and custom border colors – #58022
  • Twenty Twenty: Scope .privacy-policy styles to the footer only – #60469
  • Improve focus outline in Twenty Twenty-Four – #60334
  • Cast font URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org functions to string for add_editor_style()#59704

Build/Test Tools

  • Fix 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. pulling local environment containers on Apple silicone – #59930
  • Generate a human-readable HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. coverage report – #60476
  • Make the props bot message shorter – #60417
  • Pin a specific commit for Hosting Test Reporter – #59647
  • Revert [57551]#59647
  • Unpin PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 7.4 from the test coverage workflow – #59647
  • Adjust the 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. key time in wp_scheduled_delete() tests – #59938

Canonical

  • Introduce admin_canonical_url 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.#59545

Coding Standards

  • Add missing fullstop to docblocks in wp-includes/vars.php#41877
  • Replace alias join() in WP_Font_Utils#60473

Editor

  • Add viewScriptModule handling to block.json metadata – #60233
  • Add wakeup magic method to the block bindings registry – #60282
  • Avoid double escaping on value passed for attribute in HTML 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.) processor
  • Expand Block Bindings for button block – #60481
  • Fix block style variation selector generation – #60453
  • Fix typo in FontUtils doc block – #59166
  • Improve code documentation for block bindings – #60282
  • Introduce WP_Block_Bindings_Source class – #60447
  • Make asset file optional for block scripts – #57234
  • Refactor block binding processing and attribute computation – #60282
  • Register the Google Font collection – #59166
  • Show the patterns page for classic themes – #58827
  • Update PHPDocPHPDoc (docblock, inline docs) for block bindings’s context arg – #59743
  • Update pattern overrides attribute format – #60456
  • Update the WordPress packages to 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/ 17.7RC1 – #60315
  • Block 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.: Inject hooked blocks into modified templates and parts – #59646
  • Blocks: Allow reading the script handle from asset files – #60485
  • Interactivity 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.: Integrate Server Directive Processing – #60356
  • Interactivity API: Remove empty file – #60356

Filesystem API

  • Fix typo in ftp_base::restore()#60497

General

  • Add an option to configure the site icon in general settings – #54370, #16434
  • Remove ableist language from code comments – #60247

HTML API

  • Add subclassed has_bookmark() and fix seek() – #60474
  • Join text nodes on 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.-tag-name boundaries – #60385

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 Translator comments for Planet URLs – #58010

Media

  • Update progress spinner position on small screens – #33049
  • enable control of progressive image output – #21668

Networks and Sites

  • Improve switch_to_blog() docblockdocblock (phpdoc, xref, inline docs)#60332

Permalinks

  • Detect Caddy web server support – #41877

Plugins

  • Store 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 deletion results in temporary option – #59433

Quick/Bulk Edit

  • Pre-fill category fields with their status – #11302

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 featured_media field to attachments endpoint – #41692
  • Improve error handling in REST meta fields – #48823
  • Introduce the necessary endpoints for the font library – #59166
  • Provide detailed error data in REST API response – #60014

Script Loader

  • Add a timezone offset display value to wp.date.setSettings – #60105
  • Improve translators comments for wp.date.setSettings in compat file – #60412
  • always output core block global styles after base global styles – #60280
  • Add deregister module function – #60463

Shortcodes

  • Always return an array in shortcode_parse_atts()#59249

Themes

  • Add ‘theme_files’ cache group to block pattern cache operations – #60120
  • update add_theme_support docblock – #60221

Toolbar

  • Add adminbar link for new sites in networknetwork (versus site, blog) installs – #41104

Upgrade/Install

  • Avoid update_option() calls during bootstrap – #60461, #60457, #60491
  • Upgrade/Install: Introduce Plugin Dependencies – #22316
  • Micro-optimizations for getting plugin_file in plugins loader 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.#60510
  • Remove unnecessary individual subfiles from $_old_files array – #58995

Users

  • Replace table tags for color palettes in profiles – #53157

Props

Thanks to the 245 (!!) people who contributed to WordPress Core on Trac: @gziolo (14), @mukesh27 (13), @swissspidy (13), @sabernhardt (13), @poena (12), @shailu25 (11), @huzaifaalmesbah (9), @youknowriad (8), @oglekler (7), @joedolson (7), @jorbin (7), @audrasjb (7), @spacedmonkey (6), @SergeyBiryukov (6), @dmsnell (6), @get_dave (6), @hellofromTonya (5), @afercia (5), @kebbet (5), @harshgajipara (5), @johnbillion (5), @costdev (4), @nicolefurlan (4), @jonsurrell (4), @czapla (4), @TimothyBlynJacobs (3), @karmatosed (3), @pbiron (3), @desrosj (3), @afragen (3), @azaozz (3), @luisherranz (3), @dingo_d (2), @mikeschroder (2), @andraganescu (2), @johnjamesjacoby (2), @rajinsharwar (2), @nidhidhandhukiya (2), @cbravobernal (2), @dd32 (2), @wildworks (2), @pooja1210 (2), @wasiur195 (2), @scribu (2), @ajmcfadyen (2), @peterwilsoncc (2), @pitamdey (2), @santosguillamot (2), @isabel_brison (2), @bernhard-reiter (2), @mcsf (2), @ocean90 (2), @aaronrobertshaw (2), @sadpencil (1), @cfinnberg (1), @viliamkopecky (1), @ecc (1), @rcorrales (1), @cvorko (1), @flixos90 (1), @joemcgill (1), @adamsilverstein (1), @_ck_ (1), @markoheijnen (1), @Japh (1), @pmeenan (1), @derekspringer (1), @buley (1), @ericlewis (1), @bahia0019 (1), @born2webdesign (1), @kushang78 (1), @timothyblynjacobs (1), @wonderboymusic (1), @dlh (1), @obenland (1), @jameskoster (1), @kjellr (1), @stacimc (1), @h71 (1), @krupajnanda (1), @jordesign (1), @monzuralam (1), @hrrarya (1), @fnpen (1), @mhshohel (1), @bedas (1), @jeremyfelt (1), @prionkor (1), @matveb (1), @benniledl (1), @jsnajdr (1), @mnydigital (1), @onemaggie (1), @luminuu (1), @pouicpouic (1), @ugyensupport (1), @jivygraphics (1), @sumitbagthariya16 (1), @kkmuffme (1), @talldanwp (1), @dartiss (1), @upadalavipul (1), @manfcarlo (1), @mayur8991 (1), @panchalhimani711 (1), @itpathsolutions (1), @thakordarshil (1), @Ankit-K-Gupta (1), @darshitrajyaguru97 (1), @pavelevap (1), @chasedsiedu (1), @helen (1), @joshcanhelp (1), @ubernaut (1), @Cyberchicken (1), @laumindproductscomau (1), @Marcoevich (1), @tomybyte (1), @thinkluke (1), @virtality-marketing-solutions (1), @Michalooki (1), @itecrs (1), @pannelars (1), @WHSajid (1), @samba45 (1), @Mte90 (1), @tomluckies (1), @soulseekah (1), @francina (1), @webcommsat (1), @balub (1), @sarathar (1), @glendaviesnz (1), @up1512001 (1), @zodiac1978 (1), @davidbinda (1), @westonruter (1), @retrofox (1), @joefusco (1), @colorfultones (1), @acosmin (1), @alh0319 (1), @beafialho (1), @javiercasares (1), @mmaattiiaass (1), @grantmkin (1), @oandregal (1), @ajlende (1), @ahoereth (1), @alanfuller (1), @alexkingorg (1), @amykamala (1), @anonymized_10690803 (1), @apeatling (1), @ashfame (1), @atimmer (1), @aristath (1), @batmoo (1), @beaulebens (1), @blobaugh (1), @bobbingwide (1), @boonebgorges (1), @brianhenryie (1), @chanthaboune (1), @chrisdavidmiles (1), @coolmann (1), @courane01 (1), @danielbachhuber (1), @davidperez (1), @Denis-de-Bernardy (1), @DJPaul (1), @dougal (1), @DrewAPicture (1), @ethitter (1), @filosofo (1), @georgestephanis (1), @giuseppemazzapica-1 (1), @goldenapples (1), @griffinjt (1), @husobj (1), @ideag (1), @jarednova (1), @jbobich (1), @jbrinley (1), @jltallon (1), @johnciacia (1), @joppuyo (1), @jsmoriss (1), @knutsp (1), @kraftbj (1), @kraftner (1), @kurtpayne (1), @lkraav (1), @logikal16 (1), @man4toman (1), @markjaquith (1), @matt (1), @mbijon (1), @megphillips91 (1), @mikeschinkel (1), @mordauk (1), @morehawes (1), @mrwweb (1), @mte90 (1), @mzaweb (1), @nacin (1), @norcross (1), @nvwd (1), @nwjames (1), @obliviousharmony (1), @paaljoachim (1), @pauldewouters (1), @pbaylies (1), @Philipp15b (1), @pogidude (1), @retlehs (1), @rmccue (1), @ryan (1), @sabreuse (1), @sc0ttkclark (1), @sereedmedia (1), @ShaneF (1), @shidouhikari (1), @soean (1), @stephenh1988 (1), @taylorde (1), @tazotodua (1), @threadi (1), @TJNowell (1), @tollmanz (1), @toscho (1), @tropicalista (1), @Viper007Bond (1), @westi (1), @whiteshadow (1), @williamsba1 (1), @wpsmith (1), @ZaneMatthew (1), @noisysocks (1), @kevin940726 (1), and @fabiankaegy (1).

Congrats and welcome to our 28 (!!) new contributors of the week: @sadpencil, @cfinnberg, @viliamkopecky, @ecc, @cvorko, @pmeenan, @derekspringer, @born2webdesign, @kushang78, @hrrarya, @fnpen, @mhshohel, @benniledl, @mnydigital, @up1512001, @alh0319, @anonymized_10690803, @blobaugh, @chrisdavidmiles, @giuseppemazzapica-1, @jltallon, @johnciacia, @logikal16, @pbaylies, @Philipp15b, @pogidude, @tropicalista, @whiteshadow ♥️

Core committers: @gziolo (11), @youknowriad (10), @sergeybiryukov (8), @audrasjb (7), @joedolson (7), @swissspidy (5), @desrosj (5), @spacedmonkey (3), @jorbin (3), @costdev (3), @hellofromtonya (2), @dmsnell (2), @isabel_brison (2), @adamsilverstein (1), @davidbaumwald (1), and @bernhard-reiter (1).

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

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

  • 73 commits
  • 118 contributors
  • 51 tickets created
  • 4 tickets reopened
  • 72 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 🛠

Because of the WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US and its Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/., this week was particularly busy: lots of commits, lots of new contributors ♥️

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

Code changes

Build/Test Tools

  • Always use the amd64 images for MariaDB and MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. on the local development environment – #56528
  • Consistently create a post fixture in old date or slug redirect tests – #55652
  • Consistently set the current user in the tests for retaining a sticky status – #55652
  • Correct magic methods in Basic_Object#56514
  • Correct the cache invalidation tests for old date or slug redirect – #55652
  • Correct the tests for Site Health SQL versions matching readme.html#55791
  • Correctly use the factory method – #55652
  • Do not allow tests to fail for select PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 test runs – #55656, #55652
  • Move Site Health 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. class to phpunit/tests/admin/#55652
  • Prevent an Ajax test for IMAGE_EDIT_OVERWRITE from being marked as risky – #55652
  • Remove magic methods from WP_UnitTestCase_Base (without a backward compatibility break) – #56514
  • Remove redundant function_exists() check in a term_is_ancestor_of() test – #55652
  • Set the current user to Editor in test_utf8mb3_post_saves_with_emoji()#55652
  • Temporarily skip the test for recommended PHP version in readme.html#55652
  • Use the default GITHUB_TOKEN instead of a personal access token – #55652
  • Use the factory method instead of the property – #55652
  • Prevent using unsupported NPM versions – #56547

Bundled Themes

  • Twenty Fifteen: Increase the font size used for h5 headings – #52028
  • Twenty Nineteen: Add font smoothing to editor styles – #45909
  • Twenty Seventeen: Ensure long text wraps correctly in 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.#55783
  • Twenty Twenty-One: Remove spacer block styles – #56222
  • Twenty Twenty: Add a missing border to button-style links with Outline style – #55824

Code Modernization

  • Add AllowDynamicProperties attribute to all (parent) classes – #56513, #56034
  • Pass correct value to parse_url() in WP_Customize_Manager::get_return_url()#55656
  • Replace deprecated string interpolation patterns – #55787

Coding Standards

  • Clarify time units for various timeout or expiration values – #56293, #55647
  • Use more meaningful variable names for output in the adminadmin (and super admin)#56448, #55647
  • Use more meaningful variable names in WP_Users_List_Table#56448, #55647

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

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

  • Remove unnecessary optimization getting ready events – #56092

Customize

  • Prevent JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error in 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. when selective refresh is enabled – #39451
  • Use Semantically correct function – #56285

Date/Time

  • Cast extracted strings to integers in wp_resolve_post_date()#54186

Docs

  • Add a @since note for the update_network_meta_cache parameter of WP_Network_Query::__construct()#55646
  • Clarify wp-includes/update.php main docblockdocblock (phpdoc, xref, inline docs) description – #55646
  • Correct @global tags in WP_User_Query::prepare_query()#56543
  • Simplify a comment in WP_Network_Query::get_networks() and WP_Site_Query::get_sites()#55646
  • Various docblock fixes in Site Health related files, as per documentation standards – #55646
  • Various docblock fixes in wp-includes/update.php, as per documentation standards – #55646

Editor

  • Add new render property in block.json for block types – #53148
  • Add support for heading, button, and caption elements – #56467
  • 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. Elements API updates – #56467
  • 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
  • Preload settings and templates permissions – #56467
  • Refresh nones for metaboxes after reauthentication – #52584
  • Update single default template description – #56534
  • Update duotone block supports to allow unset for preset colors – #56467

Embeds

  • Add Google Data Studio as a trusted oEmbed provider – #55771

KSES

  • Allow min(), max(), minmax(), and clamp() values to be used in inline CSSCSS Cascading Style Sheets.#55966
  • Allow min(), max(), minmax(), and clamp() values to be used in inline CSS – #55966
  • Allow assigning values to CSS variables – #56353
  • Allow more layout-related CSS properties – #56122
  • Revert [54092] for now to address unit test failures – #55966

Media

  • Add muted property for video elements – #54788
  • Call update_post_parent_caches function in WP_Media_List_Table class – #56036
  • Generate WebP only for certain registered image sizes – #56526, #55443, #56288
  • Move wp_default_image_output_mapping() 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. callback to frontend scope – #55443, #56526
  • Output WebP by default when uploading JPEGs – #55443
  • revert the multi-mime feature – #55443

Networks and Sites

  • Use metadata api in *_network_options functions – #37181

Posts, Post Types

  • Call update_post_author_caches function in WP_Posts_List_Table class – #56100

Query

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 searching resources by id – #56546
  • Add support for settings to specify their own additionalProperties – #56493
  • Add the missing site_icon_url to the index – #56467
  • Block autosaving from overwriting changes when locked from editing – #55659
  • Introduce _pretty query parameter to opt in to JSON_PRETTY_PRINT – #41998
  • Use helper functions for building routes in more places – #56472

Script Loader

  • Pass startOfWeek setting to wordpress/date – #56467

Site Health

Widgets

  • Store default options for uninitialized widgets – #54677

Props

Thanks to the 118 (!) people who contributed to WordPress Core on Trac last week: @costdev (17), @jrf (12), @peterwilsoncc (9), @sabernhardt (7), @mukesh27 (7), @bernhard-reiter (7), @spacedmonkey (6), @audrasjb (6), @SergeyBiryukov (5), @flixos90 (4), @andrewserong (4), @cbravobernal (4), @Mamaduka (4), @ramonopoly (4), @hellofromTonya (3), @swissspidy (3), @aristath (3), @zieladam (3), @TimothyBlynJacobs (3), @scruffian (3), @noisysocks (3), @poena (3), @adamsilverstein (3), @andraganescu (2), @joyously (2), @Chouby (2), @isabel_brison (2), @uxl (2), @johnregan3 (2), @get_dave (2), @johnbillion (2), @desrosj (2), @kadamwhite (2), @afercia (2), @azaozz (2), @joedolson (2), @laurelfulford (1), @johnjamesjacoby (1), @jeremyfelt (1), @mikachan (1), @pento (1), @madhudollu (1), @mohitdadhich10 (1), @sc0ttkclark (1), @mrfoxtalbot (1), @umesh84 (1), @russel07 (1), @pratiweb (1), @burhandodhy (1), @alansyue (1), @viralsampat (1), @bph (1), @dd32 (1), @jeawhanlee (1), @gmovr (1), @antpb (1), @alaca (1), @aezazshekh (1), @thakkarhardik (1), @eugenemanuilov (1), @joegrainger (1), @czapla (1), @withinboredom (1), @ndiego (1), @Joen (1), @jorgefilipecosta (1), @ajlende (1), @hiren1094 (1), @jameskoster (1), @ntsekouras (1), @bgardner (1), @anitanenova (1), @robertghetau (1), @afrid1719 (1), @anna.bansaghi (1), @Viper007Bond (1), @Benouare (1), @prokium (1), @joemcgill (1), @primetimejas (1), @chanthaboune (1), @sathyapulse (1), @jhart35 (1), @fabiankaegy (1), @danielbachhuber (1), @matveb (1), @welcher (1), @luisherranz (1), @knutsp (1), @markjaquith (1), @ayeshrajans (1), @juliemoynat (1), @kebbet (1), @kamig478 (1), @chrisguitarguy (1), @rmccue (1), @akabarikalpesh (1), @bhrugesh12 (1), @lev0 (1), @mvraghavan (1), @robinwpdeveloper (1), @rudlinkon (1), @GaryJ (1), @krupalpanchal (1), @arrasel403 (1), @hztyfoon (1), @dpcalhoun (1), @hilayt24 (1), @mmaattiiaass (1), @onemaggie (1), @shoaibkarimali (1), @Drivingralle (1), @LinSoftware (1), @rcorrales (1), @greenshady (1), @nikeo (1), @dlh (1), and @Presskopp (1).

Congrats and welcome to our 21 (!!) new contributors of the week: @uxl, @madhudollu, @mohitdadhich10, @russel07, @jeawhanlee, @alaca, @eugenemanuilov, @joegrainger, @hiren1094, @anitanenova, @afrid1719, @annabansaghi, @prokium, @primetimejas, @jhart35, @kamig478, @mvraghavan, @arrasel403, @shoaibkarimali, @LinSoftware, @rcorrales ♥️

Core committers: @sergeybiryukov (35), @audrasjb (11), @timothyblynjacobs (3), @spacedmonkey (3), @peterwilsoncc (3), @adamsilverstein (2), @flixos90 (2), @jorbin (2), @antpb (2), @westonruter (1), @swissspidy (1), @joemcgill (1), @kadamwhite (1), @desrosj (1), @helen (1), @johnbillion (1), @clorith (1), @gziolo (1), @noisysocks (1).

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

A Week in Core – February 28, 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 21 and February 28, 2022.

  • 24 commits
  • 46 contributors
  • 66 tickets created
  • 6 tickets reopened
  • 50 tickets closed

Last week, the Core Team rolled out the WordPress 5.9.1 Maintenance Release 🚀

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

  • Consistency fixes on keyboard shortcuts instructions – #40582
  • Further enhancements on small text fields after [52649]#50177

Code Modernization

  • Check the return type of wp_parse_url() in wp_mail()#54730

Docs

  • Add missing descriptions for some parameters of WP_Walker::paged_walk()#55225
  • Correct return type for get_block_metadata_i18n_schema()#55243, #54729
  • Correct return type for get_post_custom()#55249, #54729
  • Use third-person singular verbs for function descriptions in wp-includes/formatting.php#54729

External Libraries

  • Upgrade PHPMailer to version 6.6.0 – #55277

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

  • Include the ssh-ed25519 public key signature algorithm as an alternative to ssh-rsa#52409

Formatting

  • Make terms in wpautop() and shortcode_unautop() more welcoming and inclusive – #25615

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

  • Make get_post_galleries() only return galleries – #55203
  • Stop arrow keys switching media if URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org focused – #43202
  • Use consistent mirroring check in media views – #53856

Plugins

  • Add focus style to 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 icon link in plugin cards – #45209

Query

  • Correct the “matched rule” condition in WP::parse_request()#55222

Query

  • Preinitialize the WP class properties to their default values – #55222

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

  • Pass WP_REST_Request object to the rest_index 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.. – #48638.

Tests

  • Add a @ticket reference for the current_theme_supports-{$feature} filter test – #54725
  • Rename the $success variable to $result in the wp_mail() test for an empty home URL – #54730

Themes

  • Avoid undefined variable warning on get_svg_filters()#55241
  • Remove the Live Preview link when installing 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 from a zip archive – #54578

Props

Thanks to the 46 people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (7), @audrasjb (5), @hellofromTonya (3), @jrf (2), @afercia (2), @jeremyfelt (2), @ironprogrammer (2), @sabernhardt (2), @dd32 (2), @hasanuzzamanshamim (1), @chouby (1), @bhrugesh12 (1), @jrivett (1), @joemcgill (1), @rafiahmedd (1), @aliakseyenkaihar (1), @TimothyBlynJacobs (1), @hitendra-chopda (1), @themattroyal (1), @imokol (1), @ricomoorman (1), @tzipporahwitty (1), @peterwilsoncc (1), @Viper007Bond (1), @Spacedmonkey (1), @BinaryMoon (1), @johnregan3 (1), @richybkreckel (1), @miken32 (1), @malthert (1), @johnbillion (1), @knutsp (1), @ocean90 (1), @Presskopp (1), @joyously (1), @MMDeveloper (1), @glendaviesnz (1), @alanjacobmathew (1), @antonvlasenko (1), @kebbet (1), @pyrobd (1), @dennisatyoast (1), @azouamauriac (1), @Synchro (1), @costdev (1), and @rmccue (1).

Congrats and welcome to our 10 (!) new contributors of the week: @bhrugesh12, @jrivett, @aliakseyenkaihar, @themattroyal, @imokol, @ricomoorman, @tzipporahwitty, @richybkreckel, @miken32, and @dennisatyoast ♥️

Core committers: @sergeybiryukov (10), @audrasjb (10), @joedolson (2), @spacedmonkey (1), and @hellofromtonya (1).

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

A Week in Core – November 16, 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 November 9 and November 16, 2020.

  • 30 commits
  • 114 contributors
  • 39 tickets created
  • 8 tickets reopened
  • 46 tickets closed

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

Code changes

Administration

  • Make sure auto-update counts properly update when bulk deleting plugins or themes – #50870

Application Passwords

  • Unify availability language – #51513
  • Further 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) improvements – #51580
  • Include authorization rewrite rule in default 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 htaccess – #51772
  • MOAR accessibility improvements – #51580

Build/Test Tools

  • Only enforce PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher extension requirements when running core tests – #50640
  • Tests QUnit: Remove restriction on running the TinyMCE Textpattern WP 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 tests in PhantomJS – #42009
  • Clean up the new contributor welcome message – #50401

Bundled Themes

  • Introduce 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. patterns for Twenty Seventeen – #51100
  • Introduce block patterns for Twenty Sixteen – #51101
  • Twenty Nineteen: Remove unnecessary references to some variables in twentynineteen_hsl_hex() before they are defined – #49052
  • Twenty Twenty-One: Merge the latest changes changes from 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/ for 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. 4 – #51526

Canonical

  • Prevent ID enumeration of private post slugs – #5272

Customize

  • Temporary fix for autosave restore notice not being removed – #51425
  • Ensure multiple CSSCSS Cascading Style Sheets. classes are passed to nav_menu_link_attributes as an array – #43113
  • Exclude 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. ID attributes from search – #46456

Database

  • Clean up the post_category column removed from DB schema for new installations in WordPress 28 – #51288

Documentation

  • For clarity, add some information about the return types of get_option()#51278
  • Add missing descriptions for _WP_List_Table_Compat methods – #46842
  • Add missing descriptions for Automatic_Upgrader_Skin methods – #44546
  • Clarify that get_pages() returns an array of pages, not an HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. list – #39049
  • Correct the Chocolatey package name for Node in the local environment setup instructions – #51414
  • Add missing full stop for a comment in create_initial_rest_routes()#51788

Editor

  • Update WordPress packages for RC1 – #51793
  • Move pre_render_block, render_block_data, render_block_context#51612
  • Update packages – #51696
  • Display short description from block directory in results – #51212

Embeds

  • Document $args in wp_oembed_get()#51269

Feeds

  • Don’t treat media URLs with fragments as unique for enclosures – #47421
  • Add an early exit when calling RSS functions directly – #35835
  • Register transient feed cache handler using the recommended method for SimplePie 13 or later – #29204

General

  • Convert wp_array_get() to a “private” function and add tests – #51720
  • Code Modernization: Only call libxml_disable_entity_loader() in PHP < 8 – #50898

Help/About

  • Add Site Health Status dashboard widget to the Help → Content tab – #51745

Internationalization

  • Remove HTML tags from translatable strings on WordPress Updates screen – #51742

Media

  • Avoid fatal error in wp_prepare_attachment_for_js()#51791
  • Allow users to switch from media grid to list mode in media library – #51396
  • Adjust box-sizing for audio players – #51685
  • Adjusts alignment of file name text in browser uploader – #41648
  • Improve count in Media Library pagination – #39968

Multisite

  • More consistency for clean_dirsize_cache()#19879

Permalinks

Plugins

  • Make sure the HTML ID attributes for plugin checkboxes are unique – #51256

Upgrade/Install

  • Account for the automatic_updater_disabled 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. in core auto-update settings UIUI User interface#51742
  • Better UI for auto-update settings on update screen – #51742
  • Enable all core autoupdates for new installs – #51743

Widgets

  • Do not use wrapping container in the adminadmin (and super admin) – #19709

Props

Thanks to everyone who contributed to WordPress Core last week:

@audrasjb (8), @SergeyBiryukov (8), @dd32 (5), @sabernhardt (5), @helen (4), @hellofromTonya (4), @TimothyBlynJacobs (4), @desrosj (4), @johannadevos (4), @ryelle (3), @kjellr (3), @poena (3), @dlh (3), @bridgetwillard (2), @beafialho (2), @pbiron (2), @melchoyce (2), @justinahinon (2), @noisysocks (2), @afercia (2), @azaozz (2), @karmatosed (2), @alexstine (2), @mista-flo (2), @onemaggie (2), @nacin (2), @peterwilsoncc (2), @isabel_brison (2), @ocean90 (2), @mukesh27 (2), @rogerlos (1), @kburgoine (1), @archduck (1), @dossy (1), @mopsyd (1), @Mte90 (1), @dshanske (1), @whyisjake (1), @subscriptiongroup (1), @andystitt829 (1), @thefarlilacfield (1), @jfoulquier (1), @fabifott (1), @joedolson (1), @NathanAtmoz (1), @HoaSi (1), @l3rady (1), @ravipatel (1), @samful (1), @Viper007Bond (1), @OptimizingMatters (1), @lpointet (1), @tzafrir (1), @pishmishy (1), @nlpro (1), @donmhico (1), @Denis-de-Bernardy (1), @Ipstenu (1), @bph (1), @joostdevalk (1), @andraganescu (1), @justlevine (1), @roikles (1), @krupajnanda (1), @mikeschroder (1), @MadtownLems (1), @stulab (1), @aaroncampbell (1), @lucagrandicelli (1), @ayeshrajans (1), @Pillai (1), @useStrict (1), @flymike (1), @ReneHermi (1), @ankitmaru (1), @gziolo (1), @gaambo (1), @david.binda (1), @rebasaurus (1), @williampatton (1), @zodiac1978 (1), @TheGP (1), @swissspidy (1), @thib3113 (1), @hellofromtonya (1), @jrf (1), @johnbillion (1), @Toro_Unit (1), @karthikbhatb (1), @hareesh-pillai (1), @kishanjasani (1), @SaeedFard (1), @dilipbheda (1), @ComputerGuru (1), @luminuu (1), @markoheijnen (1), @Senning (1), @afragen (1), @donsony (1), @jamescollins (1), @davidbaumwald (1), @leogermani (1), @aristath (1), @Hareesh (1), @ben.meredith@gmail.com (1), @jorgefilipecosta (1), @jffng (1), @marybaum (1), @hedgefield (1), @fierevere (1), @markparnell (1), @pbearne (1), @ovenall (1) and @jeffpaul (1).

Core committers: @sergeybiryukov (17), @helen (8), @noisysocks (4), @timothyblynjacobs (4), @antpb (4), @desrosj (3), @johnbillion (3), @peterwilsoncc (2), @whyisjake (1) and @azaozz (1).

#core-editor, #week-in-core

Week In Core, June 15 – June 22 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 [37720-37800]. Here are the highlights:

  • 80 commits
  • 33 contributors
  • 26 tickets created
  • 9 tickets reopened
  • 37 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

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)

  • Theme Installer, make the “Upload Theme” button… a button. [37742] #35457
  • Remove the ARIA roles from the wp.a11y.speak() live regions. [37734] #36289

Adminadmin (and super admin)

Autosave

  • improve the notice when the sessionStorage autosave is different than the content. [37737] #37025

Build/Test Tools

Comments

  • Wrap or unwrap the List Table comment_date as comment status changes via Ajax. Introduced in [36521]. [37743] #36742

Customize

  • Make sure that preview and return URLs are URLs. Merges [37527] to supported branches. [37780] [37778] [37777] [37775] [37773] [37772] [37770] [37769] [37768]
  • Separate preview and actions in the site icon control. Reverts [37456]. Merge of [37724] to the 4.5 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".. [37725] #36749
  • Separate preview and actions in the site icon control. Reverts [37456] [37724] #36749

Docs

  • Clarify documentation for wp_logout_url() and wp_login_url() and corresponding 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.. [37753] #34352
  • Improve the summaries and return descriptions for get_registered_nav_menus() and get_nav_menu_locations(). [37752] #37106
  • Add a missing summary and @since version to the DocBlockdocblock (phpdoc, xref, inline docs) for WP_MS_Sites_List_Table::prepare_items(). [37739] #36675, #21837, #24833, #33185

Editor

  • Add white outline for contrast on darker backgrounds. Change red colour in toolbar. [37751] #36638
  • after inserting a link detect if the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org is broken, first run. [37741] #36638

Embeds

External Libraries

Grunt

  • when running precommit use regex to check which files have been modified. [37749] #36528

L10NL10n Localization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales.

  • Add unit tests for the override_load_textdomain 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.. [37746] #36398

Media

  • Use the correct variable for the file object. [37728] #14244
  • Pass allowed file extensions to Plupload. [37727] #14244
  • properly refresh the position of the Plupload shim so it moves over the Select Files button or off the screen. Fixes #37039. [37722] #37039

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

Permalinks

Posts

  • Unifies the APIs for getting a post’s modified date or time with getting a post’s date or time. [37738] #37059

Query

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

  • Include X-Robots-Tag: noindex 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. in REST API responses to prevent endpoints from being indexed by search engines. [37726] #36390

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.

  • Change the capability needed to view revision diffs to edit_post. Merges [37779] to supported branches. [37799] [37797] [37796] [37791]
  • Change the capability needed to view revision diffs to edit_post. [37779]

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.

Media

  • Improve handling of extensionless filenames. This ensures files retain a filename after sanitization. [37756]
  • Restore keyboard navigation of the media grid. [37755] #36900

Menus

  • Support nested array variables in POST data when saving menus. Merge of [37748] and [37750] to the 4.5 branch. [37754] #36590, #14134
  • Fix _wp_expand_nav_menu_post_data() for PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 5.2. [37750] #36590
  • Support nested array variables in POST data when saving menus. [37748] #36590, #14134

Props

Thanks to @adamsilverstein, @afercia, @akibjorklund, @azaozz, @boonebgorges, @coderste, @coffee2code, @dlh, @DrewAPicture, @ericlewis, @Fab1en, @flixos90, @helen, @imath, @iseulde, @jeremyfelt, @joemcgill, @jorbin, @kraftbj, @lukecavanagh, @m_uysl, @nbachiyski, @neverything, @ocean90, @peterwilsoncc, @polevaultweb, @Props, @rabmalin, @rachelbaker, @rockwell15, @Soean, @swissspidy, and @Viper007Bond for their contributions!

#4-5, #week-in-core

Week in Core: Sept. 21-27, 2015

Oh Snap!, it’s time to usher in a new edition of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.! If you have the time, throw a house party with some friends and read the full force of changes on Trac; if not, don’t sweat it — take simple pleasure in these highlights.

This post covers changesets [34362][34658], committed during Sept. 21–27, 2015. Let’s give a hi-five and some TLC to the 102 contributors for a combined 296 updates! Together, we’re making WordPress nice & smooth.

Continue reading

#4-4, #week-in-core

WordPress Core Weekly – Aug. 24-30, 2015

Welcome back to the weekly coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. development recap post, with highlights from TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. changesets and other development updates for 4.4. This week’s update covers changesets [33721][33820], Aug. 24-30, 2015. That’s a lot of changes, but there are a few that developers need to be especially aware of:

  • File restructuring: new class and functions files have been introduced, and existing files used as loaders for the new files for backwards compatibility.
  • File and class documentation enhancements: ensuring every file gets a standard file 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., even if that file only contains a class that is itself documented.
  • Switching themes now takes menu locations into account so the new theme (maybe) gets the locations of the current theme.
  • New 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. introduced: 'invite_user' (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 users) and 'wp_verify_nonce_failed'.
  • The Twenty Sixteen theme is being developed on GitHub.

Now on to the firehose…

Administration

  • Bump h3 headings to h2 on various adminadmin (and super admin) screens for better 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):
  • Networknetwork (versus site, blog) Admin: Hide the bulk actions checkbox for super admins. [33777] #28529
  • Avoid PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notices in redirect_canonical() and _wp_menu_item_classes_by_context() if $_SERVER['HTTP_HOST'] is not set. [33775] #32229

General

  • Remove error from the query variables when cleaning up a URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in wp_admin_canonical_url(). [33770] #32847
  • Prevent unintended password change after clicking “Generate Password” and then “Cancel” when editing a user profile. [33766] #33419
  • When wp_json_encode() calls json_encode(), the latter will generate warnings if the string contains non-UTF-8 characters. No one likes warnings, so we need to do something about that. [33747] #33524
  • Add oEmbed support for ReverbNation. [33745] #33207
  • Remove rounded corners from “Choose from the most used tags” result in Tags 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. box. [33742] #31560
  • Add some more data for 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. unit tests. [33740] #33455
  • Allow these CSSCSS Cascading Style Sheets. properties in KSES: min-height', 'max-height', 'min-width', 'max-width' [33739] #31949
  • Pass option name to option and transient filters with dynamic names. [33738] #28402
  • In get_home_url(), import the $pagenow global to avoid having to check if it exists before comparing against it. [33736] #33545
  • In WP_Users_List_Table::single_row(), $actions is not always set before being used. [33735] #33491
  • foreach is a statement, not a function. [33734] #33491
  • Instead of [33713], allow WP_Posts_List_Table::get_bulk_actions() to check edit_posts AND delete_posts. [33733] #29789
  • TinyMCE: ensure the wordpress 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 is loaded before calling _createToolbar(). [33728] #33393
  • With a few modifications in wp-admin/menu.php, we can eliminate the extra logic for Post and Page menu registration. Instead, they can just declare menu_position on post type registration. [33723] #16865
  • WP_Query: add changelog for the title param after [33706] [33722] #33074

Restructured some files for separation of purpose, so class files only contain classes, functions files only contain functions, and the existing file loads the new files for backwards compatibility.

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.

Move WP_Tax_Query into class-wp-tax-query.php and functions into taxonomy-functions.php; taxonomy.php contains only top-level code and loads the new files. [33760] #33413

Posts

Move WP_Post into class-wp-post.php and functions into post-functions.php. post.php contains only top-level code and loads the new files. [33759] #33413

Roles

Move classes into their own files, and functions into its own:

  • class-wp-roles.php
  • class-wp-role.php
  • class-wp-user.php
  • capbilities-functions.php

capbilities.php contains only top-level code and loads the new files. [33752] #33413

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.

Move classes into their own files and functions into its own:

  • class-wp-http-cookie.php
  • class-wp-http-curl.php
  • class-wp-http-encoding.php
  • class-wp-http-proxy.php
  • class-wp-http-streams.php
  • http-functions.php

http.php contains only top-level code and loads the new files, so this is 100% BC if someone is loading http.php directly.

class-http.php requires functions from http.php, so loading it by itself wouldn’t have worked.

WP_Http remains in class-http.php. [33748] #33413

Meta

Move WP_Meta_Query into class-wp-meta-query.php and functions into meta-functions.php. meta.php contains only top-level code and loads the new files. [33761] #33413

Rewrite

Move WP_Rewrite into class-wp-rewrite.php, functions into rewrite-functions.php, and constants into rewrite-constants.php. rewrite.php contains only top-level code and loads the new files.

The rewrite functions have all kinds of cross-dependencies (like WP_Query), so loading the file by itself would have been bizarre (and still is). [33751] #33413

Comments

Move WP_Comment_Query into class-wp-comment-query.php, and functions into comment-functions.php. comment.php contains only top-level code and loads the new files. [33750] #33413

Users

Move WP_User_Query into class-wp-user-query.php and functions into user-functions.php. user.php contains only top-level code and loads the new files. [33749] #33413

Widgets

Move classes and functions into their own files:

  • class-wp-widget.php
  • class-wp-widget-factory.php
  • widget-functions.php

widgets.php contains only top-level code and loads the new files. [33746] #33413

Docs

It’s important for every file in WordPress, regardless of makeup or architecture, to have its own file header, even if the file contains nothing but a class. When parsed, files and classes are mutually exclusive and should be documented with this in mind. [33755] [33756] #33413

  • Bring the file header and class DocBlockdocblock (phpdoc, xref, inline docs) summaries for class-wp-widget.php in-line with the intention of the docs standard:
    • File headers: What the file is
    • Class DocBlocks: What purpose the class serves. Mentioning the class name in the class DocBlock is redundant [33816] #33413
  • Add inline-docblocks for the require_once() calls that now bring in the WP_Widget and WP_Widget_Factory classes, as well as general core widgets functionality, as of [33746]. [33758] #33413
  • Add a file header description and @since version to wp-includes/widget-functions.php, introduced in [33746].
    Also adds sub-section headers per the inline documentation standards for syntax. [33757] #33413
  • Add a file header to wp-includes/class-wp-widget-factory.php, created when the WP_Widget_Factory class was moved to its own file in [33746]. [33756] #33413
  • Correct the hook docs for the user_profile_update_errors action. [33769] #33537
  • After [33764], fix docblock formatting for wp_list_categories(). [33765] #33460
  • Use proper array documentation formatting for wp_list_categories().
    This changeset also corrects a few parameter descriptions, and adds a few that
    were previously missing. [33763] #33556
  • Fix copy pasta in wp_cache_decr() doc 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.. [33809] #33548
  • The type for the $t_time parameter in the post_date_column_time 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. docs should be string, not array. [33731] #33540
  • Document the default comment data arguments for wp_new_comment(). [33730] #32369
  • After [33698], wrap the time constants in a DocBlock template. [33737] #33397
  • Clarify the return description for wp_create_user() to illustrate that a WP_Error object will be returned on failure. [33725] #33321

Add changelog entries for a variety of hook doc parameters added in [33738]:

hook parameter changeset/ticketticket Created for both bug reports and feature development on the bug tracker.
set_site_transient_$transient $transient [33794] #28402
site_transient_$transient $transient [33792] #28402
pre_delete_site_option_$option $option [33789] #28402
pre_add_site_option_$option $option [33788] #28402
pre_site_option_$option $option [33785] #28402
transient_$transient $transient [33783] #28402
option_$option $option [33779] #28402
pre_option_$option $option [33768] #28402
pre_set_site_transient_$transient $transient [33793] #28402
pre_site_transient_$transient $transient [33791] #28402
pre_update_site_option_$option $option [33790] #28402
site_option_$option $option [33787] #28402
default_site_option_$option $option [33786] #28402
pre_set_transient_$transient $transient [33784] #28402
pre_transient_$transient $transient [33782] #28402
update_option_{$option} $option [33781] #28402
pre_update_option_$option $option [33780] #28402
default_option_$option $option [33778] #28402

Themes

  • Get the correct theme when template and stylesheet were both passed as arguments. Fixes 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. introduced in [21131] where $new_theme got set before the second argument was
    appropriately handled, causing the current_theme option to later always be updated to the parent theme’s name. [33815] #32635

Widgets

  • Improve/update escaping in default widgets:
    • wrap some variables in esc_attr() before echoing
    • replace some strip_tags() calls with sanitize_text_field()
    • call esc_url() when wrapping some URLs [33814] #23012
  • Improve/update escaping in WP_Widget_Pages. [33813] #23012
  • Switch back to using array_key_exists() instead of isset() for 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. instance existence check.
    Reverts unnecessary change in [32602] since array_key_exists() does actually work with ArrayIterator objects.
    Merges [33696] to the 4.3 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".. [33721] #32474, #33442

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.

  • Add some theme mod unit tests. [33812] #28637
  • Prevent JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error during init when nav_menus panel is removed by plugin. [33753] #33411
  • Ensure persistence of unchanged active state for controls, sections, and panels. [33754] #33428, #33494
  • Use existing decoupled strings in Menu Locations section. See [31941] and [31951]. [33741] #33416

Comments

  • Fix the doc block syntax for the 'wp_get_current_commenter' filter. [33811] #33304
  • get_comment_count() currently increments awaiting_moderation when comments are in the trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days.. This occurs because case 0: will match any value passed to switch that is a string that isn’t specified in the list of cases. This is terrifying.
    Cases for 0 and 1 should be '1' and '0'
    Add unit tests for get_comment_count(). Currently, there are none. [33806] #33414

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.

  • Favor using the consistent and agnostic string ‘Attach’ over ‘Attach to a post’ in the media list table. [33810] #33515
  • Make a period translatable. [33802] #33594
  • Switching themes: if the new theme doesn’t have nav_menu_locations defined, but the old theme does, copy the old theme’s nav_menu_locations into the new theme’s theme mods. [33808] #18588

Media

  • Improve the reliability of the crop returned by image_get_intermediate_size() and add a bunch of unit tests to tests/image/intermediate_size.php. [33807] #17626
  • When inserting an image into a post, the values in wp.media.controller.Library should not default to linking the image when no user settings are present.
    The default display setting value for link is now none. User settings persist and will override or confirm this value based on user actions. [33729] #31467

Posts, Post Types

  • In get_post_type_labels(), ensure that filtered labels contain all required default values. [33776] #33543
  • Don’t change the View Post button permalink in the sample permalink HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. when updating the slug on a published or future post. [33773] #32954
  • Pass taxonomy name to filters in get_adjacent_post(). [33805] #33568
  • Make post meta box toggles accessible. [33762] #33544

Multisite

  • Improve the efficiency of is_user_member_of_blog() by removing its use of get_blogs_of_user(). Adds additional tests. [33771] #32472
  • Add 'invite_user' action that fires immediately after a user is invited to join a site, but before the notification is sent. [33732] #33008

Taxonomy

  • In wp_list_categories(), ‘current_category’ should accept an array of values. [33804] #33565
  • Introduce $hide_title_if_no_cats parameter to wp_list_categories(). [33764] #33460
  • Rename param added to wp_list_categories() in [33764] to $hide_title_if_empty. [33767] #33565
  • Term Splitting: Switch to a faster cron unschedule process to benefit sites with thousands of affected jobs. Fix the cron hook name in the failsafe rescheduler. [33727] #33423
  • In WP_Query::parse_tax_query(), allow ‘cat’ and ‘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.)’ querystrings to be formatted as arrays. [33724] #32454, #33532

Date/Time

  • Simplify the weeks-per-year calculation WP_Date_Query::validate_date_values(). [33803] #30845

Users

  • Bring network admin user searching to parity with single site user searching by wrapping search terms in asterisks. This means that searches don’t require an exact match and therefore significantly reduces friction when searching for users on the network admin screens. [33801] #32913

Bundled Theme

Correct license information in readme.txt.

Text Changes

  • Drop the hyphen from e-mail and standardize on email.
    The AP Stylebook changed this in 2011, and we’re woefully inconsistent, so let’s go with the standard. [33774] #26156

Upgrade/Install

Security

  • Add 'wp_verify_nonce_failed' action that fires when nonce verification fails. [33744] #24030
  • Fire the check_ajax_referer action on failure as well as success. [33743] #33342

Build Tools

Thanks to @azaozz, @BinaryKitten, @boonebgorges, @bordoni, @Cheffheid, @chipbennett, @danielbachhuber, @dd32, @DeBAAT, @dimadin, @DrewAPicture, @ebinnion, @egill, @eherman24, @ericlewis, @garza, @hauvong, @helen, @janhenckens, @jjeato, @jmayha, @joedolson, @joehills, @joemcgill, @johnbillion, @KalenJohnson, @kitchin, @liljimmi, @luciole135, @mako09, @MikeHansenMe, @miqrogroove, @morganestes, @niallkennedy, @nikeo, @obenland, @Otto42, @pavelevap, @pento, @peterwilsoncc, @rachelbaker, @rhubbardreverb, @sammybeats, @sboisvert, @scribu, @SergeyBiryukov, @Shelob9, @tyxla, @Veraxus, @vilkatis, @Viper007Bond, @voldemortensen, @welcher, @westonruter, @wonderboymusic, and @yamchhetr for their contributions!

#4-4, #week-in-core

WordPress Core Weekly

Hello everyone, let’s have a look at what’s going on in WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.! This edition covers February 19th, 2015 [31479] through February 25th, 2015 [31544].

If you want to write the next WordPress Core Weekly summary, check out the table over at make/docs and get in touch in the #core-weekly-update Slack channel.

Customize

  • Make sure WP_Customize_Manager::theme() never returns null. [31536] #31445
  • Add theme browsing and theme switching to 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.. Brings into core the Customizer Theme Switcher feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.. You can now browse, preview, and activate themes right from the Customizer [31533] #31303

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)

  • Provide proper label associations and descriptions throughout the networknetwork (versus site, blog) adminadmin (and super admin) [31517] #38406
  • Add missing labels to Archives and Categories dropdown widgets. [31520] #18650

Press This

  • 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. encode the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org before appending it to the bookmarklet. See #31373. [31537] #31373
  • Hard-code the minified bookmarklet js. Adding the non-minified bookmarklet to the browser bookmarks bar may have unexpected effect. #31373
  • PressThis v2, first run. [31534] #31373

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 orderby=description support to get_terms(). This appears as a sortable column 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.. [31532] #31364
  • Pass taxonomy name, not object, to edit_term_taxonomy and edited_term_taxonomy actions. [31525] #30999

Media

  • Better image-type support checks in image unit tests. PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher can be compiled without support for certain image types. Our unit tests should be sensitive to these configurations. [31510] [31512] #31124
  • Specify globals in media JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. files – it is important to denote where we are diverging from dependency injection. [31489] [31491] [31492] [31493] [31494] #28510

Upgrade/Install,Upgrade/Install

  • Upgrades: Specifically pass the version and locale POST vars through the Core Update 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. credentials form. [31527] [31528] #30245 #31378

Script Loader

Menus

  • Menus: Remove fixed height from .description-thin fields. [31524] #31426
  • Menus: Prevent checkboxes and radio buttons from being stretched to full width on mobile. [31523] #31425

Themes

  • Use a darker color for “No themes found” message to increase contrast. [31519] #26600
  • Add feedback for screen readers when search results are changed. [31497] #26600
  • Update the theme count when searching for installed themes, like we do on Add Themes screen. [31495] #26600

Comments

  • Add comment-author-is-site-member class to comment output for site members. [31518] #24054
  • Delegate focusin and focusout events for row actions to make sure the actions are always revealed on focus. [31509] #29765

Users

  • 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: Pass a response code of 200 to wp_die() when a user is successfully added to an individual site after using the /newbloguser/ URL from an invite email. This is a user facing success message. [31514] #31224
  • Multisite: Avoid clearing stored capabilities for a user when removing their built in role in multisite. [31516] #18934
  • When creating a new user, pasting a password should update the password strength indicator. [31483] #31226

Administration

  • Improve table footer tab sequence by moving &lt;tfoot&gt; after &lt;tbody&gt;. [31513] #30914
  • Dashboard: Add a 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. for the query arguments used for the Recent Posts 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.. [31508] #29374
  • Quick Edit: Make date fields a bit wider. [31507] #27912
  • Use correct closing 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.) for “Under the Hood” header on About screen. [31503] #31402

Plugins

  • Do not activate plugins on initial installation in multisite. Check is_multisite() before activating 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 that has been installed via AJAX. Without this check, the plugin would be automatically activated on the main site of the network. [31511] #31327

TinyMCE

  • TinyMCE wpView: don’t insert nested paragraphs when inserting embeddable URLs. [31485] #29526

Bundled Themes

Thanks to @afercia, @ AramZS @atimmer, @azaozz, @boonebgorges, @celloexpressions, @cfoellmann, @danielbachhuber, @dd32, @designsimpl, @dipesh.kakadiya, @DrewAPicture, @folletto, @ianmjones, @ipm-frommen, @iseulde, @janhenckens, @jeremyfelt, @jlevandowski, @joedolson, @joostdevalk, @kraftbj, @lancewillett, @mako09, @marcelomazza, @markjaquith,@michael-arestad @MikeHansenMe, @neil_pie, @NikV, @obenland, @ocean90, @PeteMall, @ravindra-pal-singh, @rachelbaker, @rianrietveld, @SergeyBiryukov, @stephdau, @stevegrunwell, @swissspidy @tyxla, @Viper007Bond, @westonruter, and @wonderboymusic for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Hi everyone!

It’s this time of the week again: WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Weekly is here. This updates covers all commits since last week up to today, October 23rd.

In case you missed it, there has been quite some activity here. I recommend you to check out these great summaries from this week to stay up-to-date:

Now, let’s have a look at the recent comments!

Adminadmin (and super admin)

  • Themes: Make “Live Preview” the primary action and “Activate” secondary. [29957] #26899
  • Themes: Fix some theme install stylings [29959] #28148 #29556
  • Live-update site title in toolbar when changing the corresponding field in General Settings. [29963] #28682
  • Allow apostrophes in email addresses when adding users via the Dashboard. [29966] #18039
  • Admin menu changes [29978] #29806
    • Fix scrolling the pinned menu with a mouse wheel.
    • Fix pinning when the menu is only slightly taller than the viewport.
    • Disable pinning on IE8, updating CSSCSS Cascading Style Sheets. top makes it jump when scrolling with a mouse wheel.

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.

  • Introduce customize_preview_$setting->type action to handle multiple settings of the same type. [29948] #29165
  • Extract content markup for panels to its own method,WP_Customize_Panel::render_content(). This allows to override the behavior of a panel and its contents. [29950] #29324

Editor

  • Editor-expand [29929] #29954
    • Better calculation for the caret position when auto-scrolling while typing.
    • Fix auto-scrolling for non-WebKit browsers when the caret is above the top of the editor.
  • TinyMCE: update the default styles: make the font size larger and make it the same size in tables. [29986] #30038
  • TinyMCE: update to 4.1.6+. Adds support for cache-busting when auto-loading JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. and CSS. [29994] #30079

Twenty Fifteen

  • Make font-size/line-height in editor-style.css the same as in style.css. Remove margins from the editor body, interferes with autoresize in some browsers and is overriden in the default styles. [29909] #29799
  • No rem in editor-style.css for now. [29910] #29799
  • Add print styles. [29919] #29967

Internals

  • Add a 6th (!) attribute to wp_get_attachment_link() to allow aria-describedby to be added to gallery output. [29914] #27402
  • Cache get_term_by() calls [29915] #21760
    • Add a helper function, wp_get_last_changed(), to retrieve a last-modified timestamp by cache group.
    • Original term cache entries maintain BC
  • wp_schedule_single_event() should not prevent scheduling a future duplicate event. It should only reject an event as a duplicate if there is already a similar event scheduled within 10 minutes of the given timestamp. [29939] #28213
  • Add ID attribute to style element from wp_add_inline_style(). [29956] [29958] #30032
  • Move password hint text to a function. Add password_hint 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.. [29962] #21243
  • 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. 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.: Support both the limit_response_size and stream parameters at the same time, allowing a partial file download. [29968] #26726

Comments

  • Don’t print an empty HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. markup when comment_reply_link() returns no link. [29908] #29895
  • Use the comment API rather than direct SQL queries in comments_template(). [29965] #19623

External Scripts

Queries

  • Check that search value is scalar before parsing. Prevents PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notices when non-scalar values are passed. [29912] #29736
  • Introduce nested query support to WP_Date_Query. [29923] #29822
  • Throw notices _doing_it_wrong() notices are now generated when passing out-of-range values (month=13) or 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. dates (2014-02-29) to WP_Date_Query. [29925] #25834
  • Support date_query by user_registered in WP_User_Query. [29934] #27283
  • Comment/post author in/not_in for WP_Comment_Query. [29935] #29885
  • Better “inclusive” support for string values in WP_Date_Query. [29936] #29908

Thanks to @westonruter, @obenland, @tivnet, @joedolson, @DrewAPicture, @rianrietveld, @wonderboymusic, @tollmanz, @boonebgorges, @Manoz69, @iamtakashi, @kwight, @pauldewouters, @ideag, @ChriCo, @NikV, @nofearinc, @ew_holmes, @neoxx, @Viper007Bond, @nacin, @chriscct7, @tellyworth, @sc0ttkclark, @jorbin, @socki03, @ocean90, @convissor, @TobiasBg, @TomHarrigan, @jdgrimes, @jcastaneda, @celloexpressions, @avryl, @simonwheatley, @hardy101, @georgestephanis, @jesin, @hugodelgado, @nobleclem, @afercia, @bradyvercher for their core contributions!

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. covered: [29906] to [29994]. For the complete list of commits to trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision., check out the log on Trac.

Interested in joining in? Write or test a patch for 4.1.

#4-1, #week-in-core

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