Week in Core: Sept. 13-21, 2015

Welcome to the Week in Core — Week Four, with super-exciting news from around WordPress-land, and Core changes and updates for Sept. 13–21, 2015 (commits [34093][34361]). This week’s core contributors number 106! I’m especially jazzed about the number of new names on the list, and want to thank everyone for your effort this week.

News you can use

The WP REST API team submitted a proposal to merge the plugin into core, with a two-phase integration plan. The merge proposal blog post also does a nice job of presenting the history of the plugin and some use cases.

Do you use my-hacks.php in your site? Don’t. (A quick search through the plugin and theme repos shows only 10 plugins and 3 themes that mention the file.)

Multisite is making some pretty big changes, including the addition of the  WP_Network class. Check out this blog post, which outlines some of the changes and a roadmap for future updates for 4.4.

Interested in the user-focused part of WordPress? Of course you are! Join in the conversation about “Potential UI/UX projects in core.”

Code changes

Here are some highlights from the 268 change sets published to Trac; the complete report is available online in plain-text format for a bit more in-depth coverage.

Continue reading

#4-4, #week-in-core

Week in Core: Aug. 31 – Sept. 12, 2015

Welcome to the Week in Core, with updates from weeks 2 & 3: Aug. 31 – Sept. 12, 2015, changesets [33821][34092].

It’s been a busy couple of weeks in Core, with almost too many changes to count (for the record, this one covers 271 commits!). I’m going to keep this update shorter than usual and highlight some of the bigger changes.

If you’re interested in helping write this weekly post, ping @morganestes in #core-weekly-update on Slack.

Special Note: WordPress 4.3.1 was released this week, with three security-related fixes. Be sure to update your sites!

Here’s some highlights of recent changes in core, along with some future plans and ongoing initiatives. Remember, Core moves pretty fast. If you don’t stop and look around once in a while, you could miss it.

  • WordPress will support PHP7 when it’s released. Huzzah!
  • HTTP/2 is coming! Here’s a list of tickets that need attention to get WordPress ready.
  • Get involved in Twenty Sixteen, which is in active development on GitHub.
  • Write better commit messages. The world will thank you for it. 🙂
  • As described in this post by @johnbillion, the show_ui flag for post types now gets fully honored. See #33763 for the ticket discussion.
  • A new helper function, wp_validate_action( $action = '' ), was introduced in [34059] and is used throughout admin instead of directly accessing $_REQUEST['action'].
  • A new file, wp-admin/includes/noop.php, was created to load all of the noop functions for load-script|styles.php and is only loaded by those files. DRYs in the process. [34037] #33813
  • Schema change introduced in [34030] to increase the length of wp_options.option_name to 191 chars. #13310
  • Implement a priority system for Help Tabs to add them at specific positions. [33985] #19828
  • Multisite: Don’t allow sites to be created with the following reserved slugs: wp-admin, wp-content, wp-includes [33952] #33615
  • Updated recommendations for minimum versions of PHP (5.6) and MySQL (5.5), with a special note that Oracle only actively supports MySQL for 5 years after a General Availability release. [33937] [33946]

For the full report, visit https://core.trac.wordpress.org/log/?verbose=on&format=changelog&rev=34092&stop_rev=33821&limit=400&mode=stop_on_copy.

Thanks to @adamsilverstein, @afercia, @amereservant, @ankit-k-gupta, @antpb, @austinginder, @azaozz, @BdN3504, @benjmay, @boonebgorges, @bradt, @brettz95, @celloexpressions, @cgrymala, @Cheffheid, @chriscct7, @codeelite, @CoenJacobs, @danielbachhuber, @daniellandau, @dannydehaan, @dd32, @dimadin, @dipeshkakadiya, @dlh, @DrewAPicture, @dustinbolton, @egower, @enshrined, @ericdaams, @ericlewis, @extendwings, @figureone, @filosofo, @gaelan, @GaryJ, @gitlost, @gnaka08, @gradyetc, @gregrickaby, @hauvong, @helen, @imath, @ippetkov, @iseulde, @ixkaito, @jazbek, @jeffstieler, @jeremyfelt, @jesin, @jobst, @johnbillion, @joostdevalk, @jorbin, @juliobox, @JustinSainton, @kevinlangleyjr, @khromov, @kitchin, @kraftbj, @lancewillett, @liljimmi, @lukecarbis, @macmanx, @MatheusFD, @mehulkaklotar, @mercime, @metodiew, @michielhab, @MikeHansenMe, @miqrogroove, @mitchoyoshitaka, @mordauk, @morganestes, @mrahmadawais, @mrmist, @Mte9, @nacin, @netweb, @nikeo, @nikolovtmw, @nofearinc, @obenland, @ocean90, @OriginalEXE, @Otto42, @paulwilde, @pavelevap, @pento, @peterwilsoncc, @racaseh, @rachelbaker, @rajnikmit, @rmccue, @rommelxcastro, @sc0ttkclark, @scribu, @SergeyBiryukov, @sillybean, @solarissmoke, @stevehenty, @swissspidy, @tmatsuur, @trepmal, @tyxla, @umeshnevase, @utkarshpatel, @wen-solutions, @wenthemes, @westonruter, @wojtekszkutnik, @wonderboymusic, @yoavf, and @zeo for their contributions!

#4-4, #week-in-core

WordPress Core Weekly

Howdy! Sorry, I dropped the ball last week so this week’s Weekly Roundup is a double issue — it covers April 4, 2015 [32003] to April 18, 2015 [32140].

This week marks the release of RC1, which is the first release that many plugin authors and beta testers will test heavily. If you don’t already, now is a good time to check out the Alpha/Beta forums for any issues that crop up during this testing cycle.

We’re only days away from the release of 4.2; let’s finish strong! 🏃👏 Here’s the rundown of recent changes:

