WordPress 3.2

In June 2011, Version 3.2, will likely be released to the public. Estimated timeline is as follows: feature freeze at the end of April 2011, first beta release in May 12, first release candidate in early June, with a final release of June 30, 2011.

Also see WordPress 3.2, the plan: faster, lighter and Version 3.2 Project Schedule.

Contents

[hide]

Highlights

  • Refreshed Administative UI - Admin redesign.
  • New Default Theme “Twenty Eleven” - Uses the latest Theme Features.
  • Full Screen Editor - Distraction free writing experience.
  • Extended Admin Bar - More useful links to control the site.
  • Requirements Changes -
    • PHP 5.2.4 or greater (old requirement – since WordPress 2.5 was PHP 4.3 or greater).
    • MySQL 5.0.15 or greater (old requirement – since WordPress 2.9 was MySQL 4.1.2 or greater).
  • Enhanced Browser Compatibility -
    • Drop Internet Explorer 6 support.
    • Start End-of-life (EOL) cycle for Internet Explorer 7.
    • Browse Happy notify users of out-of-date browser.
  • WordPress is Faster -
    • Faster page loads — We’ve gone through the most commonly loaded pages in WP and done improvements to their load time, for example the write page now loads XYZ% faster and paging through comments is ZYX% faster.
    • Faster Upgrades — The update system now support incremental upgrades so after 3.2 you’ll find upgrading faster than ever e.g. FTP upgrade improvements.
    • Optimisations to WP_Filesystem — pass known information to called functions.
    • Streamline WP_Http_*::test() methods — Check basic SSL requirements, only allow filters to disable transports, not enable them after ::test() has failed.
    • Take out unnecessary compat functions from compat.php.
    • Constructor cleanup.
    • Trimmed xx codes lines in core.
    • Use stripos() instead of strpos( strtolower() ).
    • Performance improvements for wptexturize().
    • Remove PHP4 timezone support.
    • More efficient term intersection query.
    • kses optimization.
    • Speed optimizations for is_serialized_string().

User Features

General

  • Admin Bar: Add a Themes submenu under Appearance, for consistency
  • Support Edit link on the Admin Bar for Attachments
  • Switch from “Panel/SubPanel” to “Screen” in inline documentation and Codex links
  • Add collapse link to admin menu
  • Favorites menu no longer exists
  • New Freedoms (rights) and Credits links at bottom of admin screens.

Dashboard

  • Change View All Buttons into plain links
  • Show full set of status links in recent comments box
  • Drop “Change Theme” button

Posts

  • Change Menu Name from ‘Posts’ to ‘All Posts’
  • Show the sticky posts checkbox (“Stick this post to the front page”) Only when author has ‘edit_others_postscapability
  • Updated styles for the Visual editor buttons
  • Full screen editor experience called Distraction Free Writing – accessed via the Toggle Fullscreen mode tool in the Visual editor and fullscreen button in the HTML editor (Trac Ticket 17198)

Media

Links

  • Change Menu Name from ‘Links’ to ‘All Links’

Pages

  • Change Menu Name from ‘Pages’ to ‘All Pages’

Comments

Appearance

  • New Default theme – TwentyEleven – based on Duster Theme (Trac Ticket 17198).
  • Allow selecting previously uploader headers and randomly serving previously uploaded or default headers
  • Denote images that are headers or backgrounds in the media ui
  • Show hierarchy for pages and taxonomies in nav menus admin
  • Introduce new is_multi_author() template tag to make it easier for themes to have different behaviour when a site has more than one author

Plugins

  • Allow plugins to disable screen options with filter

Tools

  • Change Menu Name from ‘Tools’ to ‘All Tools’
  • Press This bookmarklet redesign
  • Export commentmeta

Users

  • Change Menu Name from ‘Users’ to ‘All Users’

Settings

Install Process

Multisite

  • Show access denied page and list a user’s sites if they visit an admin they don’t have permissions for rather than redirecting to the users’ primary blog
  • Make “Space Used” gray instead of green in multisite Right Now box
  • Allow Pagination for Must-Use/Dropin plugins; respect WP_CONTENT_DIR & WPMU_PLUGIN_DIR for help text; move help text into WP_Plugins_List_Table

