Week in Core: Sept. 21-27, 2015

Oh Snap!, it’s time to usher in a new edition of Week in Core! If you have the time, throw a house party with some friends and read the full force of changes on Trac; if not, don’t sweat it — take simple pleasure in these highlights.

This post covers changesets [34362][34658], committed during Sept. 21–27, 2015. Let’s give a hi-five and some TLC to the 102 contributors for a combined 296 updates! Together, we’re making WordPress nice & smooth.

News you can use

The Flow Patrol is documenting visual changes to the UI, and adding new keywords to Trac. Developers (and ticket reporters) can help by taking before and after screenshots when your code affects the UX.

Big changes for the default comments form are now in trunk, including the form layout and the order hooks are fired. Have feedback? Leave it on ticket #29974.

Speaking of big changes, Term Meta is here! Are you ready?

It’s a big change week, including a (possible) Customizer roadmap, and updates to Twenty Sixteen, oEmbed, and Responsive Images. Lots of good reading available here!

Code changes

Actions, filters, functions, and parameters

  • XML-RPC: In wp_xmlrpc_server::wp_getComments(), allow post_type to be passed as part of $struct. [34575] #20026
  • Comments: add __get() and __set() to WP_Comment to provide BC. [34583] #27571
  • Comments: in WP_Comment::get_children(), accept an array so that the values for format, status, hierarchical, and orderby can be passed, instead of just format[34569] #8071
  • Comments: Introduce 'duplicate_comment_id' filter. [34536] #9775
  • Comments: in comment_form(), add args for cancel_reply_before and cancel_reply_after to eradicate remaining hard-coded HTML bits. [34523] #23797
  • Comments: add a 'comment_excerpt_length' filter to get_comment_excerpt()[34520] #27526
  • Comments: add date column to WP_Comments_List_Table to allow sorting and to break out the date/time from the comment content column. [34504] #15520
  • Comments: Introduce template functions for comment navigation: [34367] #29808, #30589
    • get_the_comments_navigation() and the_comments_navigation() for navigation to the next and previous page of comments.
    • get_the_comments_pagination() and the_comments_pagination() for paginated navigation between pages of comments. Uses paginate_comments_links().
  • Taxonomies: Introduce 'the_category_list' filter. [34625] #9227
  • Taxonomies: Pass the post ID to the 'get_the_categories' filter. [34624] #9227
  • Updates: Introduce 'send_update_notification_email' filter which controls whether an update notification email is sent for background updates. [34543] #33932
  • Revisions: add a 'wp_prepare_revision_for_js' filter. [34541] #28627
  • Users: Introduce $paged parameter for WP_User_Query as an alternative to using $offset.
  • Users: add __unset to WP_User[34380] #20043
  • Links: in get_adjacent_post(), add a "get_{$adjacent}_post_excluded_terms" filter. [34528] #9571
  • Menus: Add $depth as a parameter in the 'nav_menu_item_args' filter. [34507] #29417
  • Menus: Add a 'nav_menu_item_args' filter to Walker_Nav_Menu::start_el(). [34471] #29417
  • Posts: Make the 'register_post_type_args' filter introduced in [34242] available for built-in post types too. [34451] #17447
  • Media: Add new functions, get_the_post_thumbnail_url() and the_post_thumbnail_url()[34373] #33070
  • Media: Add a new function, wp_get_attachment_image_url(), which is a shortcut for wp_get_attachment_image_src() — same function signature, but returns just the URL based on $size[34372] #33878
  • HTTP: Add some new Cookie helper functions: [34369] #33711
    • wp_remote_retrieve_cookies( $response )
    • wp_remote_retrieve_cookie( $response, $name )
    • wp_remote_retrieve_cookie_value( $response, $name )

Miscellany

  • Media: Add size-$size class to <img> in wp_get_attachment_image(). [34629] #32093
  • Notices: Add styles for use against white backgrounds. [34365] #32244
  • WPDB: Make sure we don’t run sanity checks on DB dropins. [34655] #33501
  • WPDB & Comments: After [35461], remove ‘page_comments’ from database. [34562] #8071
  • Canonical: after [34272], don’t redirect rewrite endpoints on attachment URLs when pretty permalinks are enabled. [34643] #19918
  • Testing: Introduce WP_UnitTestCase::assertNotWPError() for when a test needs to assert that something is, well, not a WP_Error. [34638] #33978
  • Widgets: Restore and deprecate the WP_Widget_Recent_Comments::flush_widget_cache method, removed in [34580]. [34622] #25556
  • Customize: Prevent showing “Front Page” and “Posts Page” states for pages in list table when $show_on_front is not “page”. [34605] #34004
  • Comments: Improve post field lazyloading for comments. [34599] #27571
  • Comments: In comment_form(), move the comment textarea to the top for logged-out users when replying, improves keyboard/focus navigation. [34525] #29974
  • Comments: In get_comment_statuses(), also return trash[34524] #30965
  • Plugins: Don’t request all fields via plugins_api( 'plugin_information' ) for plugin installs and update checks. [34598] #34030
  • Profile: on user-new.php, don’t allow the password fields to be hidden. When hidden, you can’t add a user. [34582] #15115
  • Plugins: Implement ‘Recently Active’ functionality for network-wide plugins in the Network Admin. [34551] #20468
  • Multisite: Don’t limit site titles to 50 chars. [34455] #33973

Deeper reading

Some commits pack in a lot of info, from detailed background to best practices in using hooks. Here are a few worth reading the entire commit message:

  • Shortlinks: Hide the Get Shortlink button by default. [34556] #33495
  • Comments: Force comment pagination on single posts.  [34561] #8071
  • Queries: Introduce hierarchical query support to WP_Comment_Query[34546] #8071
  • Terms: Introduce metadata for taxonomy terms. [34529] #10142

Props

Thanks to @5um17, @adamsilverstein, @afercia, @apokalyptik, @atomicjack, @austinginder, @bjornjohansen, @boonebgorges, @bravokeyl, @brentvr, @chriscct7, @coffee2code, @couturefreak, @daniloercoli, @dannydehaan, @dbru, @dd32, @dimadin, @dipeshkakadiya, @DrewAPicture, @elusiveunit, @ericlewis, @ericmann, @fjarrett, @flixos90, @fonglh, @garyc40, @gizburdt, @grvrulz, @helen, @hrishiv90, @hugobaeta, @icete, @jakubtyrcha, @Japh, @jeichor, @jeremyfelt, @jesin, @jmayhak, @johnbillion, @johnjamesjacoby, @johnpbloch, @joostdevalk, @jorbin, @jshreve, @jtsternberg, @jubstuff, @kadamwhite, @KevinB, @koke, @kucrut, @ldinclaux, @leemon, @manolis09, @markoheijnen, @mdawaffe, @melchoyce, @metodiew, @micahwave, @MikeHansenMe, @MikeSchinkel, @miyauchi, @mordauk, @mrmist, @Netweb, @niallkennedy, @NickDuncan, @nikeo, @nprasath002, @obenland, @ocean90, @pareshradadiya, @paulwilde, @pento, @prasad-nevase, @rachelbaker, @ramiy, @rmccue, @ronalf, @ruudjoyo, @sam2kb, @samuelsidle, @sebastianpisula, @SergeyBiryukov, @shedonist, @Shelob9, @sirzooro, @sjmur, @SteveHoneyNZ, @swissspidy, @tellyworth, @Thaicloud, @theode, @Tmeister, @Toro_Unit, @tyxla, @umeshnevase, @Viper007Bond, @walterebert, @westonruter, @wmertens, and @wonderboymusic for their contributions!

#4-4, #week-in-core