{"id":11253401,"date":"2019-05-19T07:33:19","date_gmt":"2019-05-19T07:33:19","guid":{"rendered":"https:\/\/wordpress.org\/support\/?post_type=helphub_version&amp;p=11253401"},"modified":"2019-05-19T07:33:19","modified_gmt":"2019-05-19T07:33:19","slug":"version-3-3","status":"publish","type":"helphub_version","link":"https:\/\/wordpress.org\/documentation\/wordpress-version\/version-3-3\/","title":{"rendered":"Version 3.3"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">On December 12, 2011, WordPress&nbsp;<strong>Version 3.3<\/strong>, named for Sonny Stitt, was released to the public. For more information on this major release, read the&nbsp;<a href=\"https:\/\/wordpress.org\/news\/2011\/12\/sonny\/\">WordPress Blog<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For&nbsp;<strong>Version 3.3<\/strong>, the database version (<strong>db_version<\/strong>&nbsp;in&nbsp;<strong>wp_options<\/strong>) changed to 19470, and the&nbsp;<a href=\"https:\/\/core.trac.wordpress.org\/\">Trac<\/a>&nbsp;revision was 19592.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/trac.wordpress.org\/query?status=closed&amp;milestone=3.3\">View Closed Tickets<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Highlights<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Easier Uploading<\/strong><ul><li>File Type Detection &#8211; A single upload button<\/li><li>Drag-and-Drop Media Uploader<\/li><\/ul><\/li><li><strong>Dashboard Design<\/strong><ul><li>New Toolbar in the dashboard, combining the Admin Bar and admin header<\/li><li>Responsive design for some screens, including iPad\/tablet support<\/li><li>Flyout menus, providing single-click access to any screen<\/li><\/ul><\/li><li><strong>New User Experience<\/strong><ul><li>New feature pointers, helping users navigate new features<\/li><li>Post-update About screen<\/li><li>Dashboard welcome area for new installs<\/li><\/ul><\/li><li><strong>Content Tools<\/strong><ul><li>Better co-editing that releases post locks immediately<\/li><li>Don&#8217;t lose widgets when switching themes<\/li><li>Tumblr Importer<\/li><\/ul><\/li><li><strong>Under the Hood improvements<\/strong><ul><li>Use the postname permalink structure without a performance penalty<\/li><li>Improved Editor API<\/li><li><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/is_main_query\">is_main_query()<\/a>&nbsp;function and&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Class_Reference\/WP_Query\">WP_Query<\/a>&nbsp;method<\/li><li>Remove a number of funky characters from post slugs<\/li><li>jQuery 1.7.1 and jQuery UI 1.8.16<\/li><li>A new Screen API for adding help documentation and adapting to screen contexts<\/li><li>Improved metadata API<\/li><\/ul><\/li><li><strong>Performance improvements and hundreds of bug fixes<\/strong><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">User Features<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">General<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Admin doctype changed to HTML5 (<a href=\"https:\/\/core.trac.wordpress.org\/ticket\/18202\">#18202<\/a>)<\/li><li>Show Toolbar in backend by default (<a href=\"https:\/\/core.trac.wordpress.org\/ticket\/17899\">#17899<\/a>)<\/li><li>Drag and drop multi-file uploading (except older IE)<\/li><li>Fix Press This editors<\/li><li>Switch admin menus to flyouts from dropdowns<\/li><li>WebMatrix support<\/li><li>Improve cron locking; avoid multiple cron processes looping over the same events<\/li><li>Add pointers feature, and pointer to admin bar<\/li><li>Introduce help tabs and WP_Screen<\/li><li>Style tweaks to the update nag<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Dashboard<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Ensure text in the dashboard recent comments widget wraps up properly<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Posts<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>When inserting a Gallery to be ordered by Date\/Time use the post_date field for ordering rather than ID<\/li><li>Rename &#8216;Post Tags&#8217; to &#8216;Tags&#8217;<\/li><li>Make DFW (Distraction-Free Writing) content width match exactly the reported width from the theme<\/li><li>Improve the image drag-resize detection in the visual editor (supported in FF and IE only), remove the size-* class if the image is soft-resized<\/li><li>Add TinyMCE command to handle opening of the upload\/insert popup, fix the shortcut &#8220;Alt+Shift+M&#8221;, fix the &#8220;image&#8221; button in DFW<\/li><li>Allow Apostrophes in Post Passwords<\/li><li>Add post formats to quick edit and bulk edit<\/li><li>Hide post title field in DFW if title is not supported by the current post type or missing<\/li><li>Clean up remnants from having negative Post_ID<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Media<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Merge media buttons into one<\/li><li>Add the styling for &#8220;drop area&#8221; to Media-&gt;Add New<\/li><li>Add support for rar and 7z file uploading<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Links<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">Comments<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Use WP_Editor when editing or replying to comments<\/li><li>Use &#8216;View Post&#8217; instead of &#8216;#&#8217; for view post links in comment rows<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Appearance<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Use the Settings fields\/sections API in Twenty Eleven<\/li><li>Load all Parent theme stylesheets before Child theme stylesheets in the TinyMCE Editor<\/li><li>Clean up Plugin\/Theme uploads after successfully installing them<\/li><li>Improved Theme upload and validation<\/li><li>Avoid losing widgets when switching themes<\/li><li>Make Distraction Free Writing content width match exactly the reported width from the theme<\/li><li>Allow current_theme_supports() to be used to check for specific post formats<\/li><li>Improved Menus<\/li><li>Contextual help for Twenty Eleven theme options page<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Plugins<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Improved Plugin upload and validation<\/li><li>Stop remembering the last viewed plugins screen; always show all plugins when returning to plugins.php<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Tools<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Add the Tumblr importer to the Importers List<\/li><li>Add wxr_export_skip_postmeta filter for skipping postmeta in exports<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Users<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Removed user option to disable Toolbar (admin-bar in 3.2) in the Dashboard<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Settings<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Add postname to Settings &gt; Permalinks and remove the help text talking about permalink performance; make the slugs (and \/archives\/ rewrite base) translatable<\/li><li>Clarify Settings &gt; Privacy<\/li><li>Use title case in Settings &gt; General<\/li><li>Disallow indexing wp-admin and wp-includes in robots.txt<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Install Process<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">Multisite<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Allow creating sites with IDN domains<\/li><li>Move network\/settings.php POST handling out of network\/edit.php<\/li><li>Dissolve wp-admin\/network\/edit.php<\/li><li>Add &#8216;Network Enable&#8217; link after installing a theme in the network admin<\/li><li>Use update_blog_details() in wpmu_update_blogs_date()<\/li><li>Change Network Settings to just Settings<\/li><li>Implement bulk update for network\/themes.php<\/li><li>Fix inviting existing users to a site with email confirmation<\/li><li>Check for plugin\/theme updates every hour when hitting update-core.php, not just themes.php\/plugins.php<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Development, Themes, Plugins<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Abstract word-trimming from wp_trim_excerpt() into wp_trim_words()<\/li><li>Add&nbsp;<a href=\"https:\/\/codex.wordpress.org\/index.php?title=Plugin_API\/Filter_Reference\/wp_unique_post_slug&amp;action=edit&amp;redlink=1\">wp_unique_post_slug<\/a>&nbsp;filter<\/li><li>Add _doing_it_wrong() when a plugin or theme accesses $wp_scripts or $wp_styles too early (also fixes localization)<\/li><li>Add a filter to&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/is_multi_author\">is_multi_author()<\/a><\/li><li>Add a general filter to wp_unique_post_slug to allow for full customisation of the uniqueness functionality<\/li><li>Add filter for the args into wp_dropdown_pages() in the page attributes box; give the list_pages filter the context of the post object<\/li><li>Add filter so the users can select custom image sizes added by themes and plugin<\/li><li>Add filters for install\/upgrade queries, so that unit tests installer can force creating InnoDB tables, so that we can use transactions to revert the database to its initial state after each test<\/li><li>Add inflation support for java.util.zip.Deflater in WP_Http_Encoding::compatible_gzinflate()<\/li><li>Add magic get\/set\/isset methods to WP_User to avoid data duplication; standardize on WP_User::ID<\/li><li>Add pre_ent2ncr filter<\/li><li>add_site_option should not update existing options, should return a boolean and should only run actions on success<\/li><li>Allow get_blog_option(null,&#8230;) to hit the cache for the current blog; new return values for add_blog_option, update_blog_option, delete_blog_option; don&#8217;t set the cache in those functions if add\/update\/delete_option failed<\/li><li>Allow &#8216;id&#8217; to work in get_bookmarks(); add link_notes even though such sorting is a bad idea<\/li><li>Allow sorting by id in get_bookmarks()<\/li><li>Allow the text parameter in wp_trim_excerpt() to be omitted altogether, instead of requiring a blank string<\/li><li>Automatically set &#8216;compare&#8217; =&gt; &#8216;IN&#8217; in WP_Meta_Query::get_sql() when the meta value is an array<\/li><li>Change month dropdown display in date pickers to include month number<\/li><li>Completely remove wp_add_script_data()<\/li><li>Consolidate update count code into wp_get_update_data()<\/li><li>Count only published posts when updating term counts; fire term count updates on transition_post_status<\/li><li>Deprecate add_contextual_help() for get_current_screen()-&gt;add_help_tab()<\/li><li>Deprecate favorite_actions(), add_contextual_help(), add_screen_option(), move meta_box_prefs() and get_screen_icon() in WP_Screen<\/li><li>Deprecate&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_userdatabylogin\">get_userdatabylogin()<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_user_by_email\">get_user_by_email()<\/a><\/li><li>Deprecate media_upload_(image|audio|video|file)(), type_url_form_(image|audio|video|file)(); these now wrap wp_media_upload_handler() and wp_media_insert_url_form()<\/li><li>Deprecate RSS 0.92 feed and 301 it to the default feed<\/li><li>Deprecate screen_options(), screen_layout(), screen_meta()<\/li><li>Deprecate wpmu_admin_redirect_add_updated_param() and wpmu_admin_do_redirect()<\/li><li>Eliminate verbose rewrite rules for ambiguous rewrite structures, resulting in massive performance gains<\/li><li>Fix back compat issues with delete_postmeta and deleted_postmeta actions as these should be passed the meta ID<\/li><li>Fix QTags.closeAllTags(), replace &#8216;tb&#8217; with &#8216;ed&#8217; in quicktags,js to make it clear it is the editor instance not the toolbar, small comments quick edit fixes<\/li><li>Fix typos in documentation<\/li><li>Fix wp_update_user() so it doesn&#8217;t stomp meta fields<\/li><li>Force display_errors to off when WP_DEBUG_DISPLAY == false; technically a backwards incompatible change so if you want the passthrough to php.ini (which false used to provide) then use WP_DEBUG_DISPLAY === null<\/li><li>Harden up&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/is_user_logged_in\">is_user_logged_in()<\/a>&nbsp;against empty $current_user instances to prevent PHP Notices on XML-RPC requests<\/li><li>Have dbDelta() loop through tables it knows about, rather than loop through a potentially expensive and definitely unnecessary SHOW TABLES<\/li><li>Improve _wp_menu_output()<\/li><li>Improve the parsing of email addresses in wp_mail to re-support RFC2822 nameless &#8220;&lt;address@\u2026&gt;&#8221; style<\/li><li>Instantiate some MS variables as objects before using them<\/li><li>Introduce -&gt;mysql to allow drop-ins to declare themselves as MySQL and therefore allow minimum version checks to still apply<\/li><li>Introduce is_main_query() that compares the query object against $wp_the_query<\/li><li>Introduce metadata_exists(), WP_User::get_data_by(), WP_User::get(), WP_User::has_prop(). Don&#8217;t fill user objects with meta<\/li><li>Introduce new hooks, registered_post_type for&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/register_post_type\">register_post_type<\/a>, and registered_taxonomy for&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/register_taxonomy\">register_taxonomy<\/a><\/li><li>Introduce register_meta(), get_metadata_by_mid(), and *_post_meta capabilities<\/li><li>Introduce wp_allowed_protocols() for use in wp_kses() and esc_url()<\/li><li>Introduce wp_cache_incr() and wp_cache_decr()<\/li><li>Introduce WP_Dependencies::get_data() method, change scripts and styles priority to follow the &#8220;natural&#8221; order in HTML, i.e. the last one wins<\/li><li>Introduce wp_get_db_schema() for retrieving various flavors of db schema; eliminates need to use global; allows multiple calls to wpmu_create_blog()<\/li><li>Introduce wp_no_robots() and call it for pages that should never be indexed, regardless of blog privacy settings<\/li><li>Introduce wp_suspend_cache_addition() to allow reduced memory usage when cache additions aren&#8217;t useful<\/li><li>Make check_theme_switched() run an action so plugins and themes authors can avoid losing widgets when switching themes<\/li><li>Optimise&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_term\">get_term<\/a>&nbsp;to not query for term_id = 0 and improve the prepared query to use&nbsp;%d for the term_id<\/li><li>Optimize parse_request for the home page<\/li><li>Performance improvement for&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_list_pluck\">wp_list_pluck()<\/a><\/li><li>Properly handle display of Order, Template, and Parent page attributes in Quick\/Bulk Edit<\/li><li>Properly handle nested arrays in wp_list_filter()<\/li><li>Recognize urls that start with a question mark as relative urls that do not require a scheme to be prepended<\/li><li>Refactor Quicktags<\/li><li>Remove return by ref from&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_role\">get_role()<\/a><\/li><li>Remove support for &lt;link rel=start&gt;, end, up, and index. These rel=&#8221;&#8221; values have been dropped by the HTML Working Group<\/li><li>Remove the old root feed files, but don&#8217;t add these files to old_files to leave them on existing installs<\/li><li>Require show_ui rather than public for a taxonomy&#8217;s parent post type<\/li><li>Rework&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_hidden_meta_boxes\">get_hidden_meta_boxes()<\/a>&nbsp;to leverage a full WP_Screen object; prevents custom post types from having their explicitly supported meta boxes being hidden by default<\/li><li>Set up the post global variable in the comment feed loops so that any calls to post related template tags work correctly<\/li><li>Store screen help and options as static data against WP_Screen; individual screen objects no longer hold data it can&#8217;t re-generate on construction or otherwise fetch; convert_to_screen() now returns a WP_Screen object; various globals are gone; introduces WP_Screen::get_option(); allows for a formal factory to be introduced later<\/li><li>Support an array or comma-seperated list of excluded category IDs in get_adjacent_post()<\/li><li>Support for using&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_enqueue_script\">wp_enqueue_script()<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_enqueue_style\">wp_enqueue_style()<\/a>&#038;n\nbsp;in the HTML body; all scripts and styles are added in the footer<\/li><li>Sync pomo library with the current GlotPress version<\/li><li>Turn delete_meta() , get_post_meta_by_id(), update_meta(), delete_post_meta_by_key() into wrappers around the&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Metadata_API\">Metadata API<\/a>; add back compat *_postmeta actions to Metadata API<\/li><li>Turn&nbsp;<a href=\"https:\/\/codex.wordpress.org\/WPMU_Functions\/is_blog_user\">is_blog_user()<\/a>&nbsp;into a convenience wrapper around get_blogs_of_user(); fixes is_blog_user() for blog prefixes that do not contain a blog ID<\/li><li>Update blog last_updated time only on publish_post; both private_to_published and publish_phone are overly broad and otherwise redundant<\/li><li>Update jQuery to 1.7.1<\/li><li>Update jQuery UI to 1.8.16<\/li><li>Update Plupload to 1.5.1.1<\/li><li>Update quicktags.js (HTML editor)<\/li><li>Update TinyMCE to 3.4.5<\/li><li>Use add_option() method, introduce add_option_context() method for adding specific text above the screen options<\/li><li>Use&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_template_directory\">get_template_directory()<\/a>&nbsp;instead of TEMPLATEPATH in Twentys Ten and Eleven<\/li><li>Use json_encode() for adding script data (formerly l10n); add the same functionality to WP_Styles for adding inline css after a stylesheet has been outputted<\/li><li>Use wp_print_scripts() in install.php<\/li><li>Various PHPdoc updates including: for all_items, menu_name, WP_List_Table::views(), cache.php, get_option(), wpdb::prepare(), get_template_part(), esc_url(), get_meta_sql(), WP_Screen, WP_Http_Encoding::compatible_gzinflate(), zeroise(), wp_add_script_before(), wp_editor()<\/li><li>WP_Filesystem_*::mkdir() untrailingslash path consistently, don&#8217;t waste time attempting to create an &#8220;empty&#8221; path<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>On December 12, 2011, WordPress&nbsp;Version 3.3, named for Sonny Stitt, was released to the public. For more information on this major release, read the&nbsp;WordPress Blog. For&nbsp;Version 3.3, the database version (db_version&nbsp;in&nbsp;wp_options) changed to 19470, and the&nbsp;Trac&nbsp;revision was 19592. View Closed Tickets Highlights Easier Uploading File Type Detection &#8211; A single upload button Drag-and-Drop Media Uploader [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"menu_order":0,"template":"","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false},"helphub_major_release":[],"class_list":["post-11253401","helphub_version","type-helphub_version","status-publish","hentry"],"revision_note":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/documentation\/wp-json\/wp\/v2\/wordpress-versions\/11253401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/documentation\/wp-json\/wp\/v2\/wordpress-versions"}],"about":[{"href":"https:\/\/wordpress.org\/documentation\/wp-json\/wp\/v2\/types\/helphub_version"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.org\/documentation\/wp-json\/wp\/v2\/wordpress-versions\/11253401\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/documentation\/wp-json\/wp\/v2\/media?parent=11253401"}],"wp:term":[{"taxonomy":"helphub_major_release","embeddable":true,"href":"https:\/\/wordpress.org\/documentation\/wp-json\/wp\/v2\/helphub_major_release?post=11253401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}