TinyMCE

  • Update to 4.1.9+. Changes:
    • Fixed bug where extra empty paragraphs would get deleted in WebKit/Blink due to recent Quriks fix.
    • Fixed bug where the editor wouldn’t work properly on IE 12 due to some required browser sniffing.
    • Fixed bug where formatting shortcut keys where interfering with Mac OS X screenshot keys. [32058] #31895
  • Disable the wp-autoresize plugin in iOS. All iframes there are already expanded to the height of the content document. [32095] #31937
  • Update the “Keyboard Shortcuts” modal. [32060] #29558
  • Fix our shortcuts on Mac, use Ctrl + Opt + letter. [32059] #29558
  • Use window.twemoji directly in the wpemoji plugin. Gives a chance to the browser to lazy load twemoji.js when reloading the page. [32142] #31901
  • Remove the empty paragraph that sometimes is left over after adding an image caption. [32141] #32003

wpView

  • Remove selected views when inserting content but not when loading all content, and remove the ref. to the selected view node on resetting the views. [32140] #31998
  • Resize sandbox iframes on load. [32056] #31480
  • Empty the content in the timeout, so it doesn’t render iframes twice. [32022] #31669

Build/Test Tools

  • During PHPUnit tests, don’t autodetect permalink structure during WP installation. [32139] #31994
  • Move the built media JS files up a directory to their previous location and naming convention. [32125] #31912 (see [31373])
  • Don’t reference underscore.js source map. [32065] #31477

General/Misc.

  • WordPress 4.2-RC1 [32137] [32138]
  • Use HTTPS URLs for codex.wordpress.org. [32116] #27115
  • Explain all placeholders in translator comment, not just the first one. [32111] #31675
  • Ensure post title input is not shortened for non-public post types. [32071] #30968
  • Improve handling of incomplete From and Content-Type headers in wp_mail(). [32070] #30266
  • wpLink: always show the URL field at the top. [32017] #28206
  • Force default avatar for HiDPI avatars on Discussion Settings. [32129] #31972

Translation and Strings

  • Merge strings that describe the same command. [32078] #31776
  • Update placeholder for FTP credentials. [32077] #31922
  • After [31941], use the decoupled strings from wp-admin/network/themes.php in wp-admin/network/site-themes.php as well. [32029] #28502
  • Correct grammar when referring to “a user” vs “an user” in several places. [32025] #31894

Administration

  • Fix flickering of the admin menu on over-scrolling. [32089] #30900
  • Dashboard: Ensure images other than avatars (such as emoji replacements) in recent comments are not incorrectly positioned. [32076] #31919
  • Admin menu: fix colors for focus state and in IE8. [32075] #31345
  • Dismissible notices: more precise positioning across browsers. [32068] #31233
  • Reset padding for buttons in theme details modal. [32128] #31963
  • Revert [32099] per discussion in #core. [32100] #30900
  • Remove z-index from #adminmenuback. [32099] #30900
  • Don’t print the custom-background class in body_class() when a default color is in use. [32081] #28687
  • Toolbar: Search item consistency for focus state and IE8. [32074] #31322
  • Pointers: Make the dismiss icon a consistent size. [32069] #31915
  • Update more instances of default admin blues and grays. [32051] #31234

Emoji and Smilies

  • Tweak which smiley matches which emoji. [32105] [32107] #31709
  • Update our few remaining smilies to better align with Twemoji, and add frownie.png until Twemoji provides a build containing it. [32104] #31709
  • The emoji JS files should be run through the script_loader_src filter, as they would be if they were registered scripts. [32097] #31938
  • Tidy up the wp_encode_emoji() regex, and clarify the function comment on Unicode 8 support. [32096]
  • Remove an errant / in Twemoji URLs. [32024] #31893
  • Remove executable bit from smilies. [32109] #31709

Themes

  • Twenty Fourteen: update editor styles to better account for adaptive images in small screens. [32094] #31934
  • Twenty Fifteen: update editor styles to better account for adaptive images in small screens. [32090] #31934
  • Theme Compat: Make string translatable and add translator comments. Added in [31941]. [32084] #28502, #31921
  • Move initialization of $customizeSidebar to api.ThemesSection.initialize() to prevent cases where the result can be undefined. [32119] #31793
  • Translator comment should just reference placeholder numbers, not the actual placeholders. [32112] #31675
  • Tell developers how to correctly silence register_sidebar() notices. [32110] #31675

Customizer

Theme Switcher

  • Fix some esoteric breakage in iOS Safari. [32103] #31794
  • Don’t deactivate section on empty search results. [32083] #31889
  • Remove “Add New” reference from customize-controls.js. [32004] #31837
  • Use text input for the search field to prevent double tap issues for Preview and Customize buttons on iOS. [32127] #31794
  • Don’t re-render a theme control if it has already been rendered.
  • Lazy load theme screenshots. [32088] #31793
  • Fix tabbing order if section is open. [32087] #31289
  • Fix preview URL for subfolder installs. [32086] #31896

Shiny Updates

  • Disable shiny updates from modal based on parent window [32082] #31739
  • Fix logic for details based shiny updates. [32080] #31739
  • Disable modal initiated shiny updates on wp-admin/update-core.php. [32067] #31739
  • Use dashes instead of dots as separator for jQuery events in shiny updates . is used for namespaces, so better to use dashes. [32063] #31819
  • Trigger events upon the completion of a shiny update. [32061] #31819
  • Remove Shiny Bulk Updates. Bulk updates don’t need to be ajaxified so let’s revert. [32053] #31770, #29820
  • Conditionally add AYS to leaving shiny updates. [32052] #31769
  • Enable users to initiate a shiny update from plugin detail modal. [32062] #31739

Media

  • Don’t allow whitespace-only image captions from the Media modal. [32079] #21848
  • Fix focus and selected state for the selected attachments set. [32072] #31898
  • Rename get_media_embedded_in_content_allowed filter tomedia_embedded_in_content_allowed_types. [32113] #26675
  • Bring back spinners, now without bouncing select elements. [32101] #22839, #30725
  • Fix the media modal Insert into post button on narrow screens by limiting the width of .media-toolbar-primary and .media-toolbar-secondary only inside .attachments-browser (the top toolbar). [32121] #31908
  • Insert from URL: Make sure the link text is actually used. [32055] #29476
  • Make sure the spinner in the media modal is visible on narrow screens (without affecting the media grid). [32120] #30725

