Title: 3.1 – Make WordPress Core

---

#  Tag Archives: 3.1

 [  ](https://profiles.wordpress.org/markjaquith/) [Mark Jaquith](https://profiles.wordpress.org/markjaquith/)
5:04 pm _on_ November 20, 2010     
Tags: 3.1, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/)

# 󠀁[WordPress 3.1 uses jQuery 1.4.4, and jQu…](https://make.wordpress.org/core/2010/11/20/wordpress-3-1-uses-jquery-1-4-4-and-jqu/)󠁿

WordPress 3.1 uses jQuery 1.4.4, and jQuery UIUI User interface 1.8.6. You should
check your plugins to see if anything broke. **If you were enqueueing `jquery-ui-
core` and using the “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. factory,” or something that depends on the widget factory you
will have to update your 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 WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
or can be cost-based plugin from a third-party. to enqueue `jquery-ui-widget` instead.**
In jQuery UI 1.8.x, the widget factory was separated from jQuery UI coreCore Core
is the set of software required to run WordPress. The Core Development Team builds
WordPress.. Please examine `wp-includes/script-loader.php` to see the entire dependency
tree.

[#3-1](https://make.wordpress.org/core/tag/3-1/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/)

 [  ](https://profiles.wordpress.org/nacin/) [Andrew Nacin](https://profiles.wordpress.org/nacin/)
6:27 am _on_ November 17, 2010     
Tags: 3.1, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/)

# 󠀁[Changes to meta capability handling in 3.1](https://make.wordpress.org/core/2010/11/17/changes-to-meta-capability-handling-in-3-1/)󠁿

If you were doing something crazy with custom or metaMeta Meta is a term that refers
to the inside workings of a group. For us, this is the team that works on internal
WordPress sites like WordCamp Central and Make WordPress. capabilitiescapability
A **capability** is permission to perform one or more types of task. Checking if
a user has a capability is performed by the `current_user_can` function. Each user
of a WordPress site might have some permissions but not others, depending on their
role. For example, users who have the Author role usually have permission to edit
their own posts (the “edit_posts” capability), but not permission to edit other 
users’ posts (the “edit_others_posts” capability). and custom post types in 3.0,
you’ll probably want to read [#14122](https://core.trac.wordpress.org/ticket/14122).

Custom post types had inconsistent meta capabilitycapability A **capability** is
permission to perform one or more types of task. Checking if a user has a capability
is performed by the `current_user_can` function. Each user of a WordPress site might
have some permissions but not others, depending on their role. For example, users
who have the Author role usually have permission to edit their own posts (the “edit_posts”
capability), but not permission to edit other users’ posts (the “edit_others_posts”
capability). handling in 3.0. current_user_can( ‘edit_post’, $id ) and current_user_can(
$post_type->cap->edit_post, $id ) mapped to different capabilities when capability_type
= post. We never called the former in coreCore Core is the set of software required
to run WordPress. The Core Development Team builds WordPress., however, so this 
would have only affected plugins in a very particular situation.

Now, we have the map_meta_cap flag for CPTs, which allows this to be throttled properly.
map_meta_cap is also true by default if capability_type = post or page, and no custom
capabilities were defined.

Making this post out of due diligence, but I don’t think this should break any plugins,
except in the “This was never supposed to work” situation (which I do want to know
about).

[#3-1](https://make.wordpress.org/core/tag/3-1/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/)

 [  ](https://profiles.wordpress.org/nacin/) [Andrew Nacin](https://profiles.wordpress.org/nacin/)
10:16 pm _on_ October 27, 2010     
Tags: 3.1, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/)

# 󠀁[Plugin activation hooks no longer fire for updates](https://make.wordpress.org/core/2010/10/27/plugin-activation-hooks-no-longer-fire-for-updates/)󠁿

Following up on [@scribu](https://profiles.wordpress.org/scribu/)‘s [post](http://wpdevel.wordpress.com/2010/10/27/plugin-activation-hooks/)
with further rationale and the 31compat tagtag A directory in Subversion. WordPress
uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common
convention of tags in version control systems. (Not to be confused with post tags.).

**The many problems.** When 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 WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
or can be cost-based plugin from a third-party. upgrades were introduced in 2.8,
the activation hook fired for them. The deactivation hook did not. This was inconsistency
number one.

When bulk plugin upgrades were introduced on the Tools > Updates screen in 2.9, 
the activation hook did not fire (during the bulk upgrade). This was inconsistency
number two.

Bulk plugin upgrades were given greater prominence in 3.0, with the Updates move
to under Dashboard, and a new bulk action on the plugins screen. This made the second
inconsistency far more prominent.

Additionally, activation 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. could always fire on activation, because that has to be done through the
adminadmin (and super admin), but updates don’t. Updates done manually (including
SVNSVN Subversion, the popular version control system (VCS) by the Apache project,
used by WordPress to manage changes to its codebase.) was just one more instance
where we may not have been firing updates. This was inconsistency number three.

We felt that the proper fix was to prevent the activation hook from firing on any
upgrades, bulk or not, as this was not intuitive. Sorry if your plugin relied on
this undocumented behavior.

**The theory behind the right way to do this.** The proper way to handle an upgrade
path is to only run an upgrade procedure when you need to. Ideally, you would store
a “version” in your plugin’s database option, and then a version in the code. If
they do not match, you would fire your upgrade procedure, and then set the database
option to equal the version in the code. This is how many plugins handle upgrades,
and this is how coreCore Core is the set of software required to run WordPress. 
The Core Development Team builds WordPress. works as well.

**The right way to do this.** I would do what [many](https://wordpress.org/extend/plugins/log-deprecated-notices/)
[other](https://wordpress.org/extend/plugins/simple-footnotes/) plugins do and do
the upgrade procedure as I described, and [as Peter and Andy described in the previous post](http://wpdevel.wordpress.com/2010/10/27/plugin-activation-hooks/#comment-11989).

**Further reading.** You can read more about this issue, on ticketticket Created
for both bug reports and feature development on the bug tracker. [#14915](https://core.trac.wordpress.org/ticket/14915).

[#3-1](https://make.wordpress.org/core/tag/3-1/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/)

 [  ](https://profiles.wordpress.org/ryan/) [Ryan Boren](https://profiles.wordpress.org/ryan/)
3:47 pm _on_ October 14, 2010     
Tags: 3.1   

# 󠀁[Feature status: * Post Formats landed. D…](https://make.wordpress.org/core/2010/10/14/feature-status-post-formats-landed-d/)󠁿

Feature status:

 * [Post Formats](https://core.trac.wordpress.org/ticket/14746) landed. Discussing
   whether to do a coreCore Core is the set of software required to run WordPress.
   The Core Development Team builds WordPress. UIUI User interface in 3.1 that themes
   can optionally enable.
 * [Theme Search/Filter](https://core.trac.wordpress.org/ticket/14936) is still 
   sitting in rough first draft. Someone volunteered to finish it in the dev chat,
   but I forget who.
 * [Internal linking](https://core.trac.wordpress.org/ticket/11420). Daryl has 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 will
   go in soon.
 * [Admin Bar](https://core.trac.wordpress.org/ticket/14772). The first round is
   in and filosofo is working on a cleanup.
 * [Ajaxified Admin](https://core.trac.wordpress.org/ticket/14579). Been in for 
   awhile with scribu addressing bugs as they come up.
 * [Update TinyMCE](https://core.trac.wordpress.org/ticket/12574). azaozz updated
   to the latest.
 * [Multi-Taxonomy Queries](https://core.trac.wordpress.org/ticket/12891). First
   rounds are in and scribu is handling bugs.
 * [Custom Post Type Index Pages](https://core.trac.wordpress.org/ticket/13818).
   Nacin landed the first round.
 * [Cleanup Admin CSS](https://core.trac.wordpress.org/ticket/14770). JohnONolan
   is working on a first pass.
 * [QuickPress Function](https://core.trac.wordpress.org/ticket/14966). First round
   is in.
 * [User Admin](https://core.trac.wordpress.org/ticket/14696). First round is in
   along with removal of dashboard_blog.
 * [Network Admin](https://core.trac.wordpress.org/ticket/14435). Continued bugbug
   A bug is an error or unexpected result. Performance improvements, code optimization,
   and are considered enhancements, not defects. After feature freeze, only bugs
   are dealt with, with regressions (adverse changes from the previous version) 
   being the highest priority. fixing. Considering moving theme/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 WordPress.org
   Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
   or can be cost-based plugin from a third-party./core updates to networknetwork(
   versus site, blog) adminadmin (and super admin) for 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** installs.

[#3-1](https://make.wordpress.org/core/tag/3-1/)

 [  ](https://profiles.wordpress.org/scribu/) [scribu](https://profiles.wordpress.org/scribu/)
5:06 pm _on_ October 13, 2010     
Tags: 3.1, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/)

# 󠀁[There was some ancient code in WP::parse…](https://make.wordpress.org/core/2010/10/13/there-was-some-ancient-code-in-wpparse/)󠁿

There was some ancient code in WP::parse_request() that looked in $GLOBALS when 
setting up query vars.

This is no longer the case: [[15796]](https://core.trac.wordpress.org/changeset/15796)

[#3-1](https://make.wordpress.org/core/tag/3-1/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/)

 [  ](https://profiles.wordpress.org/nacin/) [Andrew Nacin](https://profiles.wordpress.org/nacin/)
8:20 pm _on_ October 7, 2010     
Tags: 3.1, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/)

# 󠀁[WP_User_Search has been replaced by WP_U…](https://make.wordpress.org/core/2010/10/07/wp_user_search-has-been-replaced-by-wp_u/)󠁿

WP_User_Search has been replaced by WP_User_Query. WP_User_Search exists, but is
deprecated and has been moved to wp-adminadmin (and super admin)/includes/user.php
to deprecated.php.

If you were for some reason including wp-admin/includes/user.php and were expecting
WP_User_Search, you’ll need to adjust.

[#3-1](https://make.wordpress.org/core/tag/3-1/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/)

 [  ](https://profiles.wordpress.org/nacin/) [Andrew Nacin](https://profiles.wordpress.org/nacin/)
4:59 am _on_ October 7, 2010     
Tags: 3.1, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/)

# 󠀁[The theme mod functions now store their …](https://make.wordpress.org/core/2010/10/07/the-theme-mod-functions-now-store-their/)󠁿

The theme mod functions now store their values differently. This has the potential
to break plugins that were directly querying these options instead of utilizing 
the APIAPI An API or Application Programming Interface is a software intermediary
that allows programs to interact with each other and share data in limited, clearly
defined ways..

If you are using the API, i.e. get_theme_mod(), set_theme_mod(), remove_theme_mod(),
remove_theme_mods(), then you’re fine.

Reference: https://core.trac.wordpress.org/changeset/15736.

[#3-1](https://make.wordpress.org/core/tag/3-1/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/)

 [  ](https://profiles.wordpress.org/nacin/) [Andrew Nacin](https://profiles.wordpress.org/nacin/)
7:18 pm _on_ September 20, 2010     
Tags: 3.1, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/)

# 󠀁[wp-db.php is now always included. Databa…](https://make.wordpress.org/core/2010/09/20/wp-db-php-is-now-always-included-databa/)󠁿

wp-db.php is now always included. Database drop-ins should continue to work without
any adjustment in most cases (or can be adjusted to work with small tweaks).

This is for performance as we are no longer conditionally including a file. It also
allows db.php files to cleanly extend wpdb, which previously required a bit of tinkering.

See https://core.trac.wordpress.org/ticket/14508.

[#3-1](https://make.wordpress.org/core/tag/3-1/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/)

 [  ](https://profiles.wordpress.org/jenmylo/) [Jen](https://profiles.wordpress.org/jenmylo/)
9:23 pm _on_ August 30, 2010     
Tags: 3.1, [agenda ( 1,150 )](https://make.wordpress.org/core/tag/agenda/)

# 󠀁[At this week’s dev chat, we’ll start t…](https://make.wordpress.org/core/2010/08/30/at-this-weeks-dev-chat-well-start-t/)󠁿

At this week’s dev chat, we’ll start talking about scope for 3.1. We won’t decide
things until the following week, but if there’s a feature you think should be in
3.1, suggest it in a comment here, and we’ll discuss as many as we can get through
on Thursday.

[Edit: Comments closed as of the start of the 3.1 scope meeting, for organizational
purposes.]

[#3-1](https://make.wordpress.org/core/tag/3-1/), [#agenda](https://make.wordpress.org/core/tag/agenda/)

 [  ](https://profiles.wordpress.org/ryan/) [Ryan Boren](https://profiles.wordpress.org/ryan/)
3:29 pm _on_ August 30, 2010     
Tags: 3.1, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/)

# 󠀁[Don’t use the conditional query tags (i…](https://make.wordpress.org/core/2010/08/30/dont-use-the-conditional-query-tags-i/)󠁿

Don’t use the conditional query tags (is_page, is_post(), is_*) prior to init. In
3.0 and earlier, this merely failed quietly. In 3.1 this will produce a fatal error.
We’ll workaround the fatal error prior to the release of 3.1, but in the meantime
we’ll leave it to serve as a flag for improper use of the query conditionals. If
you see a fatal error of the form “Call to a member function is_*() on a non-object”
then 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 WordPress.
org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
or can be cost-based plugin from a third-party. or theme is using that function 
prior to init. See [ticket 14729](https://core.trac.wordpress.org/ticket/14729).

[#3-1](https://make.wordpress.org/core/tag/3-1/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/)

# Post navigation

[← Older posts](https://make.wordpress.org/core/tag/3-1/page/2/?output_format=md)