New Contributors Meeting Recap – July 26

Yesterday our weekly new contributors meeting was held, again with some great questions and insights into contributing to WordPress core. Here is the recap for the chat, alternatively the full chat log is also available.

Participants: @adamcarter @audunhus @desrosj @dipendahal @flixos90 @hardeepasrani @johnbillion @joyously @jsonm @samikeijonen @stevenkword @welcher @xkon

Discussion Highlights:

  • Working on one of the three focuses (Gutenberg, Customizer, REST API) is preferred, but it’s also as great to contribute to another area of core as development in those components of course has not stopped. Contributions are welcome everywhere, the focuses only gain more traction and attention at this point.
  • VVV is only one way to contribute to WordPress core. It is the recommended way to do so since it has all the tools needed preinstalled and configured, but contributors are free to choose whichever way they like. It might just require more setup work when not using VVV.
  • An easy way to make your IDE / editor aware of the WordPress coding standards regarding whitespace usage is to use the .editorconfig file that trunk contains. This file uses a common standard, and there are plugins available for almost all popular environments that automatically parse the file and adjust the whitespace settings for the project. Extensions can be found at on the website of the project. Some IDEs like PHPStorm already come with built-in tools for the WordPress coding standards.
  • While every new change in WordPress requires unit tests to verify its correct behavior (except for wording or docs changes, or those that are too complex to test for other reasons), it is not required that the person who writes a patch also needs to provide unit tests for it. It would be nice, but if someone doesn’t feel comfortable enough for the time being or first would like to get the patch reviewed, that’s perfectly fine as well.

Tickets Discussed:

  • #41370 is a good-first-bug ticket that could use some attention and work. It belongs to the REST API focus, so is likely to get reviewed and also merged quickly once ready. The goal of the ticket is to figure out why creating a term that already exists results in a 500 error, and change that to a more meaningful 400 or 409 error. Please have a look if you are interested in the REST API.
  • #41318 is another ticket that could use some work, particularly unit tests to ensure the existing patch works correctly.

First Props:

From this week on, we’ll highlight new contributors with their first props in this post. Props is what you get when a changeset lands in core where you have significantly helped with, for example through a patch, unit tests or something else. Please let us know about your first props when you get them. You can easily get an overview of your props at this URL: https://core.trac.wordpress.org/search?q=props+USERNAME&noquickjump=1&changeset=on (replacing USERNAME with your actual wordpress.org username)

This week, @xkon received his first props. Congrats! 🎉

Next week’s Meeting:

The next meeting will take place in the #core slack channel on Wednesday 19:00 UTC. Please feel free to drop in with any questions or tickets you’d like to discuss!

Thanks to everyone that attended! As always, please feel free to leave a comment below or reach out to any of the moderators with questions on Slack.

#new-contributors, #summary

Multisite Recap for the week of July 17th

Office Hours Recap

The agenda for this office hours meeting was to review the current state of the multisite roadmap and plan out how to complete it for publishing as an official document on the make blog.

The meeting’s chat log

Attendees: @desrosj, @earnjam, @feshin, @flixos90, @jeremyfelt, @jmdodd, @johnbillion, @maximeculea, @spacedmonkey, @stephdau, @stevenkword

