On August 1, 2013, WordPress Version 3.6, named for Oscar Peterson, was released to the public. For more information on this enhancement and bug-fix release, read the WordPress Blog, the Release Post, and see the Changelog for 3.6.
For Version 3.6, the database version (db_version in wp_options) changed to 24448, and the Trac revision was r24973.
- View Closed Tickets
Highlights
- New Default Theme – Twenty Thirteen
- Focus on blogging
- Single column layout with Sidebar / Widgets in the footer
- Latest Theme Features support, particularly Post Formats and Theme Markup
- Font-based icons (Genericons)
- Admin Enhancements
- UI improvements on Navigation Menus Screen
- Revisions revised to be more dynamic and scalable
- Autosave and Post Locking
- Preview Audio and Video on Media Edit Screen
- In-line login following expired sessions
- For Developers
- External Libraries have been updated. More Info
- New audio/video APIs give developers access to powerful media metadata, like ID3 tags.
- Filters for revisions, allowing you to set the number of revisions ad hoc instead of only via a define. More Info
- Theme Markup allows themes to choose improved HTML5 markup for search forms, comment forms, and comment lists.
- Search content for shortcodes with has_shortcode() and adjust shortcode attributes with a new filter.
What’s New
General
- Use digraphs for German umlauts in remove_accents()
- Use Ellipses instead of …
- Consistently apply ‘register’ filter
- Automatically esc_url() the URL echoed by the_permalink()
- Allow developers to specify an Accept-Encoding header in WP_Http::accept_encoding()
- Pass tag object and args array to topic_count_text_callback from wp_generate_tag_cloud()
- Use wp_unslash() instead of stripslashes_deep
- Improve the performance of backslashit() by avoiding regular expressions
- Disallow accidental or negligent deregistering of critical scripts in the admin. Covers jQuery, jQuery UI, Underscore, and Backbone
- Remove the_title_attribute() from anchors with the_title() as text
- Display username (user_login) rather than user_nicename in Toolbar below username
Posts
- The Revision Management UI saw significant improvement
- Shortcode attributes can now be filtered via shortcode_atts_$shortcode hook
- The ability to change post formats was removed from Quick Edit
- A ‘not_found’ label was added for non-hierarchical taxonomys
- Better UX for dealing with multiple users editing the same content (aka Post Locking)
- Audio/Video support More Info
Media
- Add oEmbed support for Rdio and Spotify
- .webm (video/webm) was added to the MIME types list
- The Media Library can now be sorted by Author name
- Bug fixed where initial gallery link-to setting wasn’t applied
- Return from image_downsize() earlier if a custom resize function is used
- Orientation information was added to items in gallery_shortcode()
- New Audio and Video previews are available on the Media > Edit Screen
- Added wp_audio_shortcode() and wp_video_shortcode()
Comments
- Improve wp_list_comments() markup
- Add the ability to use HTML5 input types in the comment form
Appearance
- The Navigation Menus UI got a significant refresh
- The Customizer can now be accessed via the Appearance menu
- Screen options can now be added to the Appearance > Widgets Screen
Plugins
- Prevent plugins from overriding jQuery in the admin
- Prevent plugins with certain filenames from breaking links in the admin menu
Users
- Remove the three default contact methods (AIM, YIM, Jabber) for new installs.
- Pass old roles to set_user_role action
- The workflow for deleting users has been improved
Settings
- Allow any post format to be set as default in Settings > Writing Screen
Accessibility
- Better keyboard/screen reader accessibility in the Nav Menus UI
- Background image’s “select a file” link works with keyboard navigation
Under The Hood
General
- Use official MIME types for Windows Media file extensions
- Redirect after save on options-permalink.php to ensure permalinks are fully flushed
- Only show database errors if both WP_DEBUG and WP_DEBUG_DISPLAY are enabled
Bug Fixes
- Strip slashes from passwords sent to new users by email
- Make sure the url returned by post_preview() is filterable with preview_post_link
- Fix handling of ‘0’ as meta_value argument in get_pages()
- Correctly print ‘after’ data when scripts are concatenated in WP_Styles class
- Properly truncate UTF-8 post slugs in wp_unique_post_slug()
- Avoid PHP notices in Media Library if an attachment parent does not exist
- Fix some tabbing issues on the post editing screen
- Avoid notice by checking for user agent in wp_new_comment()
- Avoid notice in parent_dropdown() by checking if post exists before testing post id
- Prevent an unintended visibility change from “Password protected” to “Public” when updating the post
- Avoid a warning in mb_internal_encoding by making sure we have a charset first
- Fix unnecessarily persistent “pending email change” admin message
- Ensure we strictly compare ‘all options’ and ‘not options’ when protecting these special options
- Make sure to reset the modal after gallery insertion
- Add sanity checks on image metadata to avoid warnings
- Avoid an undefined index notice in get_post_type_archive_feed_link()
- Avoid notices when array args are missing in WP_Image_Editor::multi_resize()
- Fix notice in wp_generate_attachment_metadata()
- Avoid PHP notices when deleting or restoring an item that no longer exists
Multisite
- Pass blog_id to the wpmu_drop_tables filter
Classes
- XML-RPC: Return an error for getRecentPosts (mw and blogger) if the user does not have edit_posts
- XML-RPC: Standardize home/site url labels with core labels
- Preserve alpha in WP_Image_Editor_GD when images are not resized
- Make sure WP_Http funnels all redirect requests through WP_Http::request() to ensure the proper transport is used
Functions
- An arg parameter was added for wp_nonce_url()
- Allow paths with two consecutive dots to be passed to home_url() and all related *_url() functions
- Document 7th parameter, $callback_args in add_meta_box()
- Confirm a user exists before deleting them in wp_delete_user() and wpmu_delete_user()
- Return WP_Error from wp_crop_image() if saving has failed
- Bail early with correct WP_Error if invalid post ID passed to wp_insert_post()
- Remove duplicate calls to add_new_user_to_blog()
- Introduce wp_add_id3_tag_data()
- Introduce wp_read_video_metadata()
- Introduce wp_read_audio_metadata()
- Introduce wp_nav_menu_disabled_check()
- Introduce wp_nav_menu_update_menu_items()
- Introduce do_accordion_sections()
- Introduce wp_slash()
- Introduce wp_unslash()
- Introduce wp_is_writable()
- Introduce wp_auth_check_load()
- Introduce wp_auth_check()
- Introduce get_tag_regex()
- Introduce wp_registration_url()
- Introduce wp_heartbeat_settings()
- Introduce wp_mediaelement_fallback()
- Introduce wp_get_audio_extensions()
- Introduce wp_audio_shortcode()
- Introduce wp_get_video_extensions()
- Introduce wp_video_shortcode()
- Introduce wp_embed_handler_audio()
- Introduce wp_embed_handler_video()
- Introduce get_attached_media()
- Introduce get_post_galleries()
- Introduce get_post_galleries_images()
- Introduce get_post_gallery()
- Introduce get_post_gallery_images()
- Introduce wp_post_revision_title_expanded()
- Introduce paginate_content()
- Introduce get_paged_content()
- Introduce wp_revisions_enabled()
- Introduce wp_revisions_to_keep()
- Introduce wp_text_diff_with_count()
- Introduce shortcode_exists()
- Introduce has_shortcode()
- Introduce wp_parse_post_content()
- Introduce wp_remove_object_terms()
- Introduce wp_add_object_terms()
Filters
- Add self_link in self_link()
- Add get_comments_link in get_comments_link()
- Add comments_link_feed in comments_link_feed()
- Add comment_link in get_comment_link()
- Add nav_menu_link_attributes in Walker_Nav_Menu::start_el()
- Add wp_revisions_to_keep in wp_revisions_to_keep()
- Add wp_link_pages in wp_link_pages()
- Add search_form_format in get_search_form()
- Add user_search_columns in WP_User_Query::prepare_query()
- Add wp_http_accept_encoding in WP_Http_Encoding::accept_encoding()
- Add widget_meta_poweredby in WP_Widget_Meta::widget()
Scripts, External Libraries
- Update to jQuery Color 2.2.1
- Update to Backbone 1.0.0
- Update to jQuery UI 1.10.3
- Services_JSON 1.0.3
- Iris 1.0.3
- hoverIntent r7
- MediaElement.js 2.11.1 (New)
- getid3 1.9.7 (New)
Deprecated
- Deprecate wp_convert_bytes_to_hr() in favor of size_format()
- Deprecate get_user_id_from_string() in favor of get_user_by() where `$field` is ’email’ or ‘login’
- Deprecate wpdb::escape() in favor of wpdb::prepare() or esc_sql()