Development, Themes, Plugins

  • Add an extra FTP_LANG_DIR override constant to short-circuit WP_Filesystem_Base::find_folder(WP_LANG_DIR)
  • Add quotes to [value="some"] selectors re: jQuery
  • Allow custom author elements such as email
  • Allow get_pages() to support multiple post statuses
  • Allow plugins to control user and network admin canonical redirect
  • Allow plugins to hook into wp-admin/update-core.php
  • Allow querying empty meta values
  • Allow retrieving comments by post type, status, author, author, name, or parent. Fetch only published posts for recent comments widget.
  • Allow taxonomies to be queried by $_GET parameters on non-taxonomy url’s
  • Allow WP_Query ’post_status’ parameter to accept an array, as well as a singular value and comma separated list
  • Centralize pagination bound exceeding redirects for list tables
  • Change esc_url_raw references to esc_url
  • Default WP_LANG_DIR to `WP_CONTENT_DIR/languages` when `wp-includes/languages/` doesn’t exist
  • Deprecate wp_clone() but left the function in wp-includes/load.php
  • Don’t load themes functions.php for upgrades
  • Don’t refresh the admin menu after page load, apply the user-state from PHP, fix behaviour after folding the menu
  • Don’t show broken ‘View’ links when a custom post type is not publicly queryable
  • Ensure all theme searching is done case-insensitive
  • Hide update bubble counts for users who can’t perform the update
  • Introduce get_screen_icon()
  • Introduce is_multi_author() to check if more than one author has published posts for this site
  • Introduce Stream-To-File for the WP_HTTP API – reduces memory consumption during file downloads; implemented indownload_url() for upgraders
  • Introduce wp_http_supports() as replacement for the http_transport_(get|post)_debug hooks
  • Introduce WP_MAX_MEMORY_LIMIT’ constant for the high memory limit set when image processing and unzipping; ensure it is always filterable by plugins as well as configurable in wp-config.php
  • Introduce WP_Meta_Query and relation support
  • Pass image URL’s to thickbox via L10n in script-loader.php; allows thickbox to be used on any page in the install without defining the image URL variables
  • Properly handle https in ixr client
  • Provide more arguments to the widgets on the 404 page so as to avoid notices
  • Remove support for the PHP HTTP Extension from WP_HTTP. The PHP HTTP Extension is a wrapper around libcurl andfopen() providing limited configuration and is supported on a minority of servers due to its non-default inclusion
  • Set is_* flags for AND taxonomy queries
  • Set the mb_string internal encoding to ISO-8859-1 whilst uncompressing archives using PclZip; fixes ‘PCLZIP_ERR_BAD_FORMAT (-10) : Invalid block size’ errors on systems utilising mbstring.func_overload
  • Stop themes and plugins from overriding the admin bar CSS
  • Update jQuery to 1.6.1
  • Update jQuery UI to 1.8.2
  • Update json2.js
  • Update phpass
  • Update phpmailer and smtp to 5.1
  • Update pop3 class
  • Update TinyMCE to 3.4.2 (Trac Ticket 17086)
  • Updated PHPdocs for XML-RPC functions, wp_templating_constants()wp_check_browser_version()
  • Use the post type object in get_posts_by_author_sql() and add a post type parameter to count_many_users_posts(); pub_priv_sql_capability filter is considered deprecated
  • Validate post status against capabilities in Press This
  • Verify certificate matches both the common name and the provided hostname; WP_HTTP_Curl requires CURLOPT_SSL_VERIFYHOST be either 2 or false
  • When upgrading plugins/themes, if the new destination folder is different from the previous folder, delete the old folder upon upgrade
  • XML-RPC add support to wp.getPostFormats to provide a list of the currently supported post formats in addition to the complete list
  • XML-RPC allow Pages to have a status of pending
  • XML-RPC include the post status in the response for mt.getRecentPostTitles calls
  • XML-RPC introduce a special wp_die handler for XMLRPC requests to ensure we send an XML response