Week In Core, May 31 – June 7 2016

Welcome back the latest issue of Week in Core, covering changes [37601-37658]. Here are the highlights:

  • 58 commits
  • 23 contributors
  • 67 tickets created
  • 14 tickets reopened
  • 87 tickets closed

Ticket numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Accessibility

Administration

  • Allow for the consistent filtering of auth_redirect_scheme [37651] #37047

Bootstrap/Load

  • Introduce filters for skipping parts of the bootstrap process. [37626] #34936

Build/Test Tools

  • Disable foreign_key_checks while dropping existing tables. [37654] #37046
  • Run prerelease as the precommit task for configuration file changes. [37650] #36528
  • Update grunt-patch-wordpress to 0.4.0. [37612] #35917

Comments

  • In wp_list_comments(), queries with custom pagination params should obey default comment_status logic. [37655] #37048
  • Improve caching for hierarchical queries. [37625] #36487
  • Remove debugging code left in WP_Comments_List_Table->get_views(). Originally introduced in [9556] and leftover from [15578]. [37624] #36938
  • Use clean_comment_cache() in wp_insert_comment(). [37614] #36906
  • Make the ‘comment’ cache group persistent. [37613] #36906
  • Add tests demonstrating individual comment cache invalidation. [37609] #36906
  • Break the inline display of comment content urls on the Moderate Comment screen. [37607] #36568

Customizer

  • Template: Pass $blog_id to the get_custom_logo filter. [37645] #36639

Database

Editor

  • 'undefined' !== 'undefiend' Fix a typo in [37630]. [37632] #36662
  • Do not use the modal-open class to determine when the wpLink modal is open. [37630] #36662
  • wpLink: swap the order of innerText and textContent to avoid getting styled text in IE. [37621] #36783
  • Ensure the page is refreshed when the users navigate to it with the Back or Forward buttons. [37619] #35852
  • Autoresize. Resize on backspace. Don’t make it smaller than the minimum height. [37603] #36482

Embeds

  • Auto-embedding: We already match URLs on their own line, add another regex to match URLs in their own paragraphs. Always exclude the \s<>" characters when matching. Add more unit tests. [37627] #25387

External Libraries

General

  • Docs: Relocate some @see tags and add missing @access tags to method and property DocBlocks in Walker_Nav_Menu. [37639] #32246
  • Autoload: Add missed @since tags to SPL shim. [37637] #36926
  • Docs: Reformat several parameter descriptions in Walker_Nav_Menu to directly reference wp_nav_menu() rather than use inline @see tags. [37638] #32246
  • Autoload: Introduce shim for SPL autoloading. [37636] #36926
  • Add tests for remove_query_arg(). [37631] #37008

Media

  • Add tests demonstrating query cache invalidation on comment CRUD actions. [37608] #36909

Networks and Sites

  • Fix switch( spacing after [37657] [37658] #36717
  • Allow access to network and site properties using current naming conventions. 37657] #36717
  • Deprecate wp_get_sites(). Defer to the new get_sites() replacement, offering fresh (…or cached) WP_Site objects via the new WP_Site_Query. [37653] #36994
  • Remove the output parameter from get_site(). Full WP_Site objects should be expected from get_site() rather than arrays. [37652] #35791
  • Remove superfluous code from network_edit_site_nav(). [37629] #15800
  • Add initial tests for WP_MS_Sites_List_Table. [37633] #36675
  • Replace $wpdb->blog queries in get_site_by_path() with get_sites() [37628] #35791
  • Replace $wpdb->blog queries in ms-functions.php with get_sites(). [37620] #35791
  • Bump last_changed cache on site update and creation. [37618] #35791
  • Replace wp_get_sites() internals with get_sites(). [37617] #35791
  • Introduce get_sites(). get_sites() is a wrapper for WP_Site_Query. [37616] #35791

Rest API

  • Create the general wp_check_jsonp_callback() function for validating JSONP callback functions. [37646] #28523

Taxonomy

  • Add a note about uniqueness to the doc block for get_term_by(). [37656] #36878
  • Tests: Compare wp_set_object_terms() results using term_taxonomy_id. Introduced in [37647]. [37649] #37009
  • Tests: Add tests demonstrating wp_set_object_terms() behavior when matching $terms. [37647] #37009
  • Tests: Move wp_set_object_terms() tests to their own file. This is a redo of [37642], this time not done in the not right place. [37644] #37009
  • Add test demonstrating that wp_insert_term() will suffix a slug if the new term’s auto-generated slug matches that of an existing term. [37641] #37009
  • Tests: Move wp_set_object_terms() tests to their own file. [37642] #37009
  • No, really, don’t pass results of ‘count’ query through ‘get_terms’ filter. [37634] #36992
  • Don’t pass results of ‘count’ query through ‘get_terms’ filter. [37623] #36992
  • Remove unused variable from get_terms(). Missed in [37572]. See #35381. [37622] #35381, #36992
  • Docs: Improve return descriptions for get_the_category() and get_the_term() to specifically notate that an array of WP_Term objects is returned on success. [37615] #32246

