Title: 4.0 – Make WordPress Core

---

#  Tag Archives: 4.0

 [  ](https://profiles.wordpress.org/swissspidy/) [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)
4:28 pm _on_ October 1, 2014     
Tags: 4.0, [week in core ( 245 )](https://make.wordpress.org/core/tag/week-in-core/)

# 󠀁[Last Week in WordPress Core](https://make.wordpress.org/core/2014/10/01/last-week-in-wordpress-core-12/)󠁿

Hi Everyone! It’s finally time for another update. This is the first Last Week in
WordPress CoreCore Core is the set of software required to run WordPress. The Core
Development Team builds WordPress. for WordPress 4.1! I know there hasn’t been one
for ages, but after talking with [@dh-shredder](https://profiles.wordpress.org/dh-shredder/)
at WordCampWordCamp WordCamps are casual, locally-organized conferences covering
everything related to WordPress. They're one of the places where the WordPress community
comes together to teach one another what they’ve learned throughout the year and
share the joy. [Learn more](https://central.wordcamp.org/about/). Europe I’m confident
that we’re able to change that.

Let’s have a look at the changes between September 23 and today:

### Adminadmin (and super admin)

 * If the current user does not have the `delete_posts` cap on the current post 
   type, don’t list delete or trashTrash Trash in WordPress is like the Recycle 
   Bin on your PC or Trash in your Macintosh computer. Users with the proper permission
   level (administrators and editors) have the ability to delete a post, page, and/
   or comments. When you delete the item, it is moved to the trash folder where 
   it will remain for 30 days. as bulk actions for the relevant context of Post 
   list table. [[29757]](https://core.trac.wordpress.org/changeset/29757) [#20175](https://core.trac.wordpress.org/ticket/20175)
 * **TinyMCE**: when pasting/inserting content before a view, add new paragraph 
   above it and insert the content there.
 * **TinyMCE**: Use Tahoma for RTL in general and Arial for Hebrew in editor styles.
   [[29773]](https://core.trac.wordpress.org/changeset/29773) [#29553](https://core.trac.wordpress.org/ticket/29553)
 * Fix tapping on the menu in iOSiOS The operating system used on iPhones and iPads.
   and Android [[29770]](https://core.trac.wordpress.org/changeset/29770) [#29365](https://core.trac.wordpress.org/ticket/29365)
 * Don’t display an empty comment author IP link on Comments screen. [[29774]](https://core.trac.wordpress.org/changeset/29774)
   [#29766](https://core.trac.wordpress.org/ticket/29766)
 * In the form handler logic for `edit-tags.php`, don’t redirect until `$_REQUEST['
   paged']`has been checked. All `switch` cases (except `edit`) now use `break` 
   instead of `exit`. [[29782]](https://core.trac.wordpress.org/changeset/29782)
   [#16162](https://core.trac.wordpress.org/ticket/16162)
 * Show the number of approved comments instead of all comments on the dashboard
   in the “At a glance” section. [[29785]](https://core.trac.wordpress.org/changeset/29785)
   [#26738](https://core.trac.wordpress.org/ticket/26738)

### Bundled Themes

 * Prevent the arrow in “Continue reading” links from wrapping to a second line.
   [[29771]](https://core.trac.wordpress.org/changeset/29771) [#27908](https://core.trac.wordpress.org/ticket/27908)
 * **Twenty Fourteen**: Include Latin Extended font subset for Lato. [[29772]](https://core.trac.wordpress.org/changeset/29772)
   [#29690](https://core.trac.wordpress.org/ticket/29690)

### Media

 * Add two properties to media.model.Attachments.propmap: include and exclude, which
   are aliases for `post__in` and `post__not_in`. This allows you to instantiate
   a library that includes and/or excludes specific attachments by passing a single
   ID or an array of IDs. [[29759]](https://core.trac.wordpress.org/changeset/29759)
   [#26587](https://core.trac.wordpress.org/ticket/26587)
 * Disable multi-file uploading in iOS 7.x Safari as it prevents uploading of videos.
   [[29776]](https://core.trac.wordpress.org/changeset/29776) [#29602](https://core.trac.wordpress.org/ticket/29602)
 * When the modal is open, don’t respond to arrow keys when `<textarea>` has focus.
   [[29777]](https://core.trac.wordpress.org/changeset/29777) [#29725](https://core.trac.wordpress.org/ticket/29725)
 * Add size to the UIUI User interface for Gallery Settings in the media modal. 
   Ensure that the TinyMCE view is refreshed when size changes. [[29779]](https://core.trac.wordpress.org/changeset/29779)
   [#18143](https://core.trac.wordpress.org/ticket/18143)

### Internals

 * wp_extract_urls() needs to also grab URLs with query strings and hashes. [[29756]](https://core.trac.wordpress.org/changeset/29756)
   [#29314](https://core.trac.wordpress.org/ticket/29314)
 * In `wp_ajax_replyto_comment()`, if `$_POST['comment_type']` is set, use it for
   the value of `$comment_type`, which the `compact()` call has assumed is set since
   [[8720]](https://core.trac.wordpress.org/changeset/8720). It never was. [[29758]](https://core.trac.wordpress.org/changeset/29758)
   [#29704](https://core.trac.wordpress.org/ticket/29704)
 * Ordering by `RAND()`:
    The shortcodeShortcode A shortcode is a placeholder used
   within a WordPress post, page, or widget to insert a form or function generated
   by a plugin in a specific location on your site. callbacks for gallery and playlist
   check for `'RAND' == $atts['order']`, which isn’t a valid value for order. Remove
   those checks and update the docs. In `WP_Query`, if the value of orderby is rand,
   order is irrelevant and should be unset. [[29760]](https://core.trac.wordpress.org/changeset/29760)
   [#29629](https://core.trac.wordpress.org/ticket/29629)
 * Add safeguards for when ext/hash is not compiled with PHPPHP The web scripting
   language in which WordPress is primarily architected. WordPress requires PHP 
   7.4 or higher. [[29761]](https://core.trac.wordpress.org/changeset/29761) [[29751]](https://core.trac.wordpress.org/changeset/29751)
   [#29518](https://core.trac.wordpress.org/ticket/29518)
 * Improve and clarify inline commenting inside the `check_comment()` function. 
   [[29763]](https://core.trac.wordpress.org/changeset/29763) [[29762]](https://core.trac.wordpress.org/changeset/29762)
   [#29734](https://core.trac.wordpress.org/ticket/29734)
 * Create correct permalinks for child posts of hierarchical post types when default
   permalinks are used. [[29765]](https://core.trac.wordpress.org/changeset/29765)
   [#29615](https://core.trac.wordpress.org/ticket/29615)
 * Allow bookmarks to be ordered by link_description in get_bookmarks(). [[29778]](https://core.trac.wordpress.org/changeset/29778)
   [#29763](https://core.trac.wordpress.org/ticket/29763)
 * In `paginate_links()`, ensure that query string args are propagated to the resulting
   paginated links. [[29780]](https://core.trac.wordpress.org/changeset/29780) [#29636](https://core.trac.wordpress.org/ticket/29636)
 * The joys of `wptexturize()`: [[29781]](https://core.trac.wordpress.org/changeset/29781)
   [#29557](https://core.trac.wordpress.org/ticket/29557)
    - Revert parts of [[28773]](https://core.trac.wordpress.org/changeset/28773)
      and [[28727]](https://core.trac.wordpress.org/changeset/28727) and [[29748]](https://core.trac.wordpress.org/changeset/29748).
    - Do not ignore unclosed HTMLHTML HyperText Markup Language. The semantic scripting
      language primarily used for outputting content in web browsers. comments.
    - Do not break unregistered shortcodes, e.g. [hello attr=”value”], or when there
      is extra whitespace, e.g. [ hello ].
    - Do not break HTML in shortcode attributes, e.g. [hello attr=”<”].
 * Use SSLSSL Secure Sockets Layer. Provides a secure means of sending data over
   the internet. Used for authenticated and private actions. for all references 
   to WordPress.orgWordPress.org The community site where WordPress code is created
   and shared by the users. This is where you can download the source code for WordPress
   core, plugins and themes as well as the central location for community conversations
   and organization. [https://wordpress.org/](https://wordpress.org/) [[29787]](https://core.trac.wordpress.org/changeset/29787)
   [[29788]](https://core.trac.wordpress.org/changeset/29788) [[29789]](https://core.trac.wordpress.org/changeset/29789)
   [#27115](https://core.trac.wordpress.org/ticket/27115)
 * Change the default orderby value in `wp_get_nav_menus()` to `'name'`. [[29792]](https://core.trac.wordpress.org/changeset/29792)
   [[29796]](https://core.trac.wordpress.org/changeset/29796) [#29460](https://core.trac.wordpress.org/ticket/29460)

Thanks to [@hauvong](https://profiles.wordpress.org/hauvong/), [@dlh](https://profiles.wordpress.org/dlh/),
[@mvd7793](https://profiles.wordpress.org/mvd7793/), [@nerrad](https://profiles.wordpress.org/nerrad/),
[@pavelevap](https://profiles.wordpress.org/pavelevap/), [@loushou](https://profiles.wordpress.org/loushou/),
[@avryl](https://profiles.wordpress.org/avryl/), [@TobiasBg](https://profiles.wordpress.org/TobiasBg/),
[@DustinHartzler](https://profiles.wordpress.org/DustinHartzler/), [@dominik.schwind](https://profiles.wordpress.org/dominik.schwind/),
[@afercia](https://profiles.wordpress.org/afercia/), [@ryelle](https://profiles.wordpress.org/ryelle/),
[@richardmtl](https://profiles.wordpress.org/richardmtl/), [@noplanman](https://profiles.wordpress.org/noplanman/),
[@wonderboymusic](https://profiles.wordpress.org/wonderboymusic/), [@obenland](https://profiles.wordpress.org/obenland/),
[@miqrogroove](https://profiles.wordpress.org/miqrogroove/), [@ixkaito](https://profiles.wordpress.org/ixkaito/),
[@benjmay](https://profiles.wordpress.org/benjmay/), [@mantismamita](https://profiles.wordpress.org/mantismamita/),
[@nikolov.tmw](https://profiles.wordpress.org/nikolov.tmw/), [@shooper](https://profiles.wordpress.org/shooper/),
[@shooper](https://profiles.wordpress.org/shooper/), [@voldemortensen](https://profiles.wordpress.org/voldemortensen/),
[@igmoweb](https://profiles.wordpress.org/igmoweb/), [@curtjen](https://profiles.wordpress.org/curtjen/),
[@simonwheatley](https://profiles.wordpress.org/simonwheatley/) for their core contributions!

RevisionsRevisions The WordPress revisions system stores a record of each saved 
draft or published update. The revision system allows you to see what changes were
made in each revision by dragging a slider (or using the Next/Previous buttons).
The display indicates what has changed in each revision. covered: [[29756]](https://core.trac.wordpress.org/changeset/29756)
to [[29799]](https://core.trac.wordpress.org/changeset/29799). For the complete 
list of commits to trunktrunk A directory in Subversion containing the latest development
code in preparation for the next major release cycle. If you are running "trunk",
then you are on the latest revision., check out the [log on Trac](https://core.trac.wordpress.org/log?rev=29799&stop_rev=29756&limit=400&verbose=on).
Interested in joining in? [Write or test a patch for 4.1](https://core.trac.wordpress.org/tickets/major).
Also don’t miss the weekly meeting today [20:00 UTC](https://www.timeanddate.com/worldclock/fixedtime.html?iso=20141001T2000)

[#4-0](https://make.wordpress.org/core/tag/4-0/), [#week-in-core](https://make.wordpress.org/core/tag/week-in-core/)

 [  ](https://profiles.wordpress.org/ocean90/) [Dominik Schilling](https://profiles.wordpress.org/ocean90/)
12:13 am _on_ September 5, 2014     
Tags: 4.0, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/),
[i18n ( 37 )](https://make.wordpress.org/core/tag/i18n/)   

# 󠀁[Language chooser in 4.0](https://make.wordpress.org/core/2014/09/05/language-chooser-in-4-0/)󠁿

As mentioned in [previous posts](https://make.wordpress.org/core/tag/i18n/), WordPress
4.0 includes a language chooser. After selecting a language WordPress will download
and install the language pack on the fly. The rest of the install process will then
be in that language.

![Language Chooser in WordPress 4.0](https://make.wordpress.org/core/files/2014/
09/language-chooser.png)

Language Chooser in WordPress 4.0

#### A summary

To make this possible we introduced some helper functions or changed existing functions.

[`translations_api()`](https://developer.wordpress.org/reference/functions/translations_api/)
is based on `plugins_api()` / `themes_api()` and retrieves translations from the
WordPress Translationtranslation The process (or result) of changing text, words,
and display formatting to support another language. Also see [localization](https://make.wordpress.org/core/tag/4-0/?output_format=md#l10n),
[internationalization](https://make.wordpress.org/core/tag/4-0/?output_format=md#i18n).
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.. The first argument `$type` must be `core`, `theme` or `plugin`. `$args` is
used for additional arguments. For example `$args['version']` should be specified
for all types. Types `theme` and `plugin` must set `slug` too.

[`wp_get_available_translations()`](https://developer.wordpress.org/reference/functions/wp_get_available_translations/)
function is a wrapper for [`translations_api()`](https://developer.wordpress.org/reference/functions/translations_api/)
and returns coreCore Core is the set of software required to run WordPress. The 
Core Development Team builds WordPress. translations for the current installed version.
The [API result](https://api.wordpress.org/translations/core/1.0/?version=4.0) is
cached for 3 hours.

As soon as a language is selected and the Continue button is clicked, WordPress 
will download the language pack in background, [`wp_download_language_pack()`](https://developer.wordpress.org/reference/functions/wp_download_language_pack/)
does this with the help of [Automatic_Upgrader_Skin](https://developer.wordpress.org/reference/classes/automatic_upgrader_skin/)
and [Language_Pack_Upgrader](https://developer.wordpress.org/reference/classes/language_pack_upgrader/).

Because translations are installed on the fly we had to enhance the existing [`load_default_textdomain()`](https://developer.wordpress.org/reference/functions/load_default_textdomain/)
function. It now supports an optional `$locale` parameter to allow to switch the
default translation. ([[29630]](https://core.trac.wordpress.org/changeset/29630))

The WPLANG _option_ is now set in single sites too and is populated on upgrade, 
based on the value of the WPLANG _constant_, which is now deprecated, see [[29630]](https://core.trac.wordpress.org/changeset/29630).
[`get_locale()`](https://developer.wordpress.org/reference/functions/get_locale/)
now includes the global `$wp_local_package` variable (used in localized packages)
and an existing but empty WPLANG _option_ can override the WPLANG _constant_ as 
an empty WPLANG _option_ is equivalent to _en\_US_.

[`wp_dropdown_languages()`](https://developer.wordpress.org/reference/functions/wp_dropdown_languages/)
replaces `mu_dropdown_languages()`, which had many issue like not supporting variants
of the same language (like _en_, _en\_GB_, _en\_CA_ and _en\_AU_). The new dropdown
is populated by the translation API.

#### Asynchronous translation updates

In WordPress 3.7 we had introduced [Language_Pack_Upgrader::async_upgrade()](https://developer.wordpress.org/reference/classes/language_pack_upgrader/async_upgrade/).
Asynchronous translation updates will run after a theme or 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. is installed or updated. What’s 
the purposes of async updates? One, when you install or update a theme or plugin,
you’d expect to get the translations updated for that theme or plugin. But all out
of date translations are updated here (even when that plugin or theme was already
up to date), in order to capitalize on the fact that we have a filesystem connection(
which may be via user-submitted FTPFTP FTP is an acronym for File Transfer Protocol
which is a way of moving computer files from one computer to another via the Internet.
You can use software, known as a FTP client, to upload files to a server for a WordPress
website. [https://codex.wordpress.org/FTP_Clients](https://codex.wordpress.org/FTP_Clients)
credentials).

In WordPress 4.0 this asynchronous update will no longer run on version-controlled
installs. You can also use the [`async_update_translation`](https://developer.wordpress.org/reference/hooks/async_update_translation/)
filterFilter Filters are one of the two types of Hooks [https://codex.wordpress.org/Plugin_API/Hooks](https://codex.wordpress.org/Plugin_API/Hooks).
They provide a way for functions to modify data of other functions. They are the
counterpart to Actions. Unlike Actions, filters are meant to work in an isolated
manner, and should never have side effects such as affecting global variables and
output. (which corresponds exactly to the [`auto_update_translation`](https://developer.wordpress.org/reference/hooks/auto_update_type/)
filter) to disable it, see [[29694]](https://core.trac.wordpress.org/changeset/29694).

    ```notranslate
    // Disable asynchronous and automatic background translation updates
    add_filter( 'async_update_translation', '__return_false' );
    add_filter( 'auto_update_translation', '__return_false' );
    ```

#### Other notes

 * Localized packages will skip language chooser, see [[29705]](https://core.trac.wordpress.org/changeset/29705).
 * For BC it’s allowed to choose a language specified by the WPLANG constant (but
   not installed), see [[29691]](https://core.trac.wordpress.org/changeset/29691).
 * General Settings includes an option for the Site Language in single sites now
   too.
 * WPLANG section from `wp-config-sample.php` is removed, see [make/polyglots post](https://make.wordpress.org/polyglots/2014/09/03/you-have-about-14-hours-to-complete-your/).
 * On install, WordPress will skip the language chooser if it has no access to the
   filesystem without asking for credentials, see [[29673]](https://core.trac.wordpress.org/changeset/29673).
 * For a peek at what’s to come in 4.1, check out [#29395](https://core.trac.wordpress.org/ticket/29395).

[#4-0](https://make.wordpress.org/core/tag/4-0/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/),
[#i18n](https://make.wordpress.org/core/tag/i18n/)

 [  ](https://profiles.wordpress.org/nacin/) [Andrew Nacin](https://profiles.wordpress.org/nacin/)
3:56 am _on_ September 4, 2014     
Tags: 4.0, [credits ( 5 )](https://make.wordpress.org/core/tag/credits/)

# 󠀁[The props list has been updated on the…](https://make.wordpress.org/core/2014/09/04/the-props-list-has-been-updated-on-the/)󠁿

The props list has been updated on the 4.0 credits page. If you haven’t updated 
your display name yet, you should totally do that on [your support forum profile](https://wordpress.org/support/profile).

[#4-0](https://make.wordpress.org/core/tag/4-0/), [#credits](https://make.wordpress.org/core/tag/credits/)

 [  ](https://profiles.wordpress.org/helen/) [Helen Hou-Sandi](https://profiles.wordpress.org/helen/)
11:39 am _on_ September 3, 2014     
Tags: 4.0   

# 󠀁[4.0 release plan update](https://make.wordpress.org/core/2014/09/03/4-0-release-plan-update/)󠁿

If you’ve been following along with IRCIRC Internet Relay Chat, a network where 
users can have conversations online. IRC channels are used widely by open source
projects, and by WordPress. The primary WordPress channels are **#wordpress** and**#
wordpress-dev**, on irc.freenode.net. and [Trac activity](https://core.trac.wordpress.org/timeline?from=09%2F03%2F14&daysback=1)
over the last 24 hours, you’ll have noticed that there’s been a lot of it. We’ve
had a number of issues pop up, and thus did not reach the targeted freeze of [16:00 UTC on 2014/09/02](https://www.timeanddate.com/worldclock/fixedtime.html?iso=20140902T1600).
If you haven’t been following along, I highly recommend it 🙂

Given that, our **new release target** is shifted back one day to [16:00 UTC on 2014/09/04](https://www.timeanddate.com/worldclock/fixedtime.html?iso=20140904T1600).
We’ll still kick off two hours beforehand with various pre-launch checks and tasks.
This means code freeze by [16:00 UTC on 2014/09/03](https://www.timeanddate.com/worldclock/fixedtime.html?iso=20140903T1600)–
just a few short hours from now. I would also like to run a number of those pre-
flight checks in the hour or two before freeze to give us an early chance to squash
anything that may come up during those. To that end, an [RC2](https://wordpress.org/wordpress-4.0-RC2.zip)
has been built for final testing.

[#4-0](https://make.wordpress.org/core/tag/4-0/)

 [  ](https://profiles.wordpress.org/wonderboymusic/) [Scott Taylor](https://profiles.wordpress.org/wonderboymusic/)
2:07 am _on_ August 29, 2014     
Tags: 4.0, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/),
[query ( 8 )](https://make.wordpress.org/core/tag/query/)   

# 󠀁[A more powerful ORDER BY in WordPress 4.0](https://make.wordpress.org/core/2014/08/29/a-more-powerful-order-by-in-wordpress-4-0/)󠁿

`orderby` is the argument passed to `WP_Query` to tell it what column to sort on
when it is creating the `ORDER BY` clause for its generated SQL. The default value
for `orderby` is `post_date`.

The default sort order for a column in MySQLMySQL MySQL is a relational database
management system. A database is a structured collection of data where content, 
configuration and other options are stored. [https://www.mysql.com](https://www.mysql.com/)
is `ASC` (ascending), with smallest values first. For the reverse, `DESC` is used.
You can sort on multiple columns, and each column can have its own sort order.

The default value for the `order` argument inside `WP_Query` is `DESC`. ~23% of 
the internet automatically queries posts in reverse chronological order because 
of this. `order` can only be one of 2 values: `DESC` or `ASC`.

`orderby` accepts a string, representing a column on which to sort:

    ```notranslate
    $q = new WP_Query( array( 'orderby' => 'post_title' ) );

    // or an alias
    $q = new WP_Query( array( 'orderby' => 'title' ) );
    ```

Both will produce an `ORDER BY` clause like:

    ```notranslate
    ORDER BY post_title DESC
    ```

`orderby` will also parse a space-delimited set of columns:

    ```notranslate
    $q = new WP_Query( array( 'orderby' => 'title author' ) );
    ```

Prior to 4.0, there was a problem: the value for `order` would only be applied to
the last value that you passed in that space-delimited list, producing an ORDER 
BY clause like:

    ```notranslate
    ORDER BY post_title, post_author DESC
    ```

Remember that the default sort order for a column in MySQL is `ASC`, so queries 
like that can get weird real fast and produce unexpected/unpredictable results. 
If no value is passed for order for a column in the generated SQL, the column will
be sorted in `ASC` order. This was not so clear to all developers. [#26042](https://core.trac.wordpress.org/ticket/26042)
was a joy to debug.

In 4.0, when you pass a space-delimited set of values, your sole value for `order`
will be applied to all of your values that are parsed for `orderby`. This was fixed
in [[28541]](https://core.trac.wordpress.org/changeset/28541).

So that’s pretty good, but it doesn’t allow you granular control over the sort order
for each column. The syntax doesn’t allow itself much room for extending.

Enter [[29027]](https://core.trac.wordpress.org/changeset/29027).

In 4.0, you can now pass an array to `WP_Query` as the value for `orderby`. The 
syntax looks like:

    ```notranslate
    $q = new WP_Query( array( 'orderby' => array( 'title' => 'DESC', 'menu_order' => 'ASC' ) ) );
    ```

This allows you to control the generation of the `ORDER BY` clause with more specificity:

    ```notranslate
    ORDER BY post_title DESC, menu_order ASC
    ```

Pre-4.0, you would have had to use some gnarly filters on the SQL statement or a
specific clause. No bueno.

To see the internals, check out the new `protected` methods in `WP_Query`: `->parse_order()`
and `->parse_orderby`.

Happy `WP_Query`ing!

[#4-0](https://make.wordpress.org/core/tag/4-0/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/),
[#query](https://make.wordpress.org/core/tag/query/)

 [  ](https://profiles.wordpress.org/helen/) [Helen Hou-Sandi](https://profiles.wordpress.org/helen/)
8:04 pm _on_ August 27, 2014     
Tags: 4.0, [agenda ( 1,150 )](https://make.wordpress.org/core/tag/agenda/)

# 󠀁[RC1 is here Proposed agenda for today’s meeting…](https://make.wordpress.org/core/2014/08/27/rc1-is-here-proposed-agenda-for-todays-meeting/)󠁿

[RC1 is here!](https://wordpress.org/news/2014/08/wordpress-4-0-release-candidate/)
Proposed agenda for today’s meeting:

 * What’s come up in the hours since RC1 was released?
 * Keep an eye on [support forums](https://wordpress.org/support/forum/alphabeta)
   and [bugs reported against trunk](https://core.trac.wordpress.org/report/40).
   Great time for triagetriage The act of evaluating and sorting bug reports, in
   order to decide priority, severity, and other factors. of non-4.0 tickets as 
   well.
 * 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. developers: update your readmes
   and [add an icon](https://make.wordpress.org/core/2014/08/21/introducing-plugin-icons-in-the-plugin-installer/)!
 * [Interesting post on wp-hackers](http://lists.automattic.com/pipermail/wp-hackers/2014-August/048597.html).
   Feedback welcome.
 * Codex page.
 * Any blogblog (versus network, site) posts we need to write for developers?
 * Are there any plugins we need to ship to show off or extend 4.0 features?
 * Release plan.

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

 [  ](https://profiles.wordpress.org/helen/) [Helen Hou-Sandi](https://profiles.wordpress.org/helen/)
7:07 pm _on_ August 25, 2014     
Tags: 4.0, [bug scrub ( 85 )](https://make.wordpress.org/core/tag/bug-scrub/)

# 󠀁[I’d like to hold an impromptu scrub of…](https://make.wordpress.org/core/2014/08/25/id-like-to-hold-an-impromptu-scrub-of/)󠁿

I’d like to hold an impromptu scrub of [remaining 4.0 tickets](https://core.trac.wordpress.org/report/6)
in about an hour at [20:00 UTC](https://www.timeanddate.com/worldclock/fixedtime.html?iso=20140825T2000).
[@nacin](https://profiles.wordpress.org/nacin/) and I triaged most tickets earlier
today and feel confident that we can finish everything out and get to RCrelease 
candidate One of the final stages in the version release cycle, this version signals
the potential to be a final release to the public. Also see [alpha (beta)](https://make.wordpress.org/core/tag/4-0/?output_format=md#alpha-beta)..

[#4-0](https://make.wordpress.org/core/tag/4-0/), [#bug-scrub](https://make.wordpress.org/core/tag/bug-scrub/)

 [  ](https://profiles.wordpress.org/nacin/) [Andrew Nacin](https://profiles.wordpress.org/nacin/)
7:11 pm _on_ August 21, 2014     
Tags: 4.0, [dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/),
[plugins ( 33 )](https://make.wordpress.org/core/tag/plugins/), [upgrade-install ( 32 )](https://make.wordpress.org/core/tag/upgrade-install/)

# 󠀁[Introducing plugin icons in the plugin installer](https://make.wordpress.org/core/2014/08/21/introducing-plugin-icons-in-the-plugin-installer/)󠁿

WordPress 4.0 comes with a redesigned 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. installer. [Just now](https://core.trac.wordpress.org/changeset/29569)
we’ve added one of the finishing touches to this project — plugin icons.

**Plugin authors, **If your plugin is compatible with WordPress 4.0, it only takes
a few moments to change a readme “Tested up to:” value to 4.0. Compatibility information
is prominently shown in the new plugin installer, so you’ll definitely want to update
this value. For your plugin to stand out, you’ll also want to give your plugin an
icon. Read on…

### ![Akismet](https://make.wordpress.org/core/files/2014/08/akismet1.png)

### Beautiful, auto-generated icons

Default icons are generated using the [GeoPattern library](https://github.com/jasonlong/geo_pattern)
by Jason Long of GitHubGitHub GitHub is a website that offers online implementation
of git repositories that can easily be shared, copied and modified by other developers.
Public repositories are free to host, private repositories require a paid subscription.
GitHub introduced the concept of the ‘pull request’ where code changes done in branches
by contributors can be reviewed and discussed before being merged by the repository
owner. [https://github.com/](https://github.com/). If you have a banner image, it
is automatically sampled to determine the primary color for the pattern, using [Tonesque](https://github.com/mtias/tonesque)
from [@matveb](https://profiles.wordpress.org/matveb/). (Cool, huh?)

### ![mosiac-2](https://make.wordpress.org/core/files/2014/08/mosiac-2.png)

### Making your own icon

Plugin icons are 128 pixels square. HiDPI (retina) icons are supported at 256 pixels
square. Like banners, these go into your `/assets` directory and can be either a
PNG or JPG. So just create `assets/icon-128x128.(png|jpg)` and/or `assets/icon-256x256.(
png|jpg)` and you have an icon.

You also have another option: **SVG**. Vectors are perfect for icons like this, 
as they can be scaled to any size and the file itself is small. For an SVG file,
you simply need an `assets/icon.svg` file.

We _may_ implement SVG-to-images fallbacks in coreCore Core is the set of software
required to run WordPress. The Core Development Team builds WordPress. for browsers
that don’t support them, so if you go the SVG route, I’d suggest also turning your
SVG into a PNG. (SVG takes precedence.)

Jetpack uses an SVG icon:


### Some tips when designing an icon

 * Keep it simple! The [Android](http://developer.android.com/design/style/iconography.html#DesignTips)
   and [iOS Human Interface Guidelines](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/AppIcons.html#//apple_ref/doc/uid/TP40006556-CH19-SW1)
   both have some fantastic design tips.
 * Avoid text, especially since these may be seen at smaller sizes in other contexts(
   and in languages other than English). And because this is an icon, not an ad.
 * Use the right image format for what you’re doing. Don’t use JPGs for simple designs;
   don’t use PNGs for photos.
 * Optimize your images! Use something like [ImageOptim](https://imageoptim.com/)
   or your favorite web app, CLICLI Command Line Interface. Terminal (Bash) in Mac,
   Command Prompt in Windows, or WP-CLI for WordPress. tool, etc.
 * Please no WordPress logos. Come up with your own brand. (If you already have 
   a banner image, you likely already have a head start here.)
 * If you haven’t worked with SVGs before, they’re pretty cool. Here’s [a tutorial from Chris Coyier](http://css-tricks.com/using-svg/).
 * Keep in mind this is an icon for your plugin, not a display ad.

### Some examples

Akismet, Jetpack, and Hello Dolly already have icons. You can see their assets directories
[here](https://plugins.trac.wordpress.org/browser/akismet/assets/), [here](https://plugins.trac.wordpress.org/browser/jetpack/assets/),
and [here](https://plugins.trac.wordpress.org/browser/hello-dolly/assets/).


Thanks to the hard work of Alex Shiels ([@tellyworth](https://profiles.wordpress.org/tellyworth/))
for implementing this!

[#4-0](https://make.wordpress.org/core/tag/4-0/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/),
[#plugins](https://make.wordpress.org/core/tag/plugins/), [#upgrade-install](https://make.wordpress.org/core/tag/upgrade-install/)

 [  ](https://profiles.wordpress.org/helen/) [Helen Hou-Sandi](https://profiles.wordpress.org/helen/)
4:13 pm _on_ August 13, 2014     
Tags: 4.0, [agenda ( 1,150 )](https://make.wordpress.org/core/tag/agenda/)

# 󠀁[All hands on deck for 4.0 Beta 4 and RC 1](https://make.wordpress.org/core/2014/08/13/all-hands-on-deck-for-4-0-beta-4-and-rc-1/)󠁿

We’ve been pushing really hard to get to a place where a final betaBeta A pre-release
of software that is given out to a large group of users to trial under real conditions.
Beta versions have gone through alpha testing in-house and are generally fairly 
close in look, feel and function to the final product; however, design changes often
occur as part of the process. and then RCrelease candidate One of the final stages
in the version release cycle, this version signals the potential to be a final release
to the public. Also see [alpha (beta)](https://make.wordpress.org/core/tag/4-0/?output_format=md#alpha-beta).
phase are appropriate for the 4.0 development cycle.

This impacts a few things:

 * The [release date](https://make.wordpress.org/core/version-4-0-project-schedule/)(
   currently scheduled for August 27, in just two short weeks).
 * Finalizing help and about page text, and thus string freeze (and, therefore, 
   translators).

With the help of everybody who’s contributed to this release thus far, we’ve done
a really great job with the features we’ve been working on and the overall ticketticket
Created for both bug reports and feature development on the bug tracker. queue for
this milestone. All of that said, we need your help to get the following done:

### Needed to reach the final beta

 * [#28328](https://core.trac.wordpress.org/ticket/28328): Focus on editing, while
   editing (editor scrolling improvements). There is [a comment](https://core.trac.wordpress.org/ticket/28328#comment:54)
   that outlines a few things we feel need at least consideration before we consider
   this release-worthy. [@stephdau](https://profiles.wordpress.org/stephdau/) has
   been working through patching – testing of patches is greatly appreciated, as
   are 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. reports (as always).
 * [#28842](https://core.trac.wordpress.org/ticket/28842): Media Grid: Bulk selection
   mode. [User testing](https://make.wordpress.org/ui/2014/07/22/media-grid-user-testing-round-1/)
   and further feedback have led us to give a separate selection mode another try.
   [@ericlewis](https://profiles.wordpress.org/ericlewis/) has been doing very heavy
   lifting throughout the cycle on the feature. There is 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. for testing (not for commit)
   along with some observations on ticket. Once again, testing and UIUI User interface/
   UXUX User experience observations are very welcome. If you would like to help
   with patching, please let us know and we can coordinate to avoid duplicate efforts.

### Needed before RC1

 * Commit or puntpunt Contributors sometimes use the verb "punt" when talking about
   a ticket. This means it is being pushed out to a future release. This typically
   occurs for lower priority tickets near the end of the release cycle that don't"
   make the cut." In this is colloquial usage of the word, it means to delay or 
   equivocate. (It also describes a play in American football where a team essentially
   passes up on an opportunity, hoping to put themselves in a better position later
   to try again.) [all tickets currently slated for the 4.0 milestone](https://core.trac.wordpress.org/tickets/major).
   Anybody can help by testing/writing patches or marking tickets for commit or 
   punt using keywords. If you’re not sure, feel free to ask in IRCIRC Internet 
   Relay Chat, a network where users can have conversations online. IRC channels
   are used widely by open source projects, and by WordPress. The primary WordPress
   channels are **#wordpress** and **#wordpress-dev**, on irc.freenode.net., on 
   ticket, or just move to the next one.
 * Triagetriage The act of evaluating and sorting bug reports, in order to decide
   priority, severity, and other factors. [all tickets reported against trunk](https://core.trac.wordpress.org/query?status=accepted&status=assigned&status=new&status=reopened&status=reviewing&version=trunk&order=priority).
   This is especially important in the RC phase, as we need to monitor things reported
   against trunktrunk A directory in Subversion containing the latest development
   code in preparation for the next major release cycle. If you are running "trunk",
   then you are on the latest revision. for bugs introduced in the cycle, particularly
   regressions. Many tickets opened against trunk will apply to earlier versions–
   please change the version field as appropriate to reflect that. It may help to
   filterFilter Filters are one of the two types of Hooks [https://codex.wordpress.org/Plugin_API/Hooks](https://codex.wordpress.org/Plugin_API/Hooks).
   They provide a way for functions to modify data of other functions. They are 
   the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated
   manner, and should never have side effects such as affecting global variables
   and output. out anything already milestoned for 4.0 or Future Release.
 * QA sweeps across browsers and devices, particularly on new features and checking
   CSSCSS Cascading Style Sheets. for anything introduced that may not work in IE8
   or in some cases IE7. For instance, any usages of CSS calc() need to have a fallback
   for IE8 and older.

If you’d like to tackle something you see here and would like a little more direction
to get started, please leave a comment below or head over to [#wordpress-dev](https://make.wordpress.org/core/tag/wordpress-dev/)
in IRC. One or more coreCore Core is the set of software required to run WordPress.
The Core Development Team builds WordPress. developers is likely to be around at
most hours.

Finally, for today’s dev chat at [2014-08-13 20:00 UTC](https://www.timeanddate.com/worldclock/fixedtime.html?iso=20140813T2000),
let’s take a quick look at the above, note any other blockers we see, and get people
assigned to tasks/tickets as we can.

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

 [  ](https://profiles.wordpress.org/helen/) [Helen Hou-Sandi](https://profiles.wordpress.org/helen/)
7:42 pm _on_ August 6, 2014     
Tags: 4.0, [agenda ( 1,150 )](https://make.wordpress.org/core/tag/agenda/)

# 󠀁[Proposed agenda for today’s dev chat * 3.9.2…](https://make.wordpress.org/core/2014/08/06/proposed-agenda-for-todays-dev-chat-3-9-2/)󠁿

Proposed agenda for today’s dev chat:

 * 3.9.2 and 4.0 beta 3 are out: https://wordpress.org/news/2014/08/wordpress-3-
   9-2/
 * What’s left for betaBeta A pre-release of software that is given out to a large
   group of users to trial under real conditions. Beta versions have gone through
   alpha testing in-house and are generally fairly close in look, feel and function
   to the final product; however, design changes often occur as part of the process.
   4 (likely to be the last)? What’s the timing on that and RCrelease candidate 
   One of the final stages in the version release cycle, this version signals the
   potential to be a final release to the public. Also see [alpha (beta)](https://make.wordpress.org/core/tag/4-0/?output_format=md#alpha-beta).
   1?
 * [83 open tickets left for this release](https://core.trac.wordpress.org/tickets/major).

Please propose any other items you might have in the comments.

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

# Post navigation

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