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 [39233-39340]. Here are the highlights:
- 108 commits
- 53 contributors
- 114 tickets created
- 16 tickets reopened
- 101 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
Bundled Theme
- Twenty Seventeen: CSSCSS Cascading Style Sheets. coding standards [39340] #38901
- Twenty Seventeen: Ensure galleries display correctly in IE11. [39339] #38872
- Twenty Seventeen: Avoid an undefined index notice after [39291]. [39317] #38847
- Twenty Seventeen: Adds
background-attachment: fixed;to devices that should support it [39297] #38395 - Twenty Seventeen: Ensure the use of proper image size for custom 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. image [39291] #38847
- Twenty Seventeen: Remove some extraneous function calls. [39286] #38848
- Twenty Seventeen: Additional default header image optimizations. [39279] #38793
- Twenty Seventeen: Add styles for custom header video controls. [39273] #38697
- Twenty Seventeen: Compress the default header image. [39248] #38793
Comments
- 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/: On Comment create, limit the ability to set theauthor_ipvalue directly. [39302] #38819 - REST API: Change “ipv4” types to “ip” to support ipv6. [39296] #38818
- REST API: Remove the
karmaproperty and query parameter from the Comments endpoints. [39292] #38821 - REST API: On comment create, return an error if the
typeproperty is set to anything other thancomment. [39290] #38820 - REST API: On comment create, return an error if the
postparameter does not relate to a valid WP_Post object. [39288] #38816 - REST API: On comment create, fallback to the
user_agentheader value. [39287] #38817 - Query used to fill comment descendants should reset ‘offset’ and ‘number’ params. [39274] #37696
Customize
- Prevent selective refresh from causing infinite fallback refreshes when nav menu contains 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. items. [39333] #38890
- Remove iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.-specific behaviors from customize preview when previewing on frontend and not contained inside iframe. [39332] #30937, #38867
- Ensure that
WP_Customize_Manager::save_changeset_post()returnssetting_validitieseven for supplied values that are unchanged from values in changeset. [39320] #38705, #30937, #38865 - Ensure
WP_Customize_Setting::value()returns previewed value for custom types utilizing thecustomize_value_{$id_base}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.. [39318] #38864 - Autoprefixer for [39249]. [39301] #29158
- Remove obsolete edit shortcut style rules from Twenty Seventeen. [39285] #38776
- Ensure Close button actually closes 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. (instead of going back) after switching to a different theme inside a
customize-loaderiframe. [39271] #38833 - Prevent edit shortcut buttons from being inserted into container elements in the
heador into elements which should not get interactive children. [39270] #27403, #38672, #38830 - Allow URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for Codex link in Additional CSS section to be translated. [39268] #35395, #38823
- More visible focus and hover states for close and back buttons. [39249] #29158
- Ensure edit shortcuts have same background color regardless of theme colors. [39243] #38776
- Add
!importantline-heightto edit shortcut buttons. [39242] #38787 - Allow starter content to apply in a new theme when switching from another theme containing changes. [39241] #38114, #38541
- Only show video header controls if previewing front page; show explanatory notice when controls are hidden. [39237] #38796, #38778
- Adjust layout for edit shortcuts only when shown. [39233] #38651
Database
Emoji
General
- 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. install: De-duplicate a conditional, introduced in [38172]. [39336] #38190
- Docs: Use 3-digit, x.x.x style semantic versioning for
@since 4.7.0entries. [39281] #37770 - Tests: Add a missing
$messageargument forassertEquals()in [39265]. [39267] #23626 - Tests: Use
assertEquals()‘ native functionality for delta comparison intest_wp_convert_bytes_to_hr(). [39265] #23626
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.
- In
wp_dropdown_languages()rename the newshow_site_locale_defaultargument toshow_option_site_default. [39331] #38632, #38871 - Add an additional caching layer for
_load_textdomain_just_in_time(). [39330] #37997 - Introduce more translator comments for strings that contain placeholders but don’t have an accompanying translator comment. [39326] #38882
- Move the support forums URL in update-related 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. error messages to a separate translatable string that is already used elsewhere. [39325] #38880
- Remove an erroneous
@TODOintroduced in [39323]. [39324] #38882 - Begin introducing translator comments for strings which include placeholders but no accompanying translator comment. [39323] #38882
- REST API: Merge two error messages for edit / update. [39322] #38879
- REST API: Update error messages in
WP_REST_Comments_Controllerto use the common text for permission errors. [39321] #38875 - Use ‘WordPress hook name’ instead of ‘PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher hook name’ in translator comments added in [39315]. [39316] #38862
- Add translator comments for strings in
_deprecated_*()functions. [39315] #38862 - Remove unnecessary
__()calls in_rotate_image_resource()and_flip_image_resource(). [39314] #38862 - REST API: Merge some more permission error strings missed in [39309]. [39313] #38857
- Text Changes: Merge strings referring to
list_userscapabilitycapability A capability is permission to perform one or more types of task. Checking if a user has a capability is performed by thecurrent_user_canfunction. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability).. [39312] #38857 - Merge two ‘RSS Error:’ strings. [39311] #38861
- REST API: After [39306], move
author_ipargument to the correct place. [39310] #38822 - REST API: Merge and clarify some permission error strings. [39309] #38857
- Text Changes: Merge and clarify some permission error strings in the adminadmin (and super admin). [39308] #38857
- Merge two ‘ERROR:’ strings. [39307] #38860
- REST API: After [39302], clarify
author_ipparameter in error message. [39306] #38822 - REST API: Merge two similar permission error strings in
class-wp-rest-comments-controller.php. [39305] #38857 - REST API: Merge two similar permission error strings. [39304] #38857
- REST API: Clarify parameters when used in error strings. [39298] #38822
- REST API: After [39252] and [39264], uppercase some more ‘ID’ references in translatable strings. [39266] #38791
- REST API: Uppercase ‘ID’ in endpoint descriptions and error messages for consistency with other strings. [39264] #38791
- REST API: Unify some more permission error messages. [39259] #38803
- REST API: Unify permission error messages. [39257] #38803
- Remove “ tags from translatable strings in
wp-includes/class-wp-customize-manager.php. [39254] #38802 - REST API: Remove two duplicate strings, use the ones we already have. [39252] #38791
- REST API: Unify permission error messages. [39251] #38791, #34521
- REST API: After [39238] and [39239], move the remaining translator comments to preceding line. [39245] #38791
- Docs: Apply documentation standards to the new
get_available_languagesfilter. [39244] #38788 - REST API: Move translator comments to preceding line. [39239] #38791
- REST API: Add translator comments to text with placeholders. [39238] #38791
- Add the
get_available_languagesfilter. [39235] #38788
Media
- Allow override of PDF setup for multiple pages or DPI. [39303] #38832, #38522, #31050
- Make PDF preview sizes filterable. [39246] #38594
Misc
- REST API: Check read permissions on posts when viewing comments. [39295]
- Small coding standards cleanup of wp-custom-header.js. [39277]
- Post-4.7 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 4 bump. [39263]
- WordPress 4.7 Beta 4. [39262]
Options, MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. APIs
Posts, Post Types
- AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility): Improve the Post Attributes meta box fields labels. [39247] #38790
- Improve sanitisation of templates’ post types. [39236] #38766
REST API
- Set the comment
typeto a readonly property in the schema. [39337] #38820, #38886 - Trim trailing slashes from routes. [39329] #38873
- Correctly map meta keys to field names. [39328] #38786
- Disable anonymous commenting by default. [39327] #38855
- Add test case for
users/meendpoint that thecontextparam defaults toview. [39293] #38842 - Allow
parentproperty to be explicitly set to0when creating or updating a Post. [39289] #38852 - Clean up argument and property types. [39250] #38792
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.
- Update
register_taxonomyhook to useWP_Taxonomyobject. [39283] #38765 - Prevent
wp_list_categories()from producing not well-nested output ifhide_title_if_emptyis true. [39280] #38839, #33460
Text Changes
- Merge some duplicate strings with the same meaning in error messages, adjust some other strings for consistency and accuracy. [39278] #38808
- Unify permission error messages in
wp-admin/users.php. [39258] #38804 - Unify permission error message in
wp-ajax-response.js. [39253] #34521
Themes
- Prevent unneeded database updates in
wp_get_custom_css_post(). [39338] #38866 - Twenty Seventeen: Make all Codex links in DocBlocks use HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The ‘S’ at the end of HTTPS stands for ‘Secure’. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. [39300] #38854
- Twenty Seventeen: Rename the starter content menus to match the menu area names. [39294] #38615
- Improve a11yAccessibility 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) and extendability of custom video headers. [39272] #38678
- Theme starter content: Add reference IDs for most default widgets. [39261] #38615
- Theme starter content: Refine the content for pages. [39260] #38615
- Theme starter content: Add more social link items to select from. [39256] #38615
- Theme starter content: Revamp the credits 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. into an about widget. [39255] #38615
- Remove front page restriction from video header functions. [39240] #38738
- Customize: Use video-specific labels for buttons in Header Video media control. [39234] #38172
TinyMCE
- Avoid calling
editor.focus()on loading the content in the editor. It may trigger scroll-into-view in the browser. Call the quirks fix in TinyMCE directly. [39334] #38511 - Fix automatic scroll on page load. [39299] #38511
- Remove extra space in tooltip. [39284] #38063
- Tews: fix Firefox issues. [39282] #36434, #38511
Upgrade/Install
Users
- In
edit_user()fall back to site’s localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. instead ofen_USfor invalid user locales. [39269] #38632, #29783, #38798
Thanks to @adamsilverstein, @afercia, @andy, @azaozz, @boonebgorges, @bradyvercher, @celloexpressions, @chesio, @ChrisWiegman, @danielbachhuber, @davidakennedy, @dd32, @derrickkoo, @dimadin, @flixos90, @folletto, @gitlost, @helen, @iseulde, @jnylen0, @joehoyle, @joemcgill, @johnbillion, @johnpgreen, @jrf, @laurelfulford, @lucasstark, @lukecavanagh, @markoheijnen, @melchoyce, @mikeschroder, @netweb, @ocean90, @odysseygate, @pento, @peterwilsoncc, @Presskopp, @rachelbaker, @ramiy, @rianrietveld, @rmccue, @schlessera, @SergeyBiryukov, @sharkomatic, @sirbrillig, @sstoqnov, @swissspidy, @tharsheblows, @timmyc, @transl8or, @welcher, @westonruter, and @yoavf for their contributions!