TinyMCE

Upgrade/Install

  • Don’t use Language_Pack_Upgrader_Skin::before() and Language_Pack_Upgrader_Skin::after() when translations are up to date. [37635] #36615
  • Database: dbDelta() will no longer try to downgrade the size of TEXT and BLOB columns. Merge of [37525] to the 4.5 branch. [37606] #36748

Widgets

Props

Thanks to @achbed, @afercia, @azaozz, @boonebgorges, @borgesbruno, @dabnpits, @dougwollison, @DrewAPicture, @ericlewis, @flixos90, @iseulde, @javorszky, @jeremyfelt, @jorbin, @juanfra, @JustinSainton, @michaelbeil, @netweb, @ocean90, @pento, @rachelbaker, @rmccue, @smerriman, and @spacedmonkey for their contributions!

#4-6, #week-in-core

Week In Core, May 24 – May 31 2016

Welcome back the latest issue of Week in Core, covering changes [37551-37600]. Here are the highlights:

  • 50 commits
  • 33 contributors
  • 56 tickets created
  • 13 tickets reopened
  • 86 tickets closed

Ticket numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Bootstrap

Build/Test Tools

  • Add tests for no_found_rows behavior of WP_Query. [37600] #29952
  • Change some ‘group’ annotations to ‘ticket’. [37595]
  • Upgrade the HHVM job to use Ubuntu Trusty, and a more recent version of HHVM. [37555] #36930

Comments

  • Display approved comments on the Edit Post screen to users without the edit_comment capability. [37584] #24648

Customize

Database

Date/Time

Docs

  • Ensure hook and duplicate hook docs directly precede all instances of the image_memory_limit filter. [37592] #36968
  • Correct a duplicate filter comment for the image_memory_limit hook to point to the correct file. [37591] #36968
  • Improve documentation for wp_generate_tag_cloud() default arguments by formatting them into in a hash-notation. [37587] #32246
  • Improve formatting in the DocBlock for sanitize_bookmark_field(). [37586] #32246
  • Standardizes and improves DocBlock summaries for the __get(), __set(), __isset(), and __unset() magic methods in wpdb. [37585] #32246
  • Remove unnecessary backtick-escaping around two function references in the DocBlock for get_object_term_cache(). [37578] #36814
  • Link up a reference to the get_terms_args filter in the hook doc for get_terms_defaults. [37577] #35381, #36921
  • Reorder argument descriptions in the DocBlock for wp_list_categories() to match the default arguments list and improve reading at a glance. [37571] #36693
  • Add missing documentation for the style argument in the DocBlock for wp_list_categories(). [37569] #36693
  • Add missing @access tags to methods in WP_oEmbed_Controller. [37568] #36297
  • Update the return description for get_preview_post_link() to note that it can also return null. [37564] #35915
  • Correct DocBlock descriptions for the $before, $after, $link_before, and $link_after arguments for wp_nav_menu()[37561] #32246
  • Standardize DocBlock summaries for hooks that serve to “print” something to use third-person singular verbs. [37560] #36913
  • Update hook docs for the upgrader_package_options filter and upgrader_process_complete action to reflect expected values in the core, language pack, theme, and plugin contexts. [37558] #36875

Editor

General

HTTP API

  • Only use the filename component of URLs to form part of the temporary filename. Previously we were passing the entire URL to wp_tempnam() (incorrectly) which caused the query string to be used as part of the temporary filename. We now only use the file component of a url such as https://example.com/filename.zip?arg1=1&arg2=2....&arg100=100 to prevent a long filename. [37598] #34938

I18N

  • Improve grammar for WordPress News help text. [37553] #35681
  • Update list of continents and cities for the timezone selection. [37554] #36828
  • Add translators comments to wp-activate.php. [37552] #35734

Media

  • Fix order of arguments for the strpos() function added in [37562]. [37580] #36706
  • In get_plugin_data() use the plugin slug for the text domain when no text domain is defined in the header. [37562] #36706