Build Tools

  • Don’t override minified libraries included in core. [32066] #31477

Docs

  • Remove unnecessary inline @see tags from a variety of parameter and return descriptions in wp-includes/wp-db.php. [32050] #31888
  • Remove unnecessary inline @see tags from the wpdb::process_field_charsets()DocBlock. [32049] #31888
  • Add a missing return description for has_header_image(). [32048] #31888
  • Fix a variety of inline documentation syntactical issues in wp-includes/taxonomy.php. [32047] #31888
  • Add a missing @access tag to the DocBlock for the WP_Meta_Query->$clauses property. Also adds a missing return description for WP_Meta_Query::get_clauses(). [32044] #31888
  • Add a variety of missing descriptions and fix syntax for wp_scripts(),_wp_scripts_maybe_doing_it_wrong(), and wp_script_add_data(). [32040] #31888
  • Remove an unnecessary inline @see tag and document the $wpdb global in two WP_Comment_Query methods. [32038] #31888
  • Add missing parameter and return descriptions to WP_Customize_Widgets->filter_customize_dynamic_setting_args(). [32036] #31888
  • Add parameter and return descriptions for WP_Customize_Widgets->get_setting_type(). [32035] #31888
  • Add missing @access tags to two DocBlocks in WP_Customize_Setting. [32034] #31888
  • Document the $theme property in WP_Customize_Themes_Section. Also adds a missing@access tag to the DocBlock for WP_Customize_Themes_Section->render(). [32033] #31888
  • Cleanup DocBlock syntax, add a missing parameter description for WP_Customize_Manager->set_post_value(). [32031] #31888
  • Add inline doc syntax fixes for WP_Customize_Manager->doing_ajax(). Also adds a return description. [32030] #31888
  • Add documentation for the $type and $theme properties in WP_Customize_Theme_Control. Also add some missing @access tags to various DocBlocks. [32028] #31888
  • Fix description alignment for the category_css_class filter docs. [32026] #31888
  • Add documentation for the $type, $mime_type, and $button_labels properties in WP_Customize_Media_Control. [32023] #31888
  • Clarify the DocBlock summary and parameter description forwp_edit_attachments_query_vars(). [32019] #31888
  • Add proper descriptions for the @global and @param tags in the wp_media_attach_action() DocBlock. [32018] #31888
  • Clarify the DocBlock description for wp_print_request_filesystem_credentials_modal(). [32016] #31888
  • Clarify 4.2.0 changelog entry, add global description to the DocBlock for WP_Users_List_Table->single_row(). [32015] #31888
  • Add missing @since versions from a variety of methods in WP_Press_This. [32014] #31888
  • Add missing DocBlocks for the _limit_array(), _limit_string(), _limit_url(),_limit_img(), _limit_embed(), and _process_meta_entry() utility methods in WP_Press_This. [32013] #31888
  • Add a return description to the DocBlock for WP_Posts_List_Table->is_base_request(). [32009] #31888
  • Add an @see mention for Plugin_Upgrader, plus spacing to the wp_ajax_update_plugin()delcaration. [32006] #31888
  • Add a more descriptive function summary for options_discussion_add_js(). [32005] #31888
  • Fix Docblock syntax for the taxonomy_parent_dropdown_args filter. [32003] #31888
  • Add a missing return description for wp_styles(). [32041] #31888
  • wp_install_maybe_enable_pretty_permalinks() should have a consistent @return value. [32027] #6481, #31888

Help/About

  • All strings are available for translation. [32132] [32135] [32136] #31929
  • Change the subhead strings on credits.php and freedoms.php to match about.php.
  • Link the Emoji Codex article in the emoji blurb.
  • Add a second sentence to the JavaScript Accessibility blurb.
  • Switch positions for the JavaScript Accessibility and Complex Query Ordering sections for balance. [32131] #31929
  • Update about page for 4.2. [32118] [32123] [32130] #31929

Upgrade/Install

  • Move wp-plugin-update-success event to after lock is released [32133] #31978, #31819
  • Use named function instead of anonymous function, making it testable and replaceable. [32126] #31964
  • When dbDelta() is checking whether an index is defined in a CREATE TABLE statement, don’t worry if MySQL has a subpart defined on an index, but the CREATE TABLE doesn’t. [32108] #31869

Script Loader

Press This

  • Do not show the bookmarklet upgrade notice when accessing directly press-this.php. [32122] #31968
  • Add mb_strlen() compatibility function. Works the same way as the existing mb_substr() compatibility function. [32114] #31951
  • Check the bookmarklet version and add the update notice from PHP. [32106] #31942
  • Add ARIA attributes to the alerts container. [32102] #31942
  • Fix focusing the Standard Editor link after saving draft, if the user has not focused another element. [32098] #31923
  • Change the link text to Standard Editor. [32093] #31923
  • When saving a draft change the text of the Save Draft button to “Saving…” [32092] #31923
  • Update documentation for press_this_save_redirect filter after [31992]. [32143] #31996

Taxonomy

  • wp_update_term() should check if get_term() returned null. [32117] #31954
  • Avoid an unexpected object error when syncing global terms. Pass the expected single value, rather than object, when recursively calling global_terms(). [32064] #31914, #31149

Editor

Thanks to @adamsilverstein, @afercia, @awbauer, @azaozz, @boonebgorges, @DavidAnderson, @dimadin, @dlh, @DrewAPicture, @ericlewis, @hauvong, @helen, @hugobaeta, @iseulde, @jamescollins, @jeremyfelt, @joemcgill, @joen, @johnbillion, @jorbin, @kraftbj, @lancewillett, @markjaquith, @mattheu, @Michael-Arestad, @mindrun, @morganestes, @nacin, @nitkr, @obenland, @ocean90, @pavelevap, @pento, @peterwilsoncc, @samuelsidler, @SergeyBiryukov, @siobhan, @sirbrillig, @slobodanmanic, @swissspidy, @tmatsuur, @Tmeiste, @tyxla, @valendesigns, @westonruter, and @wonderboymusic for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Here we go again! It’s time to look at what’s going on in WordPress core. This edition of WordPress Core Weekly covers March 28, 2015 [31916] through April 4, 2015 [32002].

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

