Last week in WordPress core

Welcome back to Last Week In WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., for the week of January 27-February 2. Big list this time! First, a summary of the major changes; then a roundup from the various 3.9 teams:

Enhancements and hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.

  • The first run for a refreshed “Edit Image” modal inside TinyMCE landed, which includes a “replace image” function. Work continues on #24409, if you’d like to help out!
  • Previews of different posts now open in different windows/tabs! #20233
  • Allow chromeless embedding of YouTube videos with video shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site.. #24764
  • Autocomplete for the “new site” adminadmin (and super admin) e-mail address in multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site. #25348
  • Arguments are now included when filtering wp_dropdown_categories() with wp_dropdown_cats. #24103
  • New Hook, resetpass_form, in wp-login.php #21044
  • Add wp_install and wp_upgrade hooks to the respective functions. #25762

Database changes

  • Initial patch to reconnect when the MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. server “goes away” has landed, with a request for feedback on how to make the solution more fool-proof on #5932.
  • Improved Compatibility with MySQL 5.6, which has stricter default SQL modes.
    Disables NO_ZERO_DATE, ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, STRICT_ALL_TABLES, TRADITIONAL. Introduces filterable wpdb::set_sql_mode(), with incompatible_sql_modes filterFilter Filters are one of the two types of Hooks They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for plugins. #26847
  • We now throw a notice when wpdb::prepare() is called without a placeholder. #25604
  • In wpdb::db_connect(), allow the loading of a translatable custom database error template. #25703

Miscellaneous, including library updates

  • Properly invalidate the cache for wp_count_posts() on insert, trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days., or when transitioning post_status. #21879
  • $force argument removed from WP_Object_Cache::delete(), which was internal-only. #22478
  • TinyMCE updated to 4.0.16. #24067
  • Dashicons updated to latest. Adds line break, paragraph, code, and bbPressbbPress Free, open source software built on top of WordPress for easily creating forums on sites. #26936
  • MediaElement.js updated to 2.13.2. #26954
  • Update the versions of several devDependencies in package.json. Run npm install to receive updates for node_modules in the project root. #26073

3.9 status reports

Here are roughly where each of the 3.9 teams/tasks stood as of last week’s meeting:

Media/editor related:

  • Media Modal: “Initial version of the single image editor landed, which includes the ability to replace the image and update the main set of attributes (e.g. caption, alt, alignment, link).” (@gcorne) (#21811)
  • Image Editor: “have a proof-of-concept pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the Plugin Directory or can be cost-based plugin from a third-party ready awaiting input on how to modularize the Editor and make it extensibleExtensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software. and flexible. Working on a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. that introduces a few well-placed hooks.” (@tomauger) (#21811)
  • Rendering in the editor: “Going to dig into rendering galleries in the visual editor using a wpview and building on some of the work that i did in” (@gcorne) (#26628, #26959)
  • TinyMCE: All looks good on this front, #24067. “We’ve also started looking at restyling TinyMCE modals to match the admin, #26952“(@azaozz, @melchoyce)
  • Audio/Video: There’s an update post by @wonderboymusic.

Other UIUI User interface work:

  • WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.: “We’re running more users tests; Working on keyboard accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). ( features; Trying to figure out support for wide widgets; Asked for some code review/notes; And digesting feedback from our recent p2 post.” (@shaunandrews)
  • Settings screens: “We had a meeting yesterday to divvy up the redux. I’m looking at reordering of information across screens, @melchoyce is experimenting with UI approaches, and @Ipstenu is looking at cleaning up the multisite ‘edit site/settings’ view. We hope to be posting sketches/wireframes [this] week.” Also, they’re again looking at lifting post by email from core. (@jenmylo)
  • Accessibility: we are testing 3.8.1 admin screens for keyboard accessibility. (@joedolson)
  • Autocomplete: After the new site email address autocomplete landed (#25348), now looking into other areas — users (#19867) and pages (#9864). (@helen)
  • CSSCSS Cascading Style Sheets.: Work continues on the colors.css merge to prep for splitting up wp-admin.css. (@helen, #18380, #26669).

Fun with internals:

  • Multisite: “Our tickets are focused. [As in, reorganized into the ‘multisite’ focus.] I’ve been digging through ms-load.php, ms-settings.php, etc in prep for some fun domain routing work. Would like to compare thoughts on approach soon and get moving on that.” (@jeremyfelt)
  • New Grunt-based Patching Tool: “I’ve been using it locally and haven’t run into any issues. Will be opening a ticketticket Created for both bug reports and feature development on the bug tracker. on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. with a patch and instructions in the next few days.” (@jorbin)
  • TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. Hope to start with the first few tickets on the roadmap this week. (@nacin)

Housekeeping items last week included a call for GSoC participation from @jenmylo, and trac component reorganization proposal from @nacin. The reorganization was approved during the chat on Wednesday and is well under way. Additionally, there’s now a new Trac reports overlay and Trac’s navigation got overhauled.

For the complete changelog commits to trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision., check out the log on Trac.

More than three dozen contributors had a hand in last week’s efforts. Want to help out this week? Write or test a patch for 3.9.

Thanks for contributions this week from atimmer, aubreypwd, azaozz, c3mdigital, cmmarslender, coffee2code, Denis-de-Bernardy, DrewAPicture, empireoflight, gcornehelen, ippetkov, jeremyfelt, joehoyle, johnjamesjacoby, JoshuaAbenazer, kovshenin, kpdesign, kraftbj, mark8barnes, markjaquith, MattyRob, mdbitz, melchoyce, nacin, neoxx, nofearinc, ocean90, olivM, oso96_2000, ounziw, pento, romaimperator, sbruner, SergeyBiryukov, soulseekah, TobiasBg, toszcze, wonderboymusic, and yoavf!

#3-9, #week-in-core