Query

  • In WP_Meta_Query, don’t cast meta_value to CHAR. [37594] #36625
  • Allow term meta lazy-loading to be selectively disabled in WP_Query. [37589] #36953
  • In get_bookmarks(), don’t cache if ‘orderby=rand’. [37565] #18356
  • Add tests for get_bookmarks() cache. [37563] #18356

Setup

Taxonomy

Themes

  • Twenty Elevent Ephemera widget fix for caching in Customizer preview. [37590] #36429

Tiny MCE

Upgrade/Install

  • Allow update checks on upgrader_process_complete to be run during Ajax requests. [37570] #36914

 

Thanks to @azaozz, @birgire, @bobbingwide, @boonebgorges, @c3mdigital, @chris_dev, @danielbachhuber, @DBrumbaugh10Up, @dd32, @dlh, @DrewAPicture, @ericlewis, @flixos90, @iseulde, @jfarthing84, @jorbin, @karmatosed, @kurtpayne, @lukecavanagh, @MikeHansenMe, @netweb, @nextendweb, @ocean90, @pbearne, @pento, @peterwilsoncc, @prettyboymp, @rachelbaker, @ramiy, @sebastianpisula, @swissspidy, @tloureiro, and @wp_smith for their contributions!

#4-6, #week-in-core

Week In Core, May 18 – May 24 2016

Welcome back the latest issue of Week in Core, covering changes [37457-37550]. Here are the highlights:

  • 93 commits
  • 33 contributors
  • 67 tickets created
  • 11 tickets reopened
  • 77 tickets closed

Ticket numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Accessibility

  • The Thickbox “Close” control should always be a button. [37531] #36267

Administration

  • During password reset, user-submitted login/email should be stripslashed. This prevents errors when an email address contains an apostrophe. See [29966] for similar treatment of a related problem. [37474] #36322
  • Refine the FTP credentials form interaction. Properly toggle SSH2 Authentication Keys fieldset visibility. [37467] #34376

Customize

  • Make sure that preview and return URLs are URLs. [37527] #
  • Replace invalid reference to $_SERVER['customized'] with $_POST['customized']. Introduced in r31421. [37520] #36852
  • Add setting validation model and control notifications to augment setting sanitization. See #30937. [37476] #35210, #30937, #34893

Database

  • Don’t generate unnecessary warnings in wpdb::query(). [37548] #23085
  • Support backticks around field names when parsing a query for the field type. [37538] #20263
  • Remove debug comments in dbDelta(). [37533] #
  • Reduce the number of strtolower() calls in dbDelta(). [37532] #36919
  • dbDelta() will no longer try to downgrade the size of TEXT and BLOB columns. [37525] #36748
  • Remove some duplicate code. schema.php was manually defining the character set/collation query, instead of using wpdb::get_charset_collate(). [37524] #35756
  • Use the utf8mb4_unicode_520_ci collation, when available. [37523] #32105
  • Obey locale-specific utf8 collation settings. [37521] #32405

Docs

Embeds

  • Ensure embed widths are integers. This prevents a warning in PHP trunk when a non-integer width is passed. [37549] #36435

Emoji

External Libraries

Menus

Multisite

  • Clean up WP_Error documentation and handling in wp-signup.php [37547] #36927
  • Disable autocapitalize and autocorrect for user_name input on signup [37546] #36833
  • Introduce WP_Site_Query Provides a consistent way to query $wpdb->blogs for WP_Site objects. [37477] #35791
  • Wrap the main bootstrap process in a function Introduce ms_load_current_site_and_network. [37475] #34941
  • Introduce get_site(). [37468] #35791
  • Filter the links displayed on “Edit Site” views. [37466] #15800

Post Types

  • In get_page_by_path(), values fetched from cache should obey $output param. Introduced in [37479]. [37481] #36711
  • Cache queries in get_page_by_path(). [37479] #36711
  • Improve tests for get_page_by_path(). Move existing test into its own file. Add tests that cover most pieces of functionality. [37478] #36711

Taxonomy

  • get_terms() ‘search’ test should have more precise fixtures. [37519] #13992, #35381
  • Move get_the_terms() tests to their own file. [37480] #36814
  • Introduce required argument for wp_dropdown_categories(). This allows the HTML5 required attribute to be added to the select element. [37465] #31909
  • Move wp_dropdown_categories() tests into their own file. [37464] #31909
  • Beautify, simplify, lovelify, alignify the default argument array in wp_dropdown_categories(). [37463] #31909

Template

  • In wp_get_archives() use add_query_arg() instead of sprintf() to build the archive URL. [37530] #36414

Tests

Props