Chat Summary:

  • @jeremyfelt shared a link to the draft roadmap document for review.
    • @desrosj suggested using the Taxonomy roadmap posts an example
    • We agreed that the roadmap should be broken up into specific sections for REST API, Internal APIs, and Implementation, with each of those sections having their own users, sites, and networks areas.
    • We will also need a section of the document dedicated to “bootstrap” or file organization and load order. See #40647, #40948, #29684, #40646
  • The first priority should be the REST and Internal APIs. Once those are in better shape, they can be used to make improvements to the multisite UX/UI and we can focus on the different network admin screens that need attention.
  • Because networks are managed in widely varying ways, the primary goal of multisite should be to provide standardized data structures and low-level database APIs to support a range of network and multi-network implementations through plugins and custom code. The roadmap should reflect this philosophy.
  • We will need to discuss the “global” state (data spanning multiple networks) and make decisions on what should be implemented there. Right now users are the only global data, but even things like number of users are stored per-network and not globally.
  • Before getting too detailed on the actual roadmap document, we will spend the next few office hours meetings discussing specific items that will go into and affect the direction of the roadmap, including network meta, global state, and some Internal API decisions (See #40180 and #40228)

The next office hours will take place on Tuesday 16:00 UTC. An agenda for it will be posted in advance.

Ticket Scrub Recap

The agenda for this ticket scrub was to continue going through the list of multisite-related good-first-bug tickets for new contributors, review their status, and adjust keywords as necessary.

The meeting’s chat log

Attendees: @earnjam, @euthelup, @flixos90, @greatislander, @maximeculea

Chat Summary:

  • #40363Remove current_blog_ cache invalidation from clean_blog_cache()
    • Waiting for feedback from @jjj and @jeremyfelt over possible backward compatibility concerns with removing these
  • #41163: Display active theme name on Sites screen
    • This could make use of a wp_blogmeta table if it gets implemented, but in current form would require switch_to_blog() calls for each row in the list table.
    • Related to #40268
    • good-first-bug keyword removed since it will require further discussion across multiple tickets.
  • #41168: Identify the active theme when editing a site’s themes
    • Discussion revolved around disabling ability to disable the active theme to protect users from not being able to switch back after changing the theme.
    • Because of a possible inconsistency with network-enabled themes and a common paradigm of deprecating old themes by disabling them, the agreed upon suggestion was to only apply a label for the active theme and not change the enable/disable functionality.
  • #41166: .htaccess config should not be shown on network setup screen when Nginx is in use
    • Existing patch is in good shape, but needs minor update to use $is_nginx global
    • Suggested updates to the codex for subdirectory/subdomain configuration
  • #41169: Inaccurate descriptive text when adding a new site
    • Slight verbiage change to patch suggested.
    • Patch has since been committed and ticket closed.

The next ticket scrub will take place on Monday 17:00 UTC. An agenda for it will be posted in advance.

If you were unable to attend one of these meetings but have feedback, please share your thoughts in the comments on this post. In case there’s a need for further discussion we will ensure to make time for it in one of next week’s chats. See you next week!

#4-9, #multisite, #networks-sites, #summary

WCEU & Weekly Multisite Chat Summaries

During lunch at WordCamp Europe, there was an informal discussion with some contributors who have an interest in multisite. This post is meant to summarize those discussions and create a plan for organizing and improving the multisite component moving forward.

Present for discussions: @flixos90 @stephdau @spacemonkey @desrosj

Weekly Component Dev Chats

Because all contributors cannot be present every week, there have been a few instances where deep discussions have reoccurred in consecutive weeks due to a different set of people being present. This has slowed progress, and also limited feedback to only those who can attend.

The meeting discussions sometimes veer off course to items that are not necessarily a part of the current component goals. Weekly bug scrubs have also on occasion turned into detailed discussions (more on this later).

For these reasons the following items were proposed:

  • Post a meeting agenda weekly at least one full day prior to scheduled dev chats.
  • Post a meeting summary after the meeting.

The meeting agendas will help keep the conversations on target and ensure they are productive. They will also help contributors decide which meetings they want and need to attend. If someone has anything that they would like to contribute but is unable to attend, they can post a comment on the agenda post.

The meeting summaries will help inform all who were unable to attend by communicating what was discussed. It will also help prevent discussions from reoccurring in consecutive weeks when a different set of contributors are present. Anyone can also comment on the meeting summary with any additional feedback. If there is a lot of feedback on the summary, the topic can be slated for more discussion during the following week’s dev chat.

These two things have proven effective for both the Core and JavaScript chats, and should also help the multisite component.

Multisite Roadmap

In an ongoing effort that will continue through the next couple weeks, a component roadmap is being discussed. Roadmaps are great for identifying the current problems that should be solved in a general order and establishing a direction. The roadmap should also describe why each problem needs solving with examples, and what steps potentially could be taken to reach a solution.

By listing out the goals and needs of the component in the rough order they should be tackled, dev chats can be more targetted and the component can progress more effectively.

Currently, the primary goals of the multisite component are implementing a REST API endpoint for sites and improving the user endpoint to support all multisite functionality. It is also likely that a networks API endpoint will be introduced, although that is a lower priority than the other two. Sites and networks are the only WordPress core component without a REST API endpoint.

Information Sharing

Since WordPress.com has had a Sites endpoint for quite a while now, @stephdau shared some links after the meeting with the other attendees. He emphasized that nothing there is secret and there is a desire to share information and collaborate. He also stated that much of the code is actually packaged in Jetpack.

Ticket Gardening

As of this being published, there are 160 bug tickets for the multisite component in Trac. It would be great to decrease this. As mentioned above, weekly bug scrubs occasionally turn into continuation discussions of the previous dev chat. Having specific ticket lists to work through on a given day may help more effectively manage tickets belonging to the component, gardening them into the appropriate milestones.

@johnbillion also mentioned in a separate discussion that he has an offline list of multisite bugs that he has noticed. He will be going through Trac at some point to ensure each issue has a Trac ticket (although most already do).

Follow Up

As a follow-up to this meeting, @flixos90 created a Google Doc to help collect thoughts and serve as an organizational document for the multisite component.

Weekly Office Hours

The meeting’s chat log

Attendees: @jeremyfelt @flixos90 @johnjamesjacoby @desrosj @sergey @spacedmonkey @saracannon @stephdau @earnjam

This week’s office hours were used to recap the discussions above and gather further input. @flixos90 shared the Google Doc linked above, and then discussions were had to determine if the policies roughly outlined are viable for common procedures in multisite. Eventually, after the necessary tweaks are made to the document, it will be posted on this blog and on the Networks and Sites component page. This will ensure more permanent visibility and also allow other components to possibly follow some of the ideas for their workflows as well.

Key points summarized from the document by those who were at WCEU:

  • Not repeating ourselves week to week is important. Meeting recaps will inform people who cannot attend office hours. Agendas will keep meetings focused.
  • Responsibility for creating agenda and recap posts (especially the recaps as they’re more work) should rotate between multiple contributors. This is a great way to help onboard new contributors and foster interest in the component.
  • There should be more targeted ticket lists to focus on during bug scrubs. Try to tackle the ones that relate to our roadmap goals and properly prioritize.

At times, the component does get a little slow. Even during these times, an agenda should still be posted. It was also decided that there should be one agenda post (stating the agenda for both the week’s upcoming bug scrub and office hours), and one summary per week. Having consistent agendas will help us stay on target. Establishing a roadmap as needed will also help. “The multisite group is currently focusing on these 3 things from X date to X date” could be a useful way to clearly state the current goals. This would fit well on the component page.

It was decided to change “bug scrub” to “ticket scrub” as it is not limited to discussing bugs. Also discussed was having people who can focus only on bug fixes without needing to worry about when new features will land around them. This would be very helpful to the component. Current contributors each have different strengths and utilizing these strengths effectively should be a priority.

Increased documentation around why decisions are made needs to happen. This will help future contributors understand why specific actions are taken, and why certain features are implemented how they are.

Better utilizing Trac’s “good first bug” was discussed. These tickets are very helpful for picking up new contributors and giving them a positive experience contributing to the component. Ensuring that good first bugs are in fact easy to fix is important. Good first bug tickets should not remain open for multiple releases though. Otherwise, there is a risk for a negative experience when the contribution is not immediately accepted. There was, however, some disagreement on this. Leaving easy fix tickets could be counter-productive.

There was also some post-meeting discussion about making multisite contributions to core easier. Currently, VVV does not allow a multisite install to be created using trunk. This would make writing and testing patches much easier.

Next week, @flixos90 will run office hours. @spacedmonkey will run office hours the week after that. The rough plan for office hours the next three weeks is:

  • Continued discussion on component organization and, afterward, on the sites API
  • Site meta
  • Network meta

Next week’s ticket scrub will focus on tickets without a response followed by tickets awaiting review.

To conclude the meeting, @spacedmonkey was officially approved as a component maintainer. Congratulations!

If you’re interested, please come to our meetings or leave a comment on this post with your thoughts. Multisite office hours are held every Tuesday at 16:00 UTC, while our ticket scrub is held every Monday at 17:00 UTC, both in #core-multisite. The next ticket scrub will be Monday 17:00 UTC and the next office hours will be Tuesday 16:00 UTC.

#multisite, #networks-sites

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

  • 21 commits
  • 25 contributors
  • 43 tickets created
  • 3 tickets reopened
  • 46 tickets closed

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

Code Changes

Administration

  • Dashboard: Better titles for the Recent Drafts widget. [40877] #37595

Build/Test Tools

  • Fix PHP 5.2 compatibility for grandchild methods which expect exceptions to be raised. [40876] #39822
  • Fixed support of PHPUnit_Framework_TestCase as the base class. [40873] #39822

Bundled Theme

Help/About

I18N

  • Improve translator comments for strings in the community events widget. [40866] #40865

Media

  • Fix an issue selecting media when clicking item edges. [40874] #40578

Misc

Networks and Sites

TinyMCE

  • Force urlencoding of commas in URLs added by plugins to prevent warnings about missing stylesheets. [40862] #40893

Thanks to @bridgetwillard, @adamsilverstein, @afercia, @azaozz, @bhargavbhandari90, @circlecube, @dimadin, @flixos90, @francina, @iandunn, @iseulde, @jenblogs4u, @johnbillion, @johnroper100, @melchoyce, @michelleweber, @obenland, @ocean90, @psiico, @rcutmore, @soniakash, @sudar, @swissspidy, @voldemortensen, and @zachwtx for their contributions!

#week-in-core

Week in Core, May 24th – 30th 2017

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

  • 30 commits
  • 27 contributors
  • 40 tickets created
  • 7 tickets reopened
  • 26 tickets closed

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

Code Changes

Build/Test Tools

  • Add a missing class to the PHPUnit 6 back compat. [40854] #39822
  • Remove mentions of HHVM from the test infrastructure on Travis for the 4.0 branch. [40833] #40548

Bundled Theme

Emoji

Help/About

  • About: Introduce design and add link to Media Widgets API dev note. [40849] #40721
  • About: Further polish for Under The Hood. [40841] #40721
  • About: Further polish for feature descriptions. [40838] #40721

Media

Misc

Plugins

REST API

  • In the admin area, ensure the REST API endpoint URL is forced to https when necessary. [40843] #36451

TinyMCE

Widgets

  • Normalize YouTube and Vimeo URLs in video shortcode (primarily for Video widget) to work around ME.js 2.22 bug. [40847] #32417, #39994, #40866
  • Ensure that audio and video files appear in media library browser upon upload. [40836] #32417, #39994, #39995, #40803
  • Supply missing descriptions for instance schema fields in media widgets. [40835] #32417
  • Prevent multiple items from being selectable when first populating a media widget. [40827] #32417

Thanks to @apmarshall @obenland, @hedgefield, @reportermike, @ryelle, @rclations, @westonruter, @adamsilverstein, @apmarshall, @azaozz, @bridgetwillard, @celloexpressions, @iandunn, @jnylen0, @johnbillion, @juhise, @karmatosed, @leemon, @matveb, @melchoyce, @mikeschroder, @mohanjith, @obenland, @ocean90, @pento, @peterwilsoncc, @peterwilsoncc, @Soean, @timmydcrawford, @voldemortensen, and @westonruter for their contributions!

#week-in-core

Week in Core, May 17th – 23th 2017

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

  • 56 commits
  • 75 contributors
  • 70 tickets created
  • 7 tickets reopened
  • 71 tickets closed

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

Code Changes

Accessibility

Administration

  • Fix some HTML validation errors. [40823] #37004
  • Update the docs for wp_check_browser_version(). [40822] #40839
  • Dashboard: Change the cache key for dashboard RSS widget; remove the unnecessary database upgrade routine. [40803] #40702
  • Dashboard: Append the current locale to dashboard RSS widget cache key in wp_dashboard_rss_control(), for consistency with the changes to wp_dashboard_cached_rss_widget() in [33183] and [33192]. [40802] #32804, #40702
  • Dashboard: Don’t trigger an Events search when the search field is empty. [40799] #40816
  • Dashboard: Improve the Events widget spinner position after [40789]. [40794] #40735
  • Dashboard: Improve the handling of locations determined by geolocating the IP address and by entering a city name. Fix couple of edge cases, and some names. [40790] #40702
  • Dashboard: [40789] #40735
  • Dashboard: Combine methods to retreive IP [40781] #40702
  • Use consistent spacing for form elements in the Discussion Settings screen. [40779] #31594
  • Dashboard: Document request proxy for events. [40777] #40702
  • Dashboard: Properly localize data for events [40776] #40702
  • Dashboard: Always pass the IP when getting events [40774] #40702
  • Upgrade: Use correct commit no. to trigger upgrade [40773] #40702

Build/Test Tools

  • Remove mentions of HHVM from the test infrastructure on Travis for the 4.6 branch. [40818] #40548

Bundled Theme

  • Twenty Seventeen: Remove uneccessary return statement [40795] #40516

Customize

  • Docs: Improve phpdoc for WP_Customize_Manager, WP_Customize_Control, WP_Customize_Setting, and WP_Customize_Selective_Refresh. [40804] #39671
  • Docs: Add missing @since tags and phpdoc descriptions to the Custom_Image_Header class. [40788] #21785, #40231
  • Run a partial’s fallback behavior (full refresh) when selective refresh fails due to a script error. [40771] #27355, #40658

Help/About

I18N

  • Dashboard: Use get_user_locale() for the news feed cache key. [40793] #40417

Login and Registration

  • Add some margin to notices on the login screen so multiple notices remain separated. [40778] #39971

Media

Misc

  • Themes: Skip tests if ReflectionMethod::setAccessible is unavailable [40826] #
  • Post-4.8 Beta 2 bump. [40820] #
  • WordPress 4.8 Beta 2 ([40807] again) [40819] #
  • Revert [40807] unbumping from 4.8 Beta 2 back to Beta 1 due to aborted release. [40808] #
  • WordPress 4.8 Beta 2 [40807] #
  • Updates for 4.6. Merge of and to the 4.6 branch.

Quick/Bulk Edit

REST API

  • Fix changing parameters with set_param() for some requests. [40815] #40344
  • Avoid sending blank Last-Modified headers with authenticated requests. [40805] #40444
  • Do not set X-WP-Deprecated* headers as often. [40782] #40787

Themes

TinyMCE

  • Fix selecting the link node after creating a link by pasting an URL. [40801] #40818
  • Editor: When stripping paragraph tags, and there is a <br> at the beginning or the end, merge them and keep the paragraph, not the <br>. [40787] #37066
  • Fix pasting while an image with caption is selected. The image and the caption should be replaced with the pasted content. [40786] #40809
  • Provide styles for link and code boundaries. [40783] #40767

Users

  • Multisite: Handle both role change selections in site-users.php. [40780] #40113

Widgets

  • Further refine WP JS coding style in media widgets code. [40821] #32417
  • Remove core embedding support for WMV and WMA files since MediaElement.js has discontinued supporting them. [40813] #39994, #39995, #40819
  • Clarify some context information for translators. [40812] #32417, #39993, #39994, #39995
  • Remove unused JS variable to fix JSHint error introduced in [40640]. [40811] #39994
  • Introduce isHostedVideo method on VideoWidgetControl to allow plugins to extend for recognizing services beyond YouTube and Vimeo. [40810] #39994, #40808
  • Revert [40251] pending more accessible solution for showing default widget titles rather than using placeholders. [40806] #39909
  • Ensure title field for media widget will update with sanitized value after change event in addition to input event. [40785] #32417, #40805
  • Use “Add Audio” for button in Audio widget instead of generic “Add File”. [40784] #39995, #40797
  • Media: Trim whitespace in URLs provided for external embeds. [40772] #40771

Thanks to @4nickpick, @abhishekfdd, @adamsilverstein, @adamsoucie, @afercia, @arena, @arshidkv12, @azaozz, @BharatKambariya, @bradyvercher, @bridgetwillard, @coffee2code, @coreymckrill, @darshan02, @dd32, @desrosj, @emirpprime, @gma992, @iandunn, @iandunn, @iseulde, @Italian polyglots team, @iv3rson76, @jenblogs4u, @jeremyfelt, @jjcomack, @jnylen0, @joedolson, @joemcgill, @joen, @johnbillion, @juhise, @ketuchetan, @kraftbj, @leewillis77, @LiamMcArthur, @matveb, @melchoyce, @michalzuber, @michelleweber, @mihai2u, @MikeLittle, @mikeschroder, @mp518, @mrahmadawais, @netwe, @nitin, @kevadiya, @nobremarcos, @obenland, @ocean90, @odysseygate, @pento, @postpostmodern, @rellect, @rensw90, @rianrietveld, @riddhiehta02, @rmccue, @ryelle, @sagarjadhav, @sagarprajapati, @Samantha Miller., @sami.keijonen, @SergeyBiryukov, @sloisel, @sstoqnov, @stubgo, @swissspidy, @tejas5989, @timmydcrawford, @TimothyBlynJacobs, @topher1kenobe, @truongwp, @westonruter, and @zinigor for their contributions!

#week-in-core

Week in Core, May 3rd – 9th 2017

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

  • 29 commits
  • 42 contributors
  • 64 tickets created
  • 8 tickets reopened
  • 52 tickets closed

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

Code Changes

Administration

  • Restore missing spinner when installing a new language. [40579] #40478
  • Remove unit and prefixed version from a CSS declaration. [40576] #35358
  • Accessibility: Improve the color contrast ratio of the dismiss notice buttons. [40570] #39970

Cron API

Editor

  • Add wp.editor.remove() for editors that were dynamically instantiated from JS. [40588] #35760
  • Accessibility: Make the Get Shortlink button be a real button. [40578] #26504, #40448

Embeds

  • Add screencast.com to oEmbed provider whitelist. [40574] #38367

Emoji

Media

  • Optionally return attachment id from media_sideload_image(). [40597] #19629
  • Accessibility: Improve the suggested image size text in the media views. [40573] #38932

Networks and Sites

  • Multisite: Fix filter hooks for the updating network count functions. [40596] #40703
  • Multisite: Add $network_id parameter to wp_maybe_update_network_user_counts(). [40591], [40593] #40385, #38699
  • Multisite: Add missing documentation for new $network_id parameter of wp_maybe_update_network_site_counts(). [40592] #40384
  • Multisite: Add $network_id parameter to wp_is_large_network(). [40590] #40489
  • Multisite: Introduce minimum_site_name_length filter. [40589] #39676

REST API

  • WP_REST_Request::remove_header() should canonicalize header names. [40577] #40347
  • Improve strings added after 4.7 string freeze. [40571] #39178

Themes

  • Fix missing search field in the Theme Install screen after [40572]. [40586] #34881
  • Accessibility: Wrap the installed themes search field within a form element. [40572] #34881

TinyMCE

  • Improve adding of custom UI to the MCE Factory. [40587] #40690
  • Fix linting errors in tinymce-obsolete.js. [40585] #40690
  • Remove the pre-4.6.0 tests. Move regression testing for obsolete tags and attributes to the default QUnit tests. [40584] #40690
  • Update to 4.6.0. Has many new features and bug [40583] #40690

Users

  • Multisite: Check only valid looking emails against banned domain list. [40595] #39915
  • Multisite: Validate email before checking against banned domains. [40594] #39915
  • Correct a permission check when showing the User item in the + New admin toolbar menu. [40581] #39252
  • Clear the user settings cookies when clearing auth cookies. [40580] #32567

Widgets

Thanks to @adamsilverstein, @afercia, @alexkingorg, @aryamaaru, @azaozz, @Cheffheid, @chris_dev, @cristianozanca, @danielbachhuber, @desrosj, @dl, @dotancohen, @DrewAPicture, @ENDif Media, @flixos90, @georgestephanis, @iseulde, @jeremyfelt, @joehoyle, @johnbillion, @kawauso, @kraftbj, @MatheusFD, @mattheu, @mikeschroder, @MrGregWaugh, @nacin, @ocean90, @pento, @PranaliPatel, @Presskopp, @SergeyBiryukov, @shane, @slbmeh, @soulseekah, @stormrockwell, @swissspidy, @takayukister, @tfrommen, @TimothyBlynJacobs, @trepmal, and @whyisjake for their contributions!

Week in Core, April 26th – May 2nd 2017

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

  • 12 commits
  • 13 contributors
  • 76 tickets created
  • 4 tickets reopened
  • 29 tickets closed

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

Code Changes

Administration

  • Accessibility: Avoid a keyboard trap on the date and time custom format settings. [40568] #40515

Build/Test Tools

  • When asserting microtime output as a number, make it a number [40566] #30336
  • Automatically skip tests in the ms-required and ms-excluded groups. [40564] #40531
  • Pin the WordPress Importer plugin to version 0.6.3 when testing on Travis. [40562] #40620
  • Add object-cache.php to the unit test suite. [40561] #40619

Comments

Customize

  • Allow select dropdowns to stretch full width in widened controls pane. [40567] #32296

Menus

  • Introduce page_menu_link_attributes filter in Walker_Page::start_el() for the HTML attributes applied to a page menu item’s anchor element. [40565] #40359

Posts, Post Types

Role/Capability

  • Users: Add two missing special cases to the capability tests for non-logged-in users. [40563] #37405

Users

  • Ensure user counts remain accurate if users are added to or removed from the users table without corresponding usermeta entries being added or removed. [40560] #38741, #29785

Thanks to @afercia, @boonebgorges, @dots, @jdgrime, @johnbillion, @pbiron, @psoluch, @ptbello, @SergeyBiryukov, @stephdau, @tharsheblow, @timmydcrawford, and @westonruter for their contributions!

#week-in-core

Dev Chat Summary: April 26th (4.7.4 week 8)

This post summarizes the dev chat meeting from April 26th (Slack archive).

News & Updates

Target Browser Coverage

  • WordPress is officially ending support for Internet Explorer versions 8, 9, and 10, starting with WordPress 4.8
  • @voldemortensen: When patches are backported to versions pre-4.8 should they be tested against older IE versions? Are we maintaining that sort of back compat for this or once 4.8 ships we drop support for it everywhere?
    • Unlikely that anyone will test that support on backported branches
    • The “Everything else: Bugs fixed as reported.” rule from the handbook could be stretched and applied to those IE versions
    • Will continue down that path until an alternate approach for backports to versions pre-4.8 is confirmed more officially

Editor Team

  • aiming for prototype parity by the end of month
  • will gladly take any assistance on resolving issues and testing via their GitHub repo

Customize Team

#4-7, #4-7-4, #core-customize, #core-editor, #dev-chat, #summary

Week in Core, April 19th – April 25th 2017

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

  • 81 commits
  • 29 contributors
  • 90 tickets created
  • 11 tickets reopened
  • 48 tickets closed

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

Code Changes

Administration

Build/Test Tools

  • Feeds: Remove an incorrect usage of sizeof() in a helper class used during unit testing of XML element handling. [40555] #40109
  • Add Composer files to the cache on Travis. [40554] #40539
  • Backport various recent changes to the 4.7 branch. [40547] #40539, #39822, #40548
  • Remove HHVM from the test infrastructure on Travis. [40546] #40548
  • Remove more unnecessary test skipping when erroneous situations occur. [40544] #40533
  • Introduce skipWithoutMultisite() and skipWithMultisite() methods into the test suite. [40543] #40531
  • More tweaks to the deprecated calls assertion. This needs to be triggered when there are unexpected deprecated calls or wrongdoings too. [40542] #40538
  • Only perform an assertion for deprecated calls and wrongdoings if any are expected. [40541] #40538
  • Move the setExpectedException() method into the WP_Ajax_UnitTestCase class to avoid a fatal error when PHPUnit 3.6 is in use. [40539] #39822
  • Add support for PHPUnit 6+. [40536] #39822
  • Ensure that WP_UnitTestCase::expectedDeprecated() performs an assertion to avoid risky test notices. [40535] #40538
  • Be strict about tests that do not test anything. [40534] #40538
  • Remove unnecessary checks and skips that should instead cause failures if they ever fail. [40533] #40533
  • Convert more test skipping into hard failures. These dependencies should all be present when testing. [40532] #40533
  • Correct an incorrect ms- group name. [40530] #40531
  • Add some locale debugging to the Travis config so we can determine which locales are available to test with. [40528] #40533, #19861
  • Enable verbose mode in PHPUnit so we can see which tests are being skipped, and now that the number of skipped tests has been lowered. [40527] #40533, #40531
  • Don’t trigger a skipped test when the built version of wp-embed.min.js isn’t present. [40526] #34698, #40533
  • Replace test skipping with actual assertions when dealing with the DISALLOW_UNFILTERED_HTML, DISALLOW_FILE_MODS, and DISALLOW_FILE_EDIT constants. [40525] #40533
  • Remove more skipped tests that should actually be failures if their conditions aren’t satisfied. [40524] #40533
  • Remove ancient UT ticket handling. [40523] #40533
  • Add some more tests to the ms-required and ms-excluded groups. [40522] #40531
  • Introduce ms-required and ms-excluded groups for tests. [40520] #40531
  • Don’t skip tests when php.net or dev.mysql.com are unreachable. [40519] #40533
  • Avoid skipping canonical tests that are connected to open Trac tickets. [40518] #30284, #40534
  • Canonical: Don’t skip tests if the test data is invalid. [40517] #40533

Customize

Database

Editor

  • TinyMCE: Fix cursor position after updating a wpview node. Fix hiding the inline toolbar on editor blur. [40482] #40480
  • Define $suffix before using it in _WP_Editors::print_tinymce_scripts(). [40477] #40479, #35760
  • Provide API for the editor to be dynamically instantiated via JS. First run. [40476] #35760

General

  • Accessibility: Make Safari 10 + VoiceOver announce repeated, identical, wp.a11y.speak() messages. [40479] #36853

Help/About

  • Fix typo in help text on Reading Settings screen. [40540] #40530

Menus

Networks and Sites

  • Multisite: Add $network_id parameter to wp_update_network_counts(). [40486] #40386, #38699
  • Multisite: Add $network_id parameter to wp_update_network_user_counts(). [40485] #40349, #38699
  • Multisite: Add $network_id parameter to wp_update_network_site_counts(). [40484] #37528, #38699
  • Multisite: After [37918] add support for retrieving custom site properties set by the site_details filter. [40478] #40458

Posts, Post Types

  • Correct the fallback value for the label_count argument of register_post_status(). [40516] #38686

Query

Taxonomy

  • Restore support for taxonomy ‘args’ override when querying object terms. [40514] #40496
  • Docs: Improve @param and @return entries for wp_get_post_categories(), wp_get_post_tags(), and wp_get_post_terms(). [40483] #40481

TinyMCE

Widgets

Thanks to @csloisel, @afercia, @Arena94, @azaozz, @bhargavbhandari90, @boonebgorges, @celloexpressions, @danielbachhuber, @darthaud, @dd32, @flixos90, @gitlost, @imath, @iseulde, @johnbillion, @johnjamesjacoby, @littler.chicken, @miyauchi, @ocean90, @peterwilsoncc, @philipjohn, @PieWP, @raisonon, @SergeyBiryukov, @swissspidy, @theMikeD, @timmydcrawford, @westonruter, and @xrm for their contributions!

#week-in-core