WordPress Core Weekly

Hello everyone, and welcome to this installment of the WP Weekly Roundup! This edition covers February 11th, 2015 [31411] through February 18h, 2015 [31478].

Right at the top of the list: the releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. of 4.1.1 rolled out Wednesday. You can read the changelog for full details, but here’s the overview.

WordPress 4.1.1

  • Tag 4.1.1 [31478]
  • Bump $tinymce_version in the 4.1 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".. [31477]
  • Remove errant string. [31475]
  • About: Add changelog for 4.1.1. [31474]
  • Add SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase. eol-style = native where missing. [31471]
  • Add eol-style property and normalize EOLs. [31470]
  • Bump 4.1.1 version numbers & dates. [31431]

Media

  • Revert [31198] from the 4.1 branch, as it is an incomplete fix that introduces more problems than the tiny issue it was attempting to solve. [31468] #30725
  • Don’t try to read a non-existent Exif:Title 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.) in wp_read_image_metadata(), as it’s not a part of the Exif standard. [31462] #31043
  • Fix the display of Audio and Video in the Media Library when using IE8 and below. [31444] #31058
  • Prevent IE9 and lower displaying the download file dialogue when attempting to upload using the html4 Plupload handler. [31429] [31430] #31037

TinyMCE

  • Fire nodeChanged when an embedded 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. is resized so we can adjust the editor height and other UIUI User interface components. Props iseulde, [31466] #30646
  • Ensure the image toolbar stays visible when the image is much wider than the editor. Merges [31362] to the 4.1 branch. [31437] #30696
  • Select the iframe element by id. Needed as some browser extensions insert extra elements in the page. Merges [31180] to the 4.1 branch. [31436] #30785

Bundled Themes

  • Update CSSCSS Cascading Style Sheets. rules for .screen-reader-text to be consistent with current 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) guidelines. [31464] #31279
  • Remove URLs from reset credits. Closes #30764. [31454] #30764
  • Replace array_shift() with current() for performance. [31453] #31260

Internals

  • Add inline documentation to clarify the reasoning behind the various conditions that control how WP is loaded. [31463] #30935
  • Improve ‘orderby’ syntax for WP_Comment_Query[31467] #31045, #30478, #31265
  • Replace hardcoded usage of comment-page with the comment pagination base. [31459] #18084
  • Respect ‘default_option’ filters during early sanity checks in add_option() and update_option()[31473] #31047
  • Add $expiration as a parameter to the pre_set_transient_{$transient}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.. [31414] #30576
  • Restore PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 5.2 to Travis CI. [31472] #31244
  • Return a WP_Error if an empty name is provided when registering a post type. [31450] #31134
  • Posts list table: Add a filter to disable the months dropdown. [31438] #30254
  • In paginate_links(), don’t override custom format arguments when setting up default ‘add_args’. [31433] #30831
  • Avoid a PHP Warning when add_args is passed as false to paginate_links(). [31432] #30831

Customize

  • Remove margin for hidden controls. [31460] #31330
  • Don’t focus new widgets if they are added programmatically. [31428] #31295
  • Escape 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. links in the adminadmin (and super admin) menu. Fix usage of add_query_arg(). [31427] #30952
  • Restore showing a login form inside the previewer if an user is logged out. Broken since [31370]. [31421] #31294
  • Widgets: Add return param for widgets admin page to the “Manage in Customizer” link. [31420] #30888
  • Improve [31252] to show the move-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. buttons only if there is more than one rendered sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. [31419] #30690

Query

  • More careful type conversion in WP_Query is_*() methods. [31458] #24674
  • Add tests for some of WP_Query‘s sticky post logic. [31439] #27282

Toolbar

  • Remove title attributes from ‘About WordPress’, ‘Add New’, and ‘My Account’ items. [31456] #31324
  • Add a label for search field on front-end. [31455] #31323
  • Use require_once() to prevent a fatal error if _wp_admin_bar_init() is called twice. [31411] #31287

General

  • Provide a secondary sort order for wp_get_archives() when type=postbypost[31452] #30480
  • Update the default admin color scheme for more unity and refinement.
    This removes the red channel from blues and cools the grays a bit for a more cohesive and purposeful color scheme. [31422] #31234

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.

  • Return a WP_Error if an empty name is provided when registering a taxonomy. [31449] #31135
  • Split shared taxonomy terms on term update.
    When updating an existing taxonomy term that shares its term_id with another term, we generate a new row in wp_terms and associate the updated term_taxonomy_id with the new term. This separates the terms, such that updating the name of one term does not change the name of any others. #5809