Thanks to @afercia, @barryceelen, @bassgang, @boonebgorges, @Bueltge, @c3mdigital, @celloexpressions, @craig-ralston, @davidmosterd, @dcavins, @DrewAPicture, @flixos90, @jeremyfelt, @johnjamesjacoby, @jorbin, @josephscott, @mbijon, @michaelbeil, @mrahmadawais, @mt8biz, @Mte90, @ocean90, @pcarvalho, @pento, @peterwilsoncc, @rafaelangeline, @screamingdev, @SergeyBiryukov, @spacedmonkey, @sudar, @tloureiro, @travisnorthcutt, @westonruter, and @wzislam for their contributions!

#4-6, #week-in-core

Week In Core, May 11 – May 18 2016

Welcome back the latest issue of Week in Core, covering changes [37417-37457]. Here are the highlights:

  • 40 commits
  • 31 contributors
  • 74 tickets created
  • 12 tickets reopened
  • 78 tickets closed

Ticket numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

Accessibility

  • Make the tab order match the visual order in the Edit terms screens. [37439] #35664

Administration

  • System font: The stack does not work with the font shorthand property. [37442] #36753
  • Credits: Add a missing closing tag. [37434] #35911
  • Admin font: Remove a redundant sans-serif declaration. [37419] #36753

Bootstrap/Load

Build/Test Tools

Comments

  • Add $data parameter to include the comment data in the edit_comment action. [37423] #36427

Customize

  • Change attachment condition in the site icon control to prevent errors. [37456] #36749
  • Include shortcut button in Custom Menu widget to edit the selected menu in the Customizer. [37437] #32683
  • Remove use of reserved word default in Underscore template which breaks IE8. Fixes #36793. [37450] [37417] #36793
  • Handle filtering sidebars_widgets when the underlying option is non-existent. Merge of [37352] to the 4.5 branch. Fixes #36660. [37453] #36389, #36660
  • Clean up media control CSS. Removes unnecessary wrapper elements and refactors class names to eliminate duplication of rule selectors. [37426] #30618

Editor

  • TinyMCE: prevent showing the placeholder URL when adding a link and clicking more than once on the Insert Link button. Merge of [37301] to the 4.5 branch. [37454] #36637
  • Editor: Merge two strings. [37441] #27756

Embeds

Filesystem API

  • Don’t add '.' to the list of directories which need to be checked/created when extracting a file. [37421] #36570

General

  • Docs: Standardize on ‘backward compatibility/compatible’ nomenclature in core inline docs. [37431] #36835

HTTP API

  • Use prepared JSON data correctly. This was modifying a variable that was never used. Oops. [37444] #36358
  • Pass array-like object to http_api_debug. This was mistakingly passing the Requests_Response object, which caused fatal errors with debugging tools. [37436] #33055
  • Fix compatibility with cURL < 7.22. [37430] #33055
  • Add browser compatibility hook for 3xx redirects. [37428] used the wrong method of adding this hook, now corrected. [37429] #33055
  • Replace internals with Requests library. [37428] #33055

I18N

  • In get_translations_for_domain() check if the global $l10n was set by _load_textdomain_just_in_time() before accessing it. [37440] #34114

Media

Networks and Sites

  • Tests: Set public to 1 in the default blog factory. [37418] #36566
  • Tests: Use factory method to generate fixtures for wp_unique_post_slug() tests. [37443] #20419

Posts, Post Types

  • Fire a post_action_{$action} action for a custom post action request. [37424] #27056

TinyMCE

Upgrade/Install

  • Add changelog entries for when the classes were moved to its own file. [37432] #36618

Users

  • List Tables: Pass the $which parameter to restrict_manage_posts and restrict_manage_users. [37422] #35307

Widgets

  • Create WP_Widget_Mock as a mock of WP_Widget which can be used for widget tests. You cannot instantiate an abstract class. Not even in WordPress world. [37427] #35981
  • Make WP_Widget a real abstract class. [37425] #35981

Thanks to @adamsilverstein, @afercia, @boonebgorges, @brianvan, @celloexpressions, @danielhuesken, @DrewAPicture, @dshanske, @helen, @iseulde, @jeremyfelt, @jfarthing84, @joemcgill, @johnbillion, @jorbin, @jrf, @martin.krcho, @mintindeed, @Mte90, @neverything, @ocean90, @pavelevap, @rachelbaker, @ramiy, @rmccue, @samantha-miller, @SergeyBiryukov, @sudar, @swissspidy, @tfrommen, and @westonruter for their contributions!

#4-6, #week-in-core

Week in Core, May 3 – May 10 2016

Welcome back the latest issue of Week in Core, covering changes [37355-37416]. Here are the highlights:

Ticket numbers based on trac timeline for the period above.

Code Changes

Build/Test Tools

Customize

  • Ensure that wp_setup_nav_menu_item filter applies consistently on nav_menu_item setting values. [37405] #35203

Docs

External Libraries

General

I18N

Multisite

Options, Meta APIs

  • After [33738], consistently pass option name as the second parameter to the 'default_option_' . $option filter in add_option() and update_option(). [37367] #36761

Rewrite Rules

  • Add self-describing variables to rewrite matcher. [37356] #36674

Ui

  • Drop Open Sans in the admin in favor of system fonts. [37361] #36753

Upgrade/Install

Users

  • The ‘who‘ parameter should not interfere with ‘meta_key‘ + ‘meta_value‘ in WP_User_Query. [37360] #36724

Props

Thanks to @achbed, @adrianosilvaferreira, @boonebgorges, @borgesbruno, @celloexpressions, @dlh, @DrewAPicture, @ericlewis, @flixos90, @helen, @Ipstenu, @jeremyfelt, @jorbin, @mattmiklic, @nbachiyski, @netweb, @ocean90, @sebastianpisula, @SergeyBiryukov, @swissspidy, @welcher, and @westonruter for their contributions!

#4-6, #week-in-core

Week in Core, April 26 – May 3 2016

Welcome back the latest issue of Week in Core, covering changes [37314-37354]. Here are the highlights:

  • 40 commits
  • 33 contributors
  • 78 tickets created
  • 8 tickets reopened
  • 70 tickets closed

Ticket numbers based on trac timeline for the period above.

Code Changes

Administration

  • improve the Star Ratings hiding empty elements for assistive technologies. [37330] #36725
  • This patch assigns the background color to body instead of the html element. [37321] #35314

Build/Test Tools

  • Include npm prune in the before_script command. npm prune removes extraneous packages so the cache contains only current modules. [37340] #36490
  • Document WP_UnitTestCase->go_to() [37319] #36679

Comments

  • date_query should be a property on WP_Comment_Query objects, nstead of a local variable. [37354] #36741
  • Realign parameter documentation in the DocBlocks for comment_author_email_link() and get_comment_author_email_link(). Also adds a missing return description for get_comment_author_email_link(). [37349] #36571
  • Adjust comment_author_email_link() and get_comment_author_email_link() to each accept a new optional fourth parameter, $comment, which enables overriding the $comment global. Adds tests. [37348] #36571
  • Display the comment counts in wp_dashboard_right_now() in the rare initial condition when there are 0 approved comments and only pending comments, so the AJAX count update could work. [37335] #35519
  • Pass $comment to comment_text() in Walker_Comment::comment() instead of using a function which can skip the cache. [37325] #35433

Customize

  • Handle filtering sidebars_widgets when the underlying option is non-existent. See #36389. Fixes #36660. [37352] #36389, #36660
  • Pass WP_Customize_Setting instance as second argument to customize_value_{$id_base} filter. [37350] #36452
  • Allow Esc key to collapse the currently-expanded panel, section (or control). [37347] #22237
  • Ensure settings modified during an open save request remain dirty when save request completes. [37346] #32941
  • Increase the target size of the expand/collapse button in the customizer. [37341] #36093
  • Don’t auto-close the customizer when a new theme is activated. [37339] #35320
  • Remove format placeholders from widget templates and selectors, fixing a jQuery selector syntax error and the broken highlight/shift-click behaviors. [37322] #36473

Database

Docs

  • Improve the class DocBlock for WP_Widget to clarify which methods “should” vs “must” be overridden by extending sub-classes. [37343] #36703
  • Remove inline @see tags from function, class, and method references in inline docs. [37342] #32246
  • Add backtick escaping for two inline code samples in docs. [37338] #32246
  • Standardize on using :: for Class::method() references in WP_Customize_Control inline docs. [37337] #32246
  • Document the @return value of wp_add_trashed_suffix_to_post_name_for_post(). [37334] #36728

Links

  • Rename the $link_id parameter in get_link_to_edit() to $link to better reflect that it can accept a link ID or object. [37353] #36736
  • Clarify documentation for the $link_id parameter to mention that it accepts either an integer or object. [37351] #36736

Plugins

  • In plugin_basename() normalize the file path before unresolving symlinks. [37332] #29154
  • In uninstall_plugin() pass the plugin file to wp_register_plugin_realpath(). [37331] #36709

Posts

  • Allow get_page_uri() to be called without a $page argument. [37345] #26284

Query

