WordPress 3.6: Code Maintenance and Architecture

Like with any release, much more is going on during the 3.6 cycle than just the user-facing items on our agenda. We’d like to hit the following code maintenance and architecture items as well. If your interested or have thoughts, speak up or jump on the tickets! Some of these really should happen early, and they’re pretty much all going to need unit tests.

Use PDO for MySQL queries

#21663 — The mysql_* functions in PHP are deprecated, so to get ready for future versions of PHP, we need to start routing queries alternatively for installs that support it.

Caching and Misc DB Tasks

No ticket for this? — Use magic methods to cleanup blogid and siteid in wpdb. These should fetch the canonical versions elsewhere. Also, support blog_id and site_id for consistency.

#23167 and #23173 — Make our object caching more intelligent. One query per cache key. Stored IDs instead of objects where possible.

#22174 and #20875 — Introduce and use wp_cache_get_multi(). Maybe. A bonus, if there’s time.

#21760 — get_term_by() calls are not cached.

#21401 — Load packaged object cache when advanced-cache.php and object-cache.php don’t implement wp_cache_init().

#22661 — Allow object caches to degrade gracefully.

Slashing Sanity

#21767 — Remove stripslashes from API functions.

#18322 — The Road to Magic Quotes Sanity.

#22325 — Abstract GPCS away from the superglobals (maybe not, depending on #21767).

#22023 — Remove UNIQUE for slug in wp_terms. Prep for future taxonomy architecture changes.

Misc Performance

#22301 — Performance problem with Recent Comments widget.

Earlier Discussion

IRC Logs from discussion of some of these items.

#3-6, #maintenance