Networks and Sites

  • Use get_admin_url() to get the correct My Sites URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org without calling switch_to_blog() directly. [31448] #31314
  • Create the My Sites URL in the context of a user’s primary site.
    Switch to the user’s primary (or active) site before creating the My Sites URL. This previously linked to the current site’s dashboard, even if a user was not a member of that site. [31445] #31314

Administration

  • Use correct default values for some admin template functions. [31446] #31308
  • Rename unused argument and remove obsolete global in iframe_header(). [31443] #31309
  • _list_meta_row() should always return a string. [31442] #31310
  • Terminate JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. statements in two admin files. [31440] #31311
  • Move the (recently added) .notice admin notices below the first H2, same as the .updated and .error notices. Merges [31023] to the 4.1 branch. [31434] #30885
  • Admin menu: Ensure top level menu item keeps hover color when hovering over or focusing on the submenu. [31424] #31275
  • Introduce a logout_redirect filter so the redirect destination can be changed when a user logs out. [31417] #27617

Embeds

  • Use RegEx instead of DOMDocumentwhen protecting <pre> tags in WP_oEmbed::_strip_newlines(). It is incredibly difficult to maintain character encoding and whitespace when parsing viaDOMDocument. [31423] #31214
  • After [31415], makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). sure str_replace() only occurs once for each matched tag to avoid overwriting until <pre>s. [31416] #31214
  • Protect <pre> tags when parsing oEmbed responses in WP_oEmbed::_strip_newlines() in DOMDocument is available. [31415] #31214
  • oEmbed discovery fails on encoded link URLs: decode HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. chars in the HTML-encoded URLs that are returned. [31413] #31213

Dev Chat Notes

The merge period for Feature Plugins has opened. The two candidates, Customizer Theme Switcher and the revamped Press This were both approved and will be “shepherded” in over the next week.

Also discussed were the possible switch in build tools from CSSJanus to RTLCSS (#31332), using the button element for buttons (instead of <a href="#">) and recruiting release leads for 4.3 and 4.4, with a reminder that this isn’t necessarily a developer position.

Yeah, so, the leads are already thinking about who might lead 4.3 and 4.4. The goal was always to announce these ahead of time, and hopefully see overlap with releases, but if nothing else, the release leadRelease Lead The community member ultimately responsible for the Release. for next major +n can be looking at feature plugins, tracking them, pushing them, etc.

With 4.3 starting development in less than 3 months, now would be the time to throw your hat into the ring. I think, ideally, there is an announcement before 4.2 hits 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.. This wouldn’t be about doing nothing for the next 3 months, but already getting started in terms of laying the groundwork.

If you are interested in leading a release in 2015, now would be the time to say something. Same if you are interested in helping to lead a release in 2015.

Tickets needing a look

These tickets were specifically mentioned by developers looking for assistance or an extra set of eyes:

  • #31218: nav-menu.js menu item added event
  • #27282: WP_Query returns more results when there are sticky posts
  • #17817: do_action/apply_filters/etc. recursion on same filter kills underlying call
  • #31332: RTL CSS generation: Switch from CSSJanus to RTLCSS
  • #23367: Remove message parameters from admin URl’s in the browser address bar
  • #31233: Dismissable admin notices
  • #31251: Show username in wp_dropdown_users when deleting users, not display name
  • #22768: EXIF/IPTC captions should populate caption/post_excerpt on upload, not description/post_content

Thanks to @adamsilverstein, @afercia, @azaozz, @barrykooij, @boonebgorges, @boonebgorges, @clifgriffin, @cweiske, @danielbachhuber, @dd32, @dlh, @DrewAPicture, @GregLone, @helen, @herbmillerjr, @hugobaeta, @Idealien, @ipm-frommen, @iseulde, @jdgrimes, @jeremyfelt, @johnbillio, @johnbillion, @johnjamesjacoby, @jorbin, @lancewillett, @mattheweppelsheimer, @mboynes, @melchoyce, @mgibbs18, @MikeHansenM, @morganestes, @nacin, @netweb, @norcross, @nunomorgadinho, @obenland, @ocean90, @r-a-y, @SergeyBiryukov, @simonwheatley, @sippis, @stevehickeydesign, @tywayne, @tyxla, @webord, @westonruter, and @wonderboymusic for their contributions!

#4-2, #week-in-core