Tests

  • Ensure that image sizes are indeed removed when errors are raised before assertions in Tests_Media. [37328] #36588
  • Ensure that the GD absrtraction is used for GD unit tests for Images. [37327] #36588
  • Remove debug cruft left over from [34816]. [37344] #17078
  • Reduce unnecessary count in create_many() in multisite user tests. [37318] #36566

Themes

Users

Widgets

  • Provide PHP 5.2 fallback for spl_object_hash() if disabled in logic for registering and unregistering pre-instantiated widgets. [37333] #28216
  • Allow WP_Widget subclass instances (objects) to be registered/unregistered in addition to WP_Widget subclass names (strings). [37329] #35990, #28216
  • When the Inactive Widgets section is hidden also hide the “Clear Inactive Widgets” button description text. [37323] #35592

Props

Thanks to @afercia, @andy, @boonebgorges, @celloexpressions, @chandrapatel, @DrewAPicture, @ericlewis, @flixos90, @flyingdr, @Frank-Klein, @jdgrimes, @jeremyfelt, @jsternberg, @kjbenk, @martinkrcho, @mdwheele, @michaelarestad, @netweb, @ocean90, @PeterRKnight, @pollett, @purcebr, @r-a-y, @rachelbaker, @SergeyBiryukov, @Shelob9, @tloureiro, @voldemortensen, @vortfu, @websupporter, @welcher, @westonruter, and @wonderboymusic for their contributions!

#4-6, #week-in-core

Week in Core, Apr 19– Apr 26 2016

Welcome back the latest issue of Week in Core, covering changes [37254-37314]. Here are the highlights:

Ticket numbers based on trac timeline for the period above.

Code Changes

Build/Test Tools

  • Build/Test Tools: Reset the PHPMailer mock in Tests_Mail::tearDown(). [37307] #36609
  • Tests: Use the same incrementor for all fields belonging to a given text fixture. [37299] #35199
  • Don’t announce PR builds in Slack. People may submit a PR to our travis build repo, we shouldn’t notify slack when that happens. [37268] #36607
  • Tests: Allow override of MULTISITE and SUBDOMAIN_INSTALL constants [37266] #36567

Canonical

  • Use get_the_terms() to verify that a post belongs to the requested %category%. The get_the_terms() wrapper provides cache support, and saves a database hit
    on sites with a persistent cache backend. [37262] #36602
  • Tests: After [37260], use WP’s setUpBeforeClass() wrappers. This ensures no leakage between tests of fixture IDs. [37261] #36602
  • Add tests for permastruct containing /%category%/. [37260] #36602

Comments

  •  Add a $comment parameter to get_comment_author_url_link(). Add unit tests (none exist). [37305] #36573
  • Add unordered list styling to Comments List Table rows and Moderate Comment screen. [37304] #36160
  • Keep comments safe in the Edit Post screen. Warns users that have added a new Comment or began editing an existing without saving their changes, before they press the “update” button which would wipe out their comment changes. [37303] #32818
  • Dashboard: toggle the “View” link for comments when Approving / Unapproving from the Dashboard widget. [37302] #35518

Database

  • Suppress connection error messages when WP_DEBUG isn’t enabled. This is a partial revert of [35860], which has been causing un-catchable warnings to be generated on some server configurations. [37293] [37292] #36629, #21870

Date/Time

  • Tests: Pre-declare the $year_url property before initialization in Tests_Get_Archives::setUp(). [37271] #36611

Docs

  • Add missing return descriptions for WP_Filesystem_SSH2::chown() and WP_Filesystem_SSH2::run_command(). [37270] #30989
  • Clarify the return descriptions for get_the_time(), get_post_time(), and get_post_modified_time() to specify when an integer in the form of a Unix timestamp should be expected. [37265] #30989
  • Clarify return descriptions in the DocBlocks for set_user_setting() and delete_user_setting(). [37264] #30989
  • Clarify parameter and return descriptions in the DocBlock for wp_set_all_user_settings(). [37263] #30989
  • Capitalize URL – an acronym for Uniform Resource Locator – when used in the context of inline docs in wp-includes/link-template.php. [37259] #30406
  • Notate more optional parameter defaults for a variety of function DocBlocks in wp-includes/link-template.php. [37258] #30406
  • Notate optional parameter defaults for a variety of function DocBlocks in wp-includes/link-template.php. [37254] #30406

Editor

  • TinyMCE: prevent showing the placeholder URL when adding a link and clicking more than once on the Insert Link button. [37301] #36637

Emoji

  • Smilies: Move convert_smilies to happen later in the the_content filter. [37298] #36306
  • The :roll: smiley is now an emoji. [37296] #36365
  • The diversity support test was incorrectly passing on all browsers. [37257] [37256] #36604

