Last Week in WordPress Core

Hello there! This is 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 February 10th-February 16th. Let’s start out by highlighting JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. library updates, then changes to how we build CSSCSS Cascading Style Sheets. for core, finally touching on TinyMCE, internals, and 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.

Backbone.js and Underscore.js

  • Backbone was updated from 1.0 to 1.1, and Underscore to 1.6. If you have a 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 that is built on the backbone-based libraries in core, you’ll want to test for compatibility and update accordingly. We’ll be working with the plugins group to notify as many authors as possible. r27170 #26799
    • Collection set/add/remove/reset methods now return models, not this, so they can no longer be chained.
  • Updated media-views and wp.Backbone.View for Backbone 1.1. r27171 #26799
    • Options passed to Backbone.View‘s constructor are no longer attached automatically. wp.Backbone.View now handles this.

Dev/Build Tools:

  • Use grunt-autoprefixer for CSS vendor prefixes. As a first step, add prefixes we were missing to core CSS, and remove prefixes that we no longer need, including all from colors CSS. r27174 #27078 The plan is the following:
    • Core CSS files will keep prefixes. grunt autoprefixer:core will update files directly in src/ as a pre-commit step, rather than doing it on build.
    • Color CSS files will receive prefixes when they are built.
  • Add grunt precommit for running front-end dev and test tasks before commit. This includes autoprefixer, imagemin, jshint, and qunit. r27176 #27121 #25169 #27078
  • Add grunt imagemin:core task for optimizing images pre-commit. Adds grunt-contrib-imagemin, so an npm install will be required. r27172 #25169
  • Optimize 69 images (of 127) using the new Grunt task. r27173 #25169
  • Rename the old media.css file, used for the pre-3.5 media library, to deprecated-media.css. r27181 #26669


  • Add image based placeholders for audio and video shortcodes. r27169 #27016
  • Add support for audio and video shortcodes without closing. r27177 #27016
  • Incremental changes in TinyMCE’s new charmap popup, including allowing multiple-character insert. r27179 r27165 #27107

Internals & Multisite:

  • Detect and handle symlinking of plugins in plugin_basename(). (Yay!) r27158 #16953
  • Add get_network_by_path() and wp_get_network() to begin cleanup of multisite load. Likely to continue to change throughout 3.9 r27178 #27003
  • Rather than removing the 3rd argument in WP_Object_Cache::delete(), mark it as $deprecated. See r27064. r27162 #22478
  • Partially revert r27101, r27102, r27141, and r27142, removing new cache synchronization functions in favor of a simpler solution that alters existing internals. r27163 #14485 #22526

Thanks to azaozz, bpetty, DrewAPicture, gcorne, georgestephanis, jdgrimes, jeremyfelt, jorbin, kovshenin, mikemanger, MikeSchinkel, nacin, ocean90, pavelevap, rmccue, SergeyBiryukov, and wonderboymusic for their help this week!

For the complete list of 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.

It’s important that we reduce the amount of tickets slated for 3.9, as we work towards betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. on March 5th. Want to help out this week? Write or test a patch for 3.9.

#3-9, #week-in-core