Welcome back the latest issue of Week in Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [38736-38810]. Here are the highlights:
- 74 commits
- 76 contributors
- 129 tickets created
- 20 tickets reopened
- 124 tickets closed
Ticket 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.
Administration
- Accessible Tags autocomplete: [38797] #33902
- Better consistency for the Media, Add Plugins, and Add Themes toolbars. [38795] #38010
Build/Test Tools
- Continue eliminating randomness in tests. [38763] #37371
- Begin eliminating unnecessary randomness in tests. [38762] #37371
- Revert [38759]. PHPUnit’s
@requires
syntax was introduced in PHPUnit 3.7, but the tests for PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 5.2 use PHPUnit 3.6 because it’s the latest version that supports PHP 5.2. [38761] #38256
- Make use of PHPUnit’s
@requires
notation. [38759] #38256
- HTTP 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. API An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.: Remove an unnecessary duplicate HTTP request in the HTTP tests. [38758] #30017
- HTTP API: Convert the POST redirect test to use a dataProvider in order for its speed to be more accurately measured. [38757] #38237
Charset
- Allow
_canonical_charset()
to handle mixed-case strings. [38809] #38337
Comments
- When checking comments, returned error object should include HTTP status code. [38783] #36901
- Abstract
die()
calls from comment submission routine. [38778] #36901
- Pass
$comment
to the comment_max_links_url
filter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.. [38748] #37955
- Account for the
comment_order
option in get_page_of_comment()
. [38740] #31101
- Improve check for previous comments for authenticated users in
check_comment()
. [38738] #28603
Customize
- Implement customized state persistence with changesets. [38810] #28721, #31089, #30937, #31517, #30028, #23225, #34142, #36485
- Skip triggering initial click on pages section for available nav menu items if already open. [38807] #36984
- Move Pages below Custom Links in available nav menu items panel. [38794] #36984
- Show Pages section first and pre-expanded in list of available nav menu items. [38767] #36984
- Improve message displayed in widgets panel when there are no widget 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. areas currently displayed in the preview. [38766] #36922
- Ensure
customize_validate_{$setting->id}
filters apply on input post values for WP_Customize_Setting
subclasses that neglect to apply the filter themselves. [38765] #37638
- Add workaround for Safari bug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. causing preview frame to be unscrollable via
mousewheel
after a refresh. [38742] #38149
Date/Time
Editor
- Add a role
button
to the Tags meta 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 tag 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.) cloud links. [38800] #38318
- Do not send the request for releasing the post lock on unload when post_ID or active_post_lock is missing. [38772] #38271
General
- Docs: In
get_pages()
and wp_list_pages()
, note that post_status
argument can also be an array. [38798] #38136
- XML-RPC: Re-add a
global $wpdb
missed in [38768]. [38775] #37699
- Restore usage of
$wpdb
, instead of $this->db
. [38768] #37699
- Login: Don’t rely on
wp_is_mobile()
for functionality. [38739] #33704
Media
- Media modal: make it possible to reorder images by dragging on devices with both touch screen and mouse support. [38793] #31652
- Correct the hostname used in the
wp_get_attachment_metadata()
test. [38760] #36246
Menus
- Fix the posts-categories quick search. [38799] #38324
- Accessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility): Improve the UI User interface controls to move the Menu items. [38770] #35578
- Hide controls in the search tab if no items are found. [38754] #35576
- Do not show trashed posts in nav menus. [38744] #19038
Misc
- Emoji: Update Emoji CDN filter default for resource hints. [38764] #38724
- Updates for 4.6. Merge of and to the 4.6 branch 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"..
Networks and Sites
- Multisite 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: Maintain switched state in site icon/logo functions. [38786] #38253
- Multisite: Clarify that
get_site_by_path()
does not return exact matches. [38781] #38152
Pings/Trackbacks
- Add new
pre_trackback_post
action before a trackback is added to a post. [38791] #37007
- Trackbacks: Allow the error message strings passed to
trackback_response()
to be translatable. [38741] #38214
Plugins
- Docs: Improve documentation for
install_plugin_install_status()
. [38805] #36912
- Correctly display the current plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party in the plugin editor. [38745] #24122, #17552
Posts, Post Types
- Docs: Document global variables used by
get_the_content()
. [38746] #37173
Query
- Allow the hyphen-prefix-for-search-exclusion feature to be disabled by filter. [38792] #38099
REST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.
Rewrite Rules
- Make sure rewrite rules are not written until
wp_loaded
has fired [38751] #37892
Role/Capability
- Disregard the order of capabilities when testing that single site and multisite capability tests match. [38802] #38191
- Add tests for all user roles that check custom capabilities that do not have any form of handling (eg. in a
map_meta_cap
filter). [38769] #38191
Security
Taxonomy 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.
- Cache results of term count queries. [38784] #38295
- Specify taxonomy when populating cached object terms. [38779] #37291
- Avoid a fatal error in
the_tags()
in the event that get_the_term_list()
returns a WP_Error. [38777] #37291
- Better error handling when fetching object terms from cache. [38776] #37291
- On
wp-admin/term.php
, don’t show a ‘Back to’ link which links to the current page. [38753] #37573
- Remove
paged
argument from referer and add it only if current page is greater than 1. [38752] #38194
- Don’t drop term order and current page when bulk deleting terms. [38750] #38194
- Introduce
WP_Taxonomy
and use it in register_taxonomy()
and unregister_taxonomy()
. [38747] #36224, #36217
- Docs: Improvements to
register_taxonomy()
docblock (phpdoc, xref, inline docs). [38737] #38007
Themes
- Improve the inline documentation for the
get_*_template()
functions by providing examples instead of verbose explanations. [38789] #38249, #37770
- Do not show an update button if there’s no update package. [38788] #37774
- Remove
paged.php
from the theme template hierarchy. [38755] #38162
TinyMCE
- Remove the calls to getBookmark() and moveToBookmark() in IE. [38808] #38335
- When editing pages, add body class with the page template, or page-template-default. [38803] #37599
- Restore the monospace font in textareas in the TinyMCE UI. Make it same as in the Text editor. [38801] #38125
- Prevent applying Indent and Outdent while an image with a caption is selected. [38796] #38313
- Prevent iOS The operating system used on iPhones and iPads. Safari from expanding the iframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. width beyond the container width. [38782] #38289
- Update the
charmap
plugin to the latest dev. version. [38780] #37936
- Add support for custom dashicon for wp.mce.View.setLoader(). [38774] #37900
- Update to 4.4.3, changelog: https://www.tinymce.com/docs/changelog/#version443-september12016 [38773] #38081, #38245, #37507, #37808, #38000
- Allow pasting in image captions. Remove blocks and insert “ tags instead, also remove elements that would break the caption like other images, video, audio, etc. [38756] #36211
Upgrade/Install
- Show correct time of last checked update. [38743] #37554
- Updates: Remove the ‘Download’ button on the Updates screen. [38736] #36811
Users
- Use the role name instead of the role display name when fetching the list of users with no role. This avoids false positives when dealing with user roles that, for example, contain spaces in the display name. [38787] #38234
Thanks to @aaroncampbell, @abrightclearweb, @achbed, @adamsilverstein, @afercia, @akibjorklund, @aniketpant, @azaozz, @birgire, @bobbingwide, @boonebgorges, @boonebgorges for review, @celloexpressions, @Cheffheid, @choongsavvi, @choongsavvii, @Chouby, @chriseverson, @clarionwpdeveloper, @dd32, @desrosj, @dlh, @dmsnell, @DrewAPicture, @dshanske, @dungengronovius, @flixos90, @goranseric, @helen, @jamesacero, @jayarjo, @jdgrimes for initial patch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing., @jeremyfelt, @johnbillion, @jonathanbardo, @jorbin, @karmatosed, @koenschipper, @kraftbj, @lgedeon, @mattking5000, @MattyRob, @michalzuber, @mihai2u, @mikeviele, @morganestes, @mt8.biz, @needle, @ocean90, @pbearne, @pdufour for research, @pento, @peterwilsoncc, @PieWP for initial patch, @procodewp, @rachelbaker, @ryankienstra, @ryankienstra for initial patc, @sayedwp, @SergeyBiryukov, @solarissmoke, @stevenlinx, @stubgo, @sudar, @swissspidy, @tristangemus, @tristangemus for initial patch, @tywayne, @tyxla, @utkarshpatel, @valendesigns, @voldemortensen, @webmandesign, @websupporter, @westonruter, and @WraithKenny for their contributions!
#4-7, #week-in-core