Feeds

  • Revert [36230] which removed the rss-http feed content type. Removing this means that any feeds which are using this feed content type are now being served as application/octet-stream instead of text/xml. [37284] [37282] #36620

General

  • Customize/Formatting: Move sanitize_hex_color(), sanitize_hex_color_no_hash(), and maybe_hash_hex_color() from class-wp-customize-manager.php into formatting.php. Adds missing braces. [37283] #33413, #27583
  • Administration: Introduce admin_print_footer_scripts-$hook_suffix", a dynamic version of the admin_print_footer_scripts hook. This is now more consistent with the generic admin_print_scripts and the dynamic admin_print_scripts-$hook_suffix hooks fired in wp-admin/admin-header.php. [37279] #34334

Media

Networks and Sites

  • Tests: Account for flexible IDs in main network deletion test. [37300] #36566
  • Tests: Exclude ms-files test group from default PHPUnit config. [37269] #36566
  • Tests: Add speedTrapListener to multisite’s PHPUnit config [37267] #36566, #30017

Posts, Post Types

  • Add parameter documentation for ‘post_category’ to wp_insert_post(). [37255] #36601

Post Thumbnails

  • Fix logic bug and tests from [37308] where post-thumbnails support wasn’t added if there were no previous post_types with support already. [37313] #22080
  • When using add_theme_support( ‘post-thumbnails’, array( $post_types) ) merge the supported post_types. [37308] #22080

Query

  • Tests: More explicit fixture content when testing s=0 query string. After [36647], the unit test generator sequence can put a 0 into the
    ‘post_excerpt’ field of a post fixture, causing false positives. [37280] #36622

Rewrite Rules

Taxonomy

  • Docs: Move the clarification of is_tax() and WP_Query::is_tax() return value added in [37235] to @return description. [37281] #36331

Text Changes

Themes

Upgrade/Install

  • Clear plugin/theme caches directly after a plugin/theme has been updated. This is a follow-up to [34751]. [37272] #34029, #36383

Users

  • Remove the “Name” column of the Users table from appearing sortable. [37314] #28064
  • Docs: Reflect the new 'user' option for wp_new_user_notification()‘s $notify parameter added in [37276] in wp_send_new_user_notifications() docs as well. [37278] #36009
  • Add a unit test for [37276]. [37277] #36009
  • In wp_new_user_notification(), sdd 'user' option for the $notify parameter, which allows for sending notification only to the user created. [37276] #36009

Thanks to @akibjorklund, @alexkingorg, @flixos90, @rachelbaker, @azaozz, @boonebgorges, @davewarfel, @downstairsdev, @DrewAPicture, @flixos90, @grapplerulrich, @helen, @iseulde, @jeremyfelt, @jesin, @jmichaelward, @joemcgill, @johnbillion, @jorbin, @juanfra, @Latz, @mpol, @ocean90, @pbearne, @pento, @polevaultweb, @rachelbaker, @rmccue, @SergeyBiryukov, @spacedmonkey, @swissspidy, @tfrommen, @tollmanz, @Unyson, @welcher, @westonruter, @WiZZarD_, and @wonderboymusic for their contributions!

#4-6, #week-in-core

Week in Core, Apr 12 – Apr 19 2016

Welcome back the latest issue of Week in Core, covering changes [37191-37253]. Here are the highlights:

Ticket numbers based on trac timeline for the period above.

Code Changes

Administration

  • Fix default avatar handling in Settings -> Discussion. [37227] #34744

Bootstrap/Load

  • Allow for ABSPATH to be defined outside of wp-load.php, e.g. in a script loaded via auto_prepend_file. [37207] #26592

Build/Test Tools

  • Add test for multiple site path segments in bootstrap This [37241] #36566
  • Add missing params to doc blocks. Simplifies parameter names in test_get_network_by_path() [37239] #36566
  • Use a data provider to test multisite’s bootstrap. Also helps to get things in order before the introduction of a more testable multisite bootstrap function in #34941. [37238] #34941, #36566
  • Use a data provider in get_site_by_path() tests [37237] #36566, #34941
  • Use a data provider to test get_network_by_path() [37236] #36566, #34941
  • Share test fixtures in multisite bootstrap tests [37234] #36566, #34941
  • Improve get_blog_count() tests [37233] #36566
  • Improvements to /post/query test class. [37224] #
  • Run image tasks only if there are changes [37211] #36528
  • Don’t run the build task twice in grunt prerelease (it already runs via the precommit:js task). [37206] #36489
  • Run network option tests as single and multisite [37222] #36552
  • Update grunt-contrib-uglify from ~0.10.0 to ~1.0.1 [37212] #36520