Highlights from this week

This week WordPress 4.2 Beta 4 got released. This hopefully last beta saw lots of accessibility improvements and added the ability to make admin notices dismissible. Emoji support in core is now pretty stable – maybe the next weekly post is written in emojis only? Also, there were some notes posted on utf8mb4 and the term splitting in WordPress 4.2.

Last but not least, @obenland and @wonderboymusic were announced as release leads for WordPress 4.3 and 4.4, respectively. Congrats! 🎉

Code Updates

Posts, Post Types

  • After [31114] and [31323], ‘View Post’ generated in get_sample_permalink_html() should go to pretty permalink. [32002] #30910
  • Avoid duplicate classes for different terms with UTF–8 slugs in post_class() and body_class(). [31979] #30883
  • In WP_Posts_List_Table::get_views(), don’t add the current class to the all status link if ->user_posts_count has a value, which triggers the additional mine status. [31959] #24869

Users

  • WP_User_Query: When querying users with fields=all, ensure that caps and roles are filled for the current site. [32001] #31878
  • When updating the email address for an existing user, make sure the email address is not already in use. [31963] #30647

Comments

General

  • WordPress 4.2-beta4 [31997][31998]
  • Respect numerical keys in add_query_arg(). Avoid the use of array_replace() in add_query_arg(). [31966][31967] #31306
  • TinyMCE: always focus the editor after using the floated toolbar. [31972] #30619

Emoji

  • Enhance twemoji.js to support passing of additional attributes for the replacement images. [31948] #31627
  • When encoding emoji into HTML entities, 0 was being incorrectly trimmed from the right side of the hex string, causing some characters to be encoded incorrectly. [31926]
  • When staticizing emoji into <img> tags, include an alt attribute of the original Emoji, to match both Smiley and Twemoji <img> tags. [31924]
  • Change the emoji CDN to w.org, from wp.com. [31938][31977] #31651

Themes

  • Accessibility improvements for Themes screen: fix keyboard events and callbacks for the Search field, increase trigger timeout a bit, improve Esc. key handling. [31994] #26600
  • Improve focus styling of add-new-theme link. [31952] #31203
  • Add a filter to short-circuit wp_prepare_themes_for_js(). [31943] #31789

Administration

  • Accessibility improvements for Options general screen: add missing labels and aria attributes. [31993] #31144
  • Accessibility: Add landmark roles to WordPress admin areas. [31955] #31450
  • Make sure the update button in “At a Glance” dashboard widget does not overlap with long strings. [31928] #30766

Press This

  • Prevent pasting of HTML in the title H2. Insert the clipboard text instead. [31987] #31768
  • Use more accurate wording on Tools screen. [31980] #31836
  • Use the error message returned by wp_update_post() instead of a generic one. [31930] #31808
  • Fix accessibility for the post options “sidebar”. Fix size of the Add Category button. [31925] #31575

Upgrade/Install

  • Introduce a string representing bulk plugin update success, ready for string freeze. Not used yet. [31991] #31770
  • Plugins Browser: Replace the download count with the number of Active installs of the plugin. [31990] #31865
  • Add beforeunload string for shiny updates. [31989] #31769
  • Update aria-label when doing a shiny plugin update [31982] #31722
  • Add some logic into wp_tempnam to prevent it creating ‘falsey’ directory names that might get used elsewhere within WordPress. [31936] #31811

I18N

  • Merge title strings on Edit Site screens. [31962] #31844
  • Remove unused printf() on network setup screen. [31961] #31841
  • Decouple strings where the singular and plural form are not just the same string with different numbers, but essentially two different strings. [31941][31951] #28502

Customize

  • Theme Switcher: Navigation streamlining. [31975] #31289
  • Theme Switcher: Remove “Add New” references. [31968] #31837
  • Theme Switcher: Switch the details/live preview buttons. [31954] #31791
  • Theme Switcher: Use the global panel back button instead of adding a new one. [31918] #31794
  • Theme Switcher: Fix invalid HTML markup when New Theme control is added. [31950] #31203
  • Make the available widgets overlay closable on narrow screens. [31974] #28784
  • Defer rendering theme controls until the section is displayed. [31944] #31793
  • Revert [31911]. We want to preserve url and return URL parameters to make the experience smoother. [31933] #31782
  • Increase size of search field and disable text size adjustment to prevent auto zooming. [31917] #31794
  • Increase initial-scale viewport specification to 1.0. [31921] #31794, #28784
  • Fix selector for container which includes the controls. Broken since [30102]. [31916] #31794, #31014

XML-RPC

  • Correctly set the post author in wp_xmlrpc_server::mw_editPost() when the current user is not the author of the post. [31983] #24916

Networks and Sites

Administration

  • Admin notices: Make (most) core notices dismissible. These no longer return upon refreshing the page when JS is on and working, so users should be able to dismiss them. [31973] #31233, #23367

Bundled Theme

  • Twenty Eleven: add postMessage support for header_textcolor to improve the user experience in the Customizer. [31971] #24128
  • Twenty Fifteen: adjust scroll behavior to make sure sidebar height is calculated during scroll events, not just resize events. [31934] #31734
  • Twenty Thirteen: make sure submenu links work correctly on small screens with touch events. [31932] #31762

Formatting

  • Alter the regex in wptexturize() to properly handle input like: <> "Hello world" <>. [31965] #30344

Permalinks

  • When shifting WP_Rewrite::flush_rules() to a later action if it was called too early, make sure to do a hard flush if requested. [31964] #30501

Media

  • When editing an image from the editor, and the image has a value for alignment (but not for width or caption), don’t bail without first checking that the alignment’s value is not alignnone. If so, add the class to the <a> before bailing. [31958] #21848
  • Media Library: Add a label for attachment type select in list mode. [31942] #31795

Editor