Comments

  • Add parameters to edit_comment_link() to allow specifying a Comment and link class. [37215] #36538
  • Allow for default comment form action, /wp-comments-post.php, to be changed via the comment_form_defaults filter. [37208] #26841

Customize

Docs

  • Properly notate optional parameters as such in a variety of DocBlocks in wp-includes/link-template.php. [37252] #30406
  • Fix typo in a comment in wp-admin/js/postbox.js. [37195] #36349
  • Fix typo in get_image_send_to_editor() description. [37194] #36349
  • Fix typo in wp_update_theme() description. [37193] #36349
  • Clarify that is_tax() and WP_Query::is_tax() return false for built-in taxonomies (category and tag archives). [37235] #36331
  • Correct description for override_load_textdomain and override_unload_textdomain filters. [37214] #36537
  • Use third-person singular verbs in DocBlock and hook doc summaries in wp-includes/link-template.php. [37213] #30406
  • Fix typo in wp_cache_switch_to_blog() and WP_Object_Cache::switch_to_blog() description. [37216] #36548
  • Reference the correct variable in WP_Ajax_UnitTestCase::_handleAjax() documentation. [37199] #36522
  • Clarify possible types passed to the themes_api_result filter. [37209] #32246

Export

I18N

  • Remove tags from translatable string in wp-admin/options-writing.php. [37198] #36249
  • Add translator comment for a string with a placeholder added in [36806]. [37201] #36493

Login and Registration

  • Add login_header action that fires in the login page header after the body tag is opened and complements login_footer. [37243] #22139
  • Add noindexing to the default wp_die() handler to avoid unnecessary crawl errors in web search engines. [37210] #34401

Media

  • Resolve fatal error on resize with ImageMagick < 6.4.6 Merge of [37192] to the 4.5 branch. Fixes #36501. [37245] #36501
  • Change the close “X” in the Media “Attach to existing content” modal in a button. [37231] #36554
  • Resolve fatal error on resize with ImageMagick < 6.4.6 Fixes #36501. [37192] #36501
  • Make $current_site and $current_blog explicitly global. [37226] #34941
  • Fire a clean_site_cache action when a site’s cache is cleared [37204] #36203
  • Remove theme from network allowed themes when deleted [37203] #34182
  • Introduce WP_Theme methods to network enable/disable themes. [37202] #30594
  • Relocate revoke_super_admin() and grant_super_admin() [37200] #21788
  • Do not set network options to autoload in single site [37223] #22846

Plugins

  • Show the upload form in place rather than sending users to the devoted upload plugin page. [37221] #35429
  • Properly wrap long tab names to a second line in plugin details modal. [37218] #33221

Posts, Post Types

  • Pass thumbnail ID to the admin_post_thumbnail_html filter. [37196] #36443
  • In sanitize_post_field(), only run ‘attribute’ or ‘js’ escaping when necessary. [37220] #34900

Query

Themes

  • Adding the singular class per default to the list of body classes is breaking the layout of Twenty Eleven and other themes. Merge of [37249] to the 4.5 branch. [37249-37250] #36510
  • After [37217], add other embed templates to file descriptions. [37232] #34561, #34561
  • Account for longer strings in Theme Details bar on Themes screen. [37219] #27939
  • Add embed.php to file descriptions. [37217] #36551
  • Fix single theme modal on collapsed menu. [37205] #36504

TinyMCE

XML-RPC

  • Use a strict comparison to ensure that a non-numerically-indexed array is not incorrectly matched as a numeric array. [37244] #36586

 

Thanks to @afercia, @azaozz, @barry, @bobbingwide, @boonebgorges, @borkweb, @celloexpressions, @Cheffheid, @Chouby, @christophherr, @cliffseal, @dd32, @dimadin, @DrewAPicture, @ericlewis, @flixos90, @Frozzare, @gblsm, @hardeepasrani, @henrywright, @iamfriendly, @igmoweb, @Ipstenu, @iseulde, @jeremyfelt, @joedolson, @johnbillion, @johnjamesjacoby, @jorbin, @meitar, @michaelarestad, @mikeschroder, @netweb, @obenland, @ocean90, @postpostmodern, @rachelbaker, @ramiy, @rodrigosprimo, @SergeyBiryukov, @shahpranaf, @spacedmonkey, @swissspidy, @TacoVerdo, @tfrommen, @theMikeD, @thomaswm, @voldemortensen, and @yoavf for their contributions!

#4-6, #week-in-core