Database

  • When we check the character set of a column, and find that it’s utf8mb4, we should also check that the current connection supports utf8mb4. It’s possible that the environment may have changed since upgrading the DB, so we can fall back to utf8 when that happens. [31947] #31771
  • When we’re checking to see if the MySQL client library supports utf8mb4, we need a separate check for mysqlnd versions, which using different version numbering to libmysqlclient. [31939] #31644

Login and Registration

  • Disable body scrolling when session expired log in modal is open. [31945] #31610

Media

  • Revert using require for JS modules because that made them read-only for the public. [31935] #31684, #28510

Menus

  • Fix duplicate ID for Save Menu button on Menus screen. [31927] #31803

Thanks to @A5hleyRich, @adamsilverstein, @afercia, @azaozz, @boonebgorges, @cdog, @celloexpressions, @davideugenepratt, @dd32, @deconf, @Denis-de-Bernardy, @designsimply @dllh, @DrewAPictur, @DrewAPicture, @ericlewis, @evansolomon, @folletto, @helen, @iseulde, @jeremyfelt, @joedolson, @johnbillion, @jorbin, @jorbin, @kraftbj, @lancewillett, @markoheijnen, @mattheu, @mattwiebe, @MattyRob, @mehulkaklotar, @MikeHansenMe, @miqrogroove, @mordauk, @mrahmadawais, @ocean90, @paulwilde, @pento, @ramiy, @redsweater, @rittesh.patel, @sagarjadhav, @SergeyBiryukov, @sgrant, @stephdau, @swissspidy, @tyxla, @valendesigns, @westonruter, and @wonderboymusic for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Hi Everyone!

It’s time for another run-down of what’s going on in WordPress core. This edition covers March 20, 2015 [31845] through March 28, 2015 [31915].

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

This week’s highlight is WordPress 4.2 Beta 3, which was released on Thursday. There were many accessibility and emoji improvements and bug fixes. Also, shiny installs functionality was removed.

I18N

  • Improve newly added strings for i18n. [31905] #31776
  • Remove <code> tags from translatable strings. Uncomment deprecation notice for get_bloginfo( 'text_direction' ). [31899] #30614

Customize

  • Theme Switcher: Opening themes details modal shouldn’t require two clicks on touch devices. [31914] #31794
  • Theme Switcher: Reset font size of theme names in overlay. Apply left position only to themes section. [31892] #31303
  • Theme Switcher: Don’t hide action buttons on narrow screens. [31912] #31794
  • Use proper preview URL for Live Preview links. [31911] #31782
  • Avoid SecurityErrors when the Customizer is embedded in an origin other than wp-admin. [31885] [31893] #31687
  • Use responsive button styles if screen is max-width 640px. [31913] #31794, #28784

Emoji

  • [31864] changed emoji image’s inline style from height to max-height. Unfortunately, anything using feedparser.py (for example, NewsBlur) strips out max-height, which gives us massive emoji in feeds. This re-adds height, and also reminds us why we can’t have nice things. [31909] #31719
  • When we’re replacing emoji with <img>s in email, we can only do that if the Content-Type is text/html – otherwise, they’ll show up in the email as the HTML string. [31860] #31720
  • Instead of loading the emoji JS files automatically, we now include a small JS shim in the header, to test if the user’s browser needs Twemoji. It then loads the emoji JS files only if they’re needed. [31875] [31877] [31879] #31701
  • Set the emoji image protocol with set_url_scheme(), instead of defaulting to HTTPS. [31861] #31735

Press This

  • Remove role="application" from the Categories list wrapper. This doesn’t make it work better in screen readers. [31907] #31443
  • On sites that support oEmbed, if the user has selected some text, quote it below the embed. [31894] #31763
  • Fix the links on inserted images to point to the source site. Fix inserting of images above the blockquote when the editor has not been focused. [31868] #31745

Upgrade/Install

  • Fill $plugins['upgrade'] with extra info for use in list table [31872] #31738
  • Remove Shiny Plugin Installs [31897] [31900] [31901] #31773, #29820
  • When creating a temporary working directory, strip off .tmp as well as .zip incase we end up using that directory as the items main directory. [31863] #30945

General

  • Remove ambiguity in the time display format in core, switches to using 24hr notation where am/pm isn’t specified. [31862] #31121
  • Comments List: Don’t let “Quick Edit” break on smaller screens. [31889] #31482
  • Admin menu: Revert [31720] for swipe open/closed. This is problematic on any device that uses swipe for history navigation, particularly iOS. [31910] #31187
  • Do not output empty name and id HTML attributes in get_submit_button(). [31880] #31749
  • When altering the admin URL to reflect the canonical location, keep the existing hash (if present) in the URL. [31882] #31758, #23367
  • WordPress 4.2-beta3 [31902] [31903]

Taxonomy

  • When saving post, ensure that non-hierarchical taxonomy input is defined before attempting to parse it. [31895] #30859
  • Taxonomy List Tables: On mobile devices, hide the slug column, to avoid cramping the action links into two rows. [31865] #29992
  • Supplement hook documentation for the get_terms_fields filter to more clearly explain the expected consequences of using it to modify the fields to select in a terms query. [31855] #31174

TinyMCE

  • Make sure the editor is not completely empty before checking if the user clicked above or below a wpView. [31888] #31765
  • Pad empty paragraphs with <br> in Chrome to stop it from inserting non-breaking spaces in them. [31878] #31255
  • Fix error and PHP warning when adding more than one instance in RTL mode. [31874] #31578
  • Fix the icon for the wp_code button. [31858] #31733
  • When pasting an URL, check if the node it is pasted at is empty and remove any empty inline child elements. [31856] #31158

Script Loader

  • Avoid a PHP notice in wp_enqueue_script() if $handle is an array. Calling wp_enqueue_script() with an array as the first argument is a “hidden feature” and should be avoided. Use dependencies instead. [31887] #31636, #14488

Widgets

  • Text Widget: Use !empty() for checking if the filter setting is set. [31886] #31690
  • Trigger _doing_it_wrong() if register_sidebar() is not passed an id. [31850] #31675

Login and Registration

  • Implement an aria-describedby attribute for login screen errors, and improve the “Forgot password?” anchor text. [31871] #31143

Media

  • Introduce attachment_url_to_postid filter to let plugins manage the uploads location better. [31867] #31717
  • Show filename instead of extension in the list table. [31857] #30943

Bundled Theme

  • Update editor styles to better display images and captions in small screens. [31849] #31250

Build/Test Tools

Thanks to @A5hleyRich, @afercia, @aferica, @atimmer, @azaozz, @boonebgorges, @Cheffheid, @dd32, @dkotter, @DrewAPicture, @ericlewis, @extendwings, @HarishChaudhari, @helen, @ianmjones, @iseulde, @jacklenox, @janhenckens, @johnbillion, @johneckman, @jorbin, @kraftbj, @lamosty, @lancewillett, @magicroundabout, @maimairel, @markjaquith, @mattheu, @mattwiebe, @MikeNGarrett, @nerrad, @obenland, @ocean90, @pento, @ramiy, @rianrietvel, @SergeyBiryukov, @sorich87, @stephdau, @swissspidy, @tschutter, @tyxla, @valendesign, @valendesigns, and @westonruter for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Hi Everyone!

It’s time for another run-down of what’s going on in WordPress core, directly from WordCamp London. This edition covers March 13, 2015 [31765] through March 20, 2015 [31844].

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

This week’s highlight is definitely WordPress 4.2 Beta 2, which was released on Thursday. Make sure to check it out!

I18N

Bundled Themes

Canonical

  • If the URL being visited has non-breaking spaces at the end of it, they were probably inserted by an errant URL copy/paste. Instead of showing a 404 for no obvious reason, let’s just trim them. [31838] #31499

Press This

  • Check if the URL is to embeddable content on a site that supports oEmbed. Then insert only the URL in the editor. It will trigger a wpView with the embedded content. [31827] #31637
  • Prepend the site domain to root-relative URLs. Reject other relative URLs. [31818] #31645
  • Ignore site descriptions that end with an ellipsis. These are most likely auto-generated. [31810] #31639
  • Change the Publish button text to Submit for Review for contributors (like on the Edit Post screen). [31798] #31658
  • Increase the number of meta tags we check in the bookmarklet to 200. Sometimes there are empty meta tag nodes (no attributes) in some browsers. [31778] #31373
  • Simplify and restyle the categories drop-down, remove the checkboxes and use JS to get the selected categories on submitting the form. [31765] #31443

Plugins

Embeds

  • Revert stripping of tags from pasted URLs on beforeSetContent [31817] and [31819]. Clean up URLs on `pastePreProcess`. [31832] #31158
  • Small cleanup for stripping of tags from pasted URLs. See #31158. [31819] #31158
  • Strip tags from pasted URLs before testing if they are embeddable. [31817] #31158

Upgrade/Install

  • Ensure that we target the correct plugin row for update updates [31831] #31621
  • Request FTP and SSH credentials when needed during shiny updates [31811] #31528

General

  • WordPress 4.2-beta2 [31835]
  • Remove duplicate label on Add New User screen. [31777] #31131
  • Don’t try to call wp_clean_plugins_cache(); twice in wp_clean_update_cache(). [31825] #31503
  • List tables: Go back to inserting quick edit rows after, as some plugins rely on that assumption. Results are the same. [31820] #26060

Emoji

  • Move a comment to match the restructure in [31779], and add an extra comment explaining how emoji rendering support is detected. [31788] #31242
  • Fix few typos. See #31242. [31787] #31242
  • Add the styling for the replacement images to the admin CSS and revert to using .emoji as replacement image class. [31786] #31242
  • Smilies: The new smilies added in [31733] and [31745] are larger than the old smilies. By adding a little bit of inline style to them, we get pleasingly sized smilies everywhere. 🙂 [31781] #31242
  • Yet another update for Twemoji, to 1.3.2. See #31242. [31773] #31242
  • TinyMCE emoji: fix highlighting of selected replacement images in Chrome. [31822] #31628

Posts, Post Types

  • Add WP_Posts_List_Table::is_base_request() to determine if the current “view” is the “All” (default) view. [31828] #24869

Widgets

Toolbar

  • Protect against Firefox font rendering interference by themes. [31824] #30021

Taxonomy

  • Edit Terms: Show error messages actually as error messages. [31823] #31241
  • Ensure that the $exclusions parameter of list_terms_exclusions filter is always a string. [31813] #31681

Comments

  • Move HTML tags for screen reader text into translatable strings. [31821] #26553
  • Improve method consistency in WP_Comment_Query. These changes bring WP_Comment_Query syntax closer to that of WP_Query. [31793] #24826
  • Restore line breaks before comment text in comment notification emails. [31770] #31508

Filesystem API

  • Change WP_Filesystem_FTPext::exists() and WP_Filesystem_ftpsockets::exists() to return true for empty directories. [31815] #30815

Build/Test Tools

Formatting,Taxonomy

  • In wp_insert_term(), allow a term with an existing name if a unique $slug has been provided. [31792] #17689 #31328

Database

  • HHVM doesn’t support passing a DB link to mysqli_get_client_version(). While we usually pass a DB link to every ext/mysql and mysqli function call, we don’t really need to do that here, as there’s no way for the client library to change mid page load.[31783] #31644

Thanks to @abhishekfdd, @afercia, @azaozz, @boonebgorges, @cbaldelomar, @cfinke, @danielbachhuber, @DrewAPicture, @ericlewi, @ericlewis, @fhwebcs, @helen, @imath, @iseulde, @jeremyfelt, @jorbi, @jorbin, @kraftbj, @lancewillett, @mercime, @Michael-Arestad, @mordauk, @morganestes, @obenland, @ocean90, @pavelevap, @pento, @rahulbhangale, @SergeyBiryukov, @siobhan, @stephdau, @swissspidy, @TobiasBg, @valendesigns, @westonruter, and @wonderboymusic for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Hi everyone, and welcome to this week’s installment of WordPress Core Weekly – covering March 5 2015 [31621] through March 13, 2015 [31764].

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

WordPress 4.2 Beta 1

In case you missed it, the first beta of WordPress 4.2 was released yesterday! Read the announcement post for a quick overview of all features (emojis! 🎉🎉) and be sure to test it extensively.

Code Updates

General

TinyMCE

  • Abstract the code for creating floating toolbars. Introduce editor.wp namespace to hold exported methods from our plugins. [31725] #30619
  • Hide TinyMCE help button on mobile. [31718] #31161
  • Update TinyMCE to 4.1.9. [31700] #31551
  • TinyMCE: when pasting an URL over a selection, insert a link with the URL instead of replacing the selection with it. [31691] #31571
  • In the modal state for Embed previews, only show the Title field when the preview fails. [31632] #29476

Upgrade/Install

  • Shiny Updates: Disable body scrolling when filesystem request modal is open. [31753] #31607
  • Shiny Updates: Don’t translate an error code string. [31751] #31606

Posts, Post Types

  • Allow is_page_template() to accept an array, as many other conditional tags do. [31754] #31271
  • Introduce a new algorithm for displaying a hierarchical list of post objects in the WP_Posts_List_Table. This reduces processing time, reduces database queries, and substantially reduces memory use on sites with a high number of Pages. [31730] #15459

Press This

  • Remove obsolete help tab in Settings -> Writing. [31743] #26794
  • update _limit_url(), use esc_url_raw(). [31737] #31373
  • Filter and select the content on the PHP side. Then pass only the needed data to JS. [31693] #31373
  • Add preview functionality. Opens the preview in a new window or a tab next to the source tab. [31654] #31458

Media

  • EXIF/IPTC captions should populate Caption (post_excerpt) on upload, not Description (post_content). [31694] #22768
  • Introduce a function, wp_attachment_is( $type, $post = 0 ), to collapse the logic for determining whether an attachment is an image, audio, or video. [31645] [31670] #25275

Widgets

Feeds

External Libraries

Plugins

  • Plugin details: Ensure banner image doesn’t repeat. [31719] #30773

Embeds

Customizer

  • Return the original value when filtering theme mods/options and the current blog has changed. [31707] #31428
  • Prevent a race condition when attempting to publish too soon after updating widget form fields with multiple edits. [31706] #31501
  • Fix previewing and applying widgets when previewing another theme. [31705] #31484
  • Introduce WP_Customize_Media_Control, a new base class for all Customizer media controls. [31698] #29215
  • Add loading indicators for the Customizer preview. [31697] #31196
  • Add audio/video previews for upload controls. [31661] #30850

Comments

  • Improved customizability for the Submit button in comment_form(). [31699] #15015
  • Comments: Show more identifying information for moderation and editing. [31641] [31695] #23988

Administration

  • Screen Options: Improve items per page option label. Add a default label “Number of items per page:” to WP_Screen->render_per_page_options() and remove all the existing one-word labels. [31696] #31349, #15576
  • Theme Details: Hide admin toolbar on smaller screens. [31702] #31381
  • Star ratings: Use a yellow color across the board. Keying these to color schemes originally turned out to be weird. [31747] #31424
  • Remove single-use URL parameters and create canonical link based on new URL. [31736] #23367
  • Allow swiping of the admin menu on touch devices. [31720] #31187
  • Restore <title> tag on Posts and Pages screens after [31696]. [31709] #31349
  • Replace flagrant instances of .html(”) with .empty(). [31690] #27034
  • Nav menus: Return to calling links “Custom Links”. [31748] #31344

Networks and Sites

  • Introduce delete_site meta capability. [31673] #30470
  • Return HTTP status code 403 in network admin when access is forbidden. [31658] #31422
  • Return HTTP status code 500 by default in ms_not_installed() [31657] #30002

Query

Users

  • Improve experience when deleting users from a multisite network. [31656] #18132

Bundled Theme

  • Twenty Fifteen: add ARIA attributes to menu toggle. [31644] #31527

Thanks to @adamsilverstein, @afercia, @azaozz, @batmoo, @beaulebens, @bendoh, @boonebgorges, @celloexpressions, @codix, @coffee2code, @craig-ralston, @dd32, @doublesharp, @DrewAPicture, @elliottcarlson, @ericlewis, @Fab1en, @HarishChaudhari, @helen, @hugobaeta, @iandunn, @Idealien, @iseulde, @jeremyfelt, @jesin, @jipmoors, @joen, @johnbillion, @jorbin, @kraftbj, @lancewillett, @LeoPeo, @mattheu, @mattheu, @MattyRob, @Michael-Arestad, @MikeHansenMe, @miqrogroove, @morganestes, @morpheu5, @mkaz, @nacin, @netweb, @ninnypants, @nofearinc, @obenland, @ocean90, @OriginalEXE, @pavelevap, @pbearne, @pento, @peterwilsoncc @podpirate, @rachelbaker, @rodrigosprimo, @scott.gonzalez, @seanchayes, @senff, @SergeyBiryukov, @SergeyBiryukov, @stephdau, @stevenkword, @swissspidy, @thaicloud, @thomaswm, @tyxla, @valendesigns, @westonruter, @wonderboymusic, and @yo-l1982 for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Hello everyone, let’s have a look at what’s going on in WordPress core! 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 Customizer. Brings into core the Customizer Theme Switcher feature plugin. You can now browse, preview, and activate themes right from the Customizer [31533] #31303

Accessibility

  • Provide proper label associations and descriptions throughout the network admin [31517] #38406
  • Add missing labels to Archives and Categories dropdown widgets. [31520] #18650

Press This

  • JSON encode the URL 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

Taxonomy

  • Add orderby=description support to get_terms(). This appears as a sortable column header. [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. PHP 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 JS 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 FTP 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

  • Multisite: 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 filter for the query arguments used for the Recent Posts widget. [31508] #29374
  • Quick Edit: Make date fields a bit wider. [31507] #27912
  • Use correct closing tag 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 plugin 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

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 release 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 branch. [31477]
  • Remove errant string. [31475]
  • About: Add changelog for 4.1.1. [31474]
  • Add SVN 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 tag 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 iframe is resized so we can adjust the editor height and other UI 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 CSS rules for .screen-reader-text to be consistent with current 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}filter. [31414] #30576
  • Restore PHP 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 Customizer links in the 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-widget buttons only if there is more than one rendered sidebar. [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

Taxonomy

  • 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 URL 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 JS 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], make 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 HTML 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 lead 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 beta. 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

WordPress Core Weekly

Hi Everyone!

It’s time for another run-down of what’s going on in WordPress core. This edition covers January 25th, 2015 [31282] through February 3rd, 2015 [31331]. If you’re interested in helping out with these updates, comment below, or ping @mike on Slack! There’s a dedicated #core-weekly-update channel and you can even use a super cool script to parse the logs. Without further ado:

Themes

  • Allow version number in the overlay to be selected. [31330] #31205
  • Remove a Chrome workaround that causes theme screenshots to look too crisp and no longer appears to be relevant. [31316] #26584
  • Twenty Fifteen: move RSS icon style rule lower to prevent it from being overridden by other social icon rules. [31283] #31129

Customizer

  • Ensure that WP_Customize_Setting::value() returns default value for setting if not dirty.
  • Allow WP_Customize_Manager::post_value() to accept a second $default argument.
  • Introduce WP_Customize_Manager::unsanitized_post_values()for accessing previously-private member variable _post_values.
  • Do require_once instead of require for Customizer classes.
  • Add unit tests for WP_Customize_Manager and WP_Customize_Setting. [31329] #28580, #30988

Script Loader

  • Separate the tests for IE conditional comments support in WP_Scripts. [31317] #16024
  • jQuery UI: Add jquery-ui-core as dependency forjquery-ui-progressbar. [31322] #31208

Upgrade / Install

  • WP_Upgrader: Remove references to non-existant variables that have never existed. [31327] #29087
  • Remove duplicate label on installation screen. [31282] #31131

Internals

  • Plugins: Remove an unused parameter on install_plugins_upload(). [31326] #28964
  • Widgets: Add widget_nav_menu_args filter for Custom Menu widget arguments. [31325] #29463
  • Menus: Don’t display “Move” text without direction if there is only one menu item. [31320] #30765
  • HTTP API: Fix an issue where the limit_response_size parameter wasn’t working properly with large documents and the cURL transport. [31290] #31172
  • i18n: Exclude wp-includes/class-pop3.php in wp_frontend() to prevent having 25 unused translations. [31315] #31179
  • i18n: Tabs, not spaces for indentation. [31314]
  • Switch to a 403 response code in places where it is more appropriate than a 500 due to permissions errors. [31300] #30927
  • Update readme recommendations. [31291] #31173

WP_Query

  • When using WP_Query’s fields => ids (or fields => id=>parent), make sure the returned result is always an array of integers. [31324] #31194, #27252
  • When querying for a specific post, allow posts with a non-public status to be returned as long as that status is specified.
    This makes it possible to, for example, retrieve a specific post using the p parameter of WP_Query, even if the post is in the Trash, by including the post_status=trash parameter. [31321] #29167
  • Improve support for ordering WP_Query results by postmeta.
  • WP_Meta_Query clauses now support a name parameter. [31312] #31045

Posts

  • In get_sample_permalink(), override future status before generating permalink. [31323] #30910
  • In get_adjacent_post(), return private post if the current user has the capacity to read it. [31302] #30911, #30287

Taxonomy

  • Introduce show_in_quick_edit parameter + filter for register_taxonomy(). Setting show_in_quick_edit to false when registering a custom taxonomy will hide the taxonomy when editing posts using Quick Edit. [31307] #26948
  • Don’t use term IDs for array indexes when caching object terms. Uncached results pulled from wp_get_object_terms() are zero-indexed (ie 0, 1, 2…). As a result, get_the_terms() was returning a strictly different array when pulling from the cache and when the cache was empty. [31287] #31086
  • Ensure that hierarchical is respected in get_terms() when multiple taxonomies are passed. [31285] #31118
  • Ensure that pad_counts is not discarded when the first of multiple taxonomies passed to get_terms() is non-hierarchical. [31284] #31118

Media

  • Rename $instances to $instance in wp_audio_shortcode() and wp_video_shortcode() for consistency with gallery_shortcode() and wp_playlist_shortcode(). [31305] #31151
  • Pass the current shortcode instance ID to post_gallery and post_playlist filters. [31304] [31309] #31151

Build / Test Tools

  • Introduce setExpectedDeprecated() and setExpectedIncorrectUsage() methods to WP_UnitTestCase. [31306] #28486
  • Improve organiation of tax_query and meta_query unit tests. [31286] #26999
  • Add basic unit tests for get_page_of_comment(). [31289] #11334
  • Add unit tests for show_option_all behavior of wp_list_categories(). [31301] #21881
  • Add tests for get_category_parents(). [31299] #30415
  • Add a unit test that expects wp_parse_args() to treat true and false in a query string as strings. [31310] #30753

Admin

  • Accessibility: remove remaining instances of accesskey. [31331] #29715
  • Help/About: Don’t display the Help tab reference in Page Attributes meta box if Help tab was removed. [31303] #31164
  • Add New User: Remove trailing whitespace from button labels. [31298] #31175
  • Login: Reduce the size of the WordPress logo tap target on log in screen on mobile, to avoid unexpected redirect away from the form. [31318] #31185

Thanks to @afercia, @Ankit K Gupta, @azaozz, @bananastalktome, @boonebgorges, @bswatson, @cyman, @dd32, @dmchale, @DrewAPicture, @ebinnion, @ericlewis, @Funkatronic, @garyc40, @helen, @hlashbrooke, @iamtakashi, @ipm-frommen, @jdgrimes, @jeremyfelt, @johneckman, @joshlevinson, @justincwatt, @kucrut for initial patch, @lancewillett, @meloniq, @michalzuber, @mzak, @nacin, @ninnypants for the initial patch, @ocean90, @prasoon2211, @rmarks, @SergeyBiryukov, @tomdxw, @tyxla, @valendesigns, @voldemortensen, and @westonruter for their contributions this week!

#4-2, #week-in-core