WordPress 5.6 Field Guide


Update on November 24, 2020: Added the newly published “Core major versions auto-updates UI changes in WordPress 5.6 – Correctiondev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. the the Auto-updates (Security) section as an embed. – @audrasjb

Update on November 23, 2020: Added the newly published “WordPress & PHP 8” dev note to the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8 section as an embed. – @desrosj


WordPress 5.6 brings you the best features and enhancements to help end 2020 on a positive note! An all-women and non-binary release squad lead the development of new features and resolved defects that benefit users and developers alike. 👩🏻‍💻👩🏼‍💻👩‍💻👩🏽‍💻👩🏾‍💻👩🏿‍💻

As a user, you’ll see automatic updates for major coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. releases (opt-in), external authentication to the REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. via newly introduced Application Passwords, PHP 8 support, the latest and greatest features in the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor, and a new AAA-ready default theme. As a developer, you’ll see 85 enhancements and feature requests, 201 bug fixes, and more! Of course, all those improvements mean code changes, which could in turn require you to make updates to your site, 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/ or can be cost-based plugin from a third-party, or theme.

Note that as of the publishing of this Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. there are still two pending Dev Notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. that will be published in the coming week. We will update this Field Guide with that content once it becomes available and will place a clear UPDATE note announcing the new content at the top of this Field Guide.

In this Field Guide, you’ll notice what’s relevant to you and your users among the many improvements coming in 5.6.

Application Passwords

Of the eight updates to the Login and Registration component, take notice of WordPress 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. improvements in the detailed integration guide. You can now make authenticated requests to various WordPress APIs via the newly-introduced, user-specific, application passwords.

The integration guide includes the application password format, the application password data store, how to generate credentials manually or programmatically through the REST API, and how to use those credentials with the REST API or XML-RPC API. Additionally, you’ll notice highlights on future developments for the REST API.

Auto-updates (Security)

The #core-auto-updates team introduces a new UIUI User interface allowing website administrators to opt-in to major version automatic updates. Read on to learn more about the new user interface to opt-in to automatic updates for major versions looks, how the user interface works, and how you can extend the core major versions auto-updates feature.

Block Editor

The block editor continues its rapid iteration. GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ version 9.2 is bundled with WordPress 5.6; that’s seven Gutenberg releases (versions 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, and 9.2) all bundled into this release (and as noted in the related Gutenberg handbook page)! Bug fixes and performance improvements from Gutenberg versions 9.3 and 9.4 are also part of 5.6.

The WordPress 5.6 Beta 1 post highlights many new features and improvements. There is improved support for video positioning in cover blocks, enhancements to Block Patterns including translatable strings, character counts in the information panel, improved keyboard navigation, and improved UI for drag and drop functionality.

Included below are details on a new Block API version that enables blocks to render their own block wrapper element, and a new createBlocksFromInnerBlocksTemplate Block API to create blocks from the InnerBlocks template. You’ll notice new block supports and abilities for dynamic blocks to use the new block supports, accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and small screen user experience enhancements to editor styling, extraction of reusable blocks from @wordpress/editor to @wordpress/reusable-blocks so they are available in other editors, and changes to Toolbar components.

jQuery

WordPress 5.6 includes part 2 of the 3-step plan for upgrading the version of jQuery bundled with core. The 3-step plan updates the bundled jQuery version to 3.5.1 and jQuery Migrate to 3.3.1. The dev note below includes details on part 2 of the plan, and more. Part 3 of the plan removes jQuery Migrate. That’s because jQuery Migrate is tentatively planned to be removed in WordPress 5.7 or later depending on testing. As 5.6 includes a major upgrade to the jQuery library, please ensure you test your plugins and themes as thoroughly as possible before the release of WordPress 5.6 to avoid any preventable breakage.

PHP 8

The next major version release of PHP, 8.0.0, is scheduled a few days prior to WordPress 5.6. The WordPress project has a long history of being compatible with new versions of PHP as soon as possible, and this release is no different. Because PHP 8 is a major version release, changes that break backward compatibility or compatibility for various APIs are allowed. While all of the detectable issues in WordPress can be fixed, you will need to verify that all of your plugins and themes are also compatible with PHP 8 prior to upgrading. Read on for more detailed information about what to look for.

REST API

Of the 28 REST API updates, pay attention to the new framework for making a series of REST API calls in one request to the server and the new wp_after_insert_post action that allows theme and plugin developers to run custom code after a post, its terms, 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. data has been updated. Read the respective dev notes below to learn more about these two new additions to the WordPress REST API.

Site Health

There are 11 Site Health updates in 5.6. You’ll want to particularly notice enhancements to the way the Site Health component handles and validates health checks. The dev note below includes details on changes to the Site Health component.

Themes

This release continues a tradition of including a new default theme, this year with the AAA-ready Twenty Twenty-One theme. The post below includes background on Twenty Twenty-One and the design decisions made in its planning. You’ll also notice the benefit in consulting our community of a11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) experts from the beginning, the joy in testing the AAA-ready default theme, and the pleasure of activating and using the new theme.

Other Developer Updates

There are even more goodies in 5.6! Read through the dev note below to see details on additional changes coming in 5.6 within the Administration, Build/Test Tools, Database, Media, Networks and Sites, Pings/Trackbacks, Quick/Bulk Edit, Site Health, TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies., Users, Upgrade/Install, and Widgets components and with PHP, JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML., and error handling.

But Wait, There is More!

5.6 offers so much more! Over 197 bugs, 85 enhancements and feature requests, and 39 blessed tasks have been marked as fixed in WordPress 5.6.

Here are a few that haven’t been highlighted:

  • Bundled Theme: Added block patterns for Twenty Twenty (#51098) and Twenty Nineteen (#51099) themes.
  • Bundled Theme: Added theme support for navigation-widgets (see #51445).
  • Build/Test Tools: Update akismet from 4.1.6 to 4.1.7 (#51610).
  • Build/Test Tools: Composer 2.0 Support (#51624).
  • Emoji: Update twemoji from 13.0.0 to 13.0.1 (#51356).
  • External Libraries: Update lodash from 4.17.15 to 4.17.19 (#51505).
  • External Libraries: Update react and react-dom from 16.9.0 to 16.13.1 (#51505).
  • Media: Added indicator to image details for images attached to a site option (#42063).
  • REST API: Fixed incorrect slashes in the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org if the parent is empty for REST API (see #44745).
  • Site Health: Added better handling of unexpected values in Site Health (#50145).
  • Site Health: Added a test to Site Health to verify that the Authorization headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. is working as expected for Application Passwords (see #51638).
  • And much, much more!

Please, test your code. Fixing issues helps you and millions of WordPress sites.

Props to @jeffpaul, @desrosj, @planningwrite, @isabel_brison, @audrasjb, @annezazu, @cbringmann, and @chanthaboune for contributing to this guide.

#5-6, #field-guide

WordPress 5.5 Field Guide


Update on 08 August 2020: Added “CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) Improvements” and “New editor preview options”

Update on 06 August 2020: Added the “Registering default values for 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. data” section.


WordPress 5.5 is shaping up to be “the best version of WordPress ever“!

As a user, you’ll see automatic updates for plugins and themes, a blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. directory, XML sitemaps, lazy-loading images, and the latest and greatest featured in the block editor. As a developer, you’ll see 157 enhancements and feature requests, 307 bug fixes, and more! Of course, all those improvements mean code changes, which could in turn require you to make updates to your site, 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/ or can be cost-based plugin from a third-party, or theme.

So take a look through this Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page., and see what’s relevant to you and your users, among the many improvements coming in 5.5…

Accessibility

Of the 34 various accessibility updates, Theme developers are highly encouraged to utilize the opt-in navigation-widgets feature to improve the semantics and accessibility of widgets with lists of links in themes. When support is declared, all default widgets included in WordPress Core that produce lists of links will be output wrapped in the <nav> element and an aria-label attribute is automatically generated based on 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.’s title field and added to the nav element. Read the following dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. to learn which widgets are affected, how to declare support, and other details behind this update.

Auto-updates (Security)

On the 6 security updates, the new core-auto-updates team worked on introducing a new UIUI User interface to manage Plugins and Themes automatic updates. Learn more about controlling this new UI, email notifications, site health screen, and if you’re a plugin developer, ensure your plugin is ready for the new auto-updates system.

Customize

Of the seven updates to the Customize component, Theme developers will want to take notice of changes to how the custom logo is linked on the homepage and a new logo image attributes filterFilter Filters are one of the two types of 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..

Block Editor

The block editor has continued its rapid iteration since WordPress 5.0. Now it has GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ version 8.5 bundled with WordPress 5.5; that’s ten releases all bundled into this release (versions 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, and 8.5)! Bug fixes and performance improvements from Gutenberg versions 8.6 and 8.7 will also be part of 5.5.

The WordPress 5.5 Beta 1 post highlights a lot of new features and improvements across these releases, though you’ll also want to note inline image editing, block patterns, device previews, block directory, among many other improvements bringing forth a better, smoother editing experience.

Below you’ll find details on updates to various Block APIs, how to register a block pattern, how themes can opt-out from core bundled block patterns, image editing via the REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. and how edited images are saved as a new attachment, custom line heights and custom units as new block tools, changes to the BlockPreview, URLInput, and Popover ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. components, and how to add your block plugin directly to the Block Directory.

Media

There are 26 updates to the Media component, including the core merge of the Lazy Loading featured plugin that now sees images lazy-loaded by default. Read on to learn more about reduced layout shifting as a prerequisite, how to customize lazy-loading, and browser compatibility.

REST API

36 updates to the REST API with particular interest pointed to new and modified endpoints, parameter and JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. schema changes, discoverable REST resource links, new 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. functions, CORS changes, the new register_theme_feature() function and its arguments, and other miscellaneous updates.

Options, Meta APIs

Sitemaps

The new Sitemaps component and its 13 items in WordPress 5.5 comes from the XML sitemaps feature project merge. Read on to learn more about adding custom sitemaps, removing certain sitemaps, adding additional tags to sitemap entries, excluding a single post from the sitemap, completely disabling sitemaps functionality, and the new classes, functions, 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., and filters.

Themes

This release sees the introduction of a Theme Field Guide! You’ll find a few theme related changes that were not large enough for their own developer note included here, as well as links to the other dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. above that are theme related.

Other Developer Updates

There are even more goodies in 5.5! Here are a few:

  • Update a plugin or theme by uploading a ZIP file
  • Default categories for custom post types
  • Support for default terms in custom taxonomies
  • Enforcing a default comment_type value
  • Updates to the PHPMailer, SimplePie, Twemoji, Masonry, imagesLoaded, getID3, Moment.js, and clipboard.js external libraries
  • Template loading functions now allow additional arguments to be passed through to the matched template file using a new $args parameter
  • WordPress now attempts to invalidate PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher files when Core, Plugins, or Themes are updated via wp_opcache_invalidate()
  • How theme authors can filter archive page headings
  • The new createInterpolateElement and wp_get_environment_type() functions
  • Better control of the redirect_guess_404_permalink() function
  • New CSSCSS Cascading Style Sheets. styles for buttons with disabled state
  • The final update to the Dashicons icon font as focus now shifts to the new Icon component
  • Various PHP-related improvements and changes
  • So much much more!

Read through the dev notes below to see details on all these changes coming in 5.5.

But Wait, There is More!

Over 307 bugs, 157 enhancements and feature requests, and 31 blessed tasks have been marked as fixed in WordPress 5.5. Some additional ones to highlight include:

  • Comments: The proper comment counts and page numbers for unapproved comments are now calculated correctly. (#8973)
  • Comments: get_comment_count() now returns integers for all counts of all statuses returned (#48093)
  • Customize: The CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. UI is now themed correctly based on the selected adminadmin (and super admin) theme (#50547)
  • Internationalization: Domain-specific i18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. filter hooks have been added. (#49518)
  • Media: sanitize_file_name() now correctly sanitizes filenames, removing accents (#22363)
  • Menus: Menu Settings are now provided when creating a new menu (#44286)
  • Menus: Empty taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. terms now show up in searches when adding items to menus (#45298)
  • Widgets: Widgets with custom image sizes now correctly display captions (#50160)

Please, test your code. Fixing issues helps you and helps millions of WordPress sites.

Props to @jeffpaul, @audrasjb, @desrosj for contributing to this guide.

#5-5, #field-guide

WordPress 5.4 Field Guide

WordPress 5.4 is shaping up to be the best WordPress 2020 has seen!

As a user, you’ll see new blocks and enhancements in the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor, new embeds, and improvements in the WordPress Adminadmin (and super admin) experience.

As a developer, you’ll see 122 enhancements and feature requests, 210 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. fixes, and more! Of course, all those improvements mean code changes, which could in turn require you to make updates to your site, 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/ or can be cost-based plugin from a third-party, or theme.

So take a look through this Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page., and see what’s relevant to you and your users, among the many improvements coming in 5.4…

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

On the 14 updates related to Accessibility in 5.4, you’ll want to particularly note changes to the WordPress Admin Bar, to the calendar and recent comments widgets, on the Menu screen, and bugs reported by the WPCampus accessibility report.

Block Editor

The block editor has continued its rapid iteration since WordPress 5.0. Now it has GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ version 7.5 bundled with WordPress 5.4; that’s ten releases all bundled into WordPress 5.4 (versions 6.66.76.86.97.07.17.27.37.4  and 7.5)! Bug fixes and performance improvements from Gutenberg versions 7.6 will also be part of 5.4.

The WordPress 5.4 Beta 1 post highlights a lot of new features and improvements across these releases, though you’ll also want to note the impressive achievement of 14% loading-time reduction and 51% time-to-type reduction (for a particularly long post of ~36,000 words, ~1,000 blocks) since WordPress 5.3.

Below you’ll find details on two new blocks, button component updates, block collections, default fullscreen mode for new installs/devices, custom keyboard shortcuts, general block editor 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. updates, new block variations API, a new gradient theme API, markup and style-related changes, and a new @wordpress/create-block package for block scaffolding.

CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.

On the 14 updates of the Customizer component, WordPress 5.4 improves accessibility of focused elements as a follow-up to WordPress 5.3 Admin CSSCSS Cascading Style Sheets. changes, adds documentation of existing Customizer functions and 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., removes apple-touch-icon-precomposed deprecated 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. tags, and improves Menu items selection logic.

Please note that some unused Customizer classes are now formally deprecated:

Menus

On the 5 updates in the Menus component, WordPress 5.4 improves keyboard accessibility of the Menu items selection tab panel and streamlines the user interface.

If your plugins add custom fields to menu items, you’ll want to update your code to use the new wp_nav_menu_item_custom_fields hook:

Privacy

On the 15 updates in the Privacy component, you will want to specifically note:

  • Personal Data Export now includes Session Tokens, Community Events Location and Custom User Meta.
  • Personal Data Exports now include a JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. file and a Table of Contents
  • New filters for the headers of all Privacy-related emails
  • The privacy tables are improved for a cleaner interface
  • wp_get_user_request_data() function was replaced with wp_get_user_request() for better clarity

All those changes are in this dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase.:

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

On the 22 updates related to the REST API, WordPress 5.4 now supports “OR” taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. relation parameter in Post Controller, adds selective link embedding and introduces some changes in the WP_REST_Server method. Read below for more details on these updates:

Shortcodes

On the 3 updates to the Shortcodes component, WordPress 5.4 introduces documentation improvements and a new function: apply_shortcodes. This function is an alias of do_shortcode, which is still supported.

Widgets

On the 9 updates to the Widgets component, WordPress 5.4 introduces accessibility and user interface enhancements on the Widgets Admin screen and changes in the Recent Comments and Calendar Widgets HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. markup.

Other Developer Updates

There are even more goodies in 5.4, like the new wp-env (a zero config tool for painless local WordPress environments), enhancements to favicon handling, better information about errors in wp_login_failed, a new site ID in 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’s newblog_notify_siteadmin filterFilter Filters are one of the two types of 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., a new TikTok video embed and removal of the CollegeHumor embed, storing the original URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org of media attachments in _source_url post meta, improved accessibility by loading the Admin Bar with wp_body_open, avoiding duplicate IDs in the Recent Comments 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., a new parameter in the lostpassword_post action in retrieve_password(), theme headers supporting “Requires at least” and “Requires PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher” declarations, and the delete_posts capability won’t trigger PHP notices for custom post types. Read through the dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. below to see details on all these changes coming in 5.4.

But Wait, There is More!

Over 198 bugs, 121 enhancements and feature requests, and 8 blessed tasks have been marked as fixed in WordPress 5.4. Some additional ones to highlight include:

  • Bootstrap/Load: Enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. to favicon handling (#47398)
  • Bundled Theme: Twenty Twenty: Add social icon for WhatsApp (#49098)
  • Comments: Add “In response to …” before threaded comments in comment feed (#43429)
  • Comments: Add “in reply to” in comment moderation email notification (#43805)
  • Embeds: Embed support has been added for TikTok (#49083) (Gutenberg#19345)
  • Embeds: Removal of CollegeHumor embed as the service doesn’t exists anymore (#48696) (Gutenberg#18591)
  • Login and Registration: Clearer information about errors in wp_login_failed (#49007)
  • Login and Registration: new parameter passed into the lostpassword_post action in retrieve_password() (#38334)
  • Networks and Sites: Site ID has been added to the newblog_notify_siteadmin filter for multisite installs (#48554)
  • Networks and Sites: switch_to_blog() and restore_current_blog() reuse switch_blog action (#49265)
  • Media: store the original URL of the attachment in the _source_url post meta value (#48164)
  • Menus: Make tabs panels more accessible for keyboard users (#49211)
  • Posts, Post Types: Use delete_posts without triggering PHP notices in every post type (#30991)
  • Post Thumbnails: Make sure get_post_thumbnail_id() returns an integer, to match the documented return value (#40096)
  • REST API: Expose all theme supports and changed permissions in /themes endpoint (#49037)
  • Site Health: Theme headers support “Requires at least” and “Requires PHP” declarations (#44592)
  • Toolbar: The Admin Bar is now loaded with wp_body_open when available (#47053)
  • Widgets: Avoid duplicate IDs in Recent Comments (#46747)

Please, test your code. Fixing issues helps you and helps millions of WordPress sites.

Props to @jeffpaul and @marybaum for contributing to this guide.

#5-4, #field-guide

WordPress 5.3 Field Guide


Update on 18 October 2019: Added the “Noteworthy Adminadmin (and super admin) CSSCSS Cascading Style Sheets. changes in WordPress 5.3” dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. to the Accessibility section


WordPress 5.3 is shaping up to be the best WordPress yet! Users will see new blocks, more intuitive blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor interactions, improved media handling, improved accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility), and the new Twenty Twenty default theme. Among many goodies in 5.3, developers will love the date/time component improvements, PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 7.4 compatibility, and will also be able to take advantage of 157 enhancements and feature requests, 366 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. fixes, and more! Let’s look at the many improvements coming in 5.3…

Accessibility

Of the 50 updates related to Accessibility in 5.3, you’ll want to particularly note the changes to Admin CSS, improvements of all the media views form controls and changes to explicit labeling, how coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. will now programmatically add aria-current="page" attributes to certain widgets, and programmatically add specific aria-label parameter for navigation menus. Read the dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. below for more details on the Accessibility focus.

Block Editor

The block editor has continued its rapid iteration since WordPress 5.0, and now has GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ version 6.5 bundled with WordPress 5.3; that’s TWELVE releases all bundled into 5.3 (versions 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6.0, 6.1, 6.2, 6.3, 6.4, and 6.5)! Bug fixes and performance improvements from Gutenberg versions 6.6 and 6.7 will also be part of 5.3. The Beta 1 post highlights many of the new features and improvements across these releases, but I’ll specifically pull out the reduction in 1.5 seconds of loading time for a particularly sizeable post (~ 36,000 words, ~ 1,000 blocks) as an impressive achievement given all that has otherwise been added to the block editor. The dev notes below also highlight new server-side block style variations 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., a new block example API, the Group block, reduced block styles specificity, using class names for text alignment, Columns block classnames, color support for the separator block, an updates to Table and Gallery blocks markup.

Media

Of the 42 updates for Media in 5.3, you’ll want to particularly note the new way to manage big images by detecting them and generating a “web-optimized maximum size” of them as well as saving of image metadata while creating intermediate sizes. Read the dev notes below for more details on the Media component.

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

Of the 15 updates for Multisite in 5.3, you’ll want to particularly note changes to the database, changes to WP_MS_Sites_List_Table, return for short circuits for multisite classes, and improved performance for site and networknetwork (versus site, blog) lookups by ID. Read the dev note below for more details on the Multisite component.

PHP 7.4 & Code Modernization

The great news continues. WordPress 5.3 supports PHP 7.4, which is scheduled for release at the end of November! Contributors worked with several external libraries to ensure that all 5 tickets addressing compatibility issues for PHP 7.4 were addressed in time for WordPress 5.3.

In addition to ensuring 5.3 supports PHP 7.4, a handful of updates occurred as a result of the continued coding standards and code modernization efforts. Most notably, the spread operator is now in use where appropriate, and the native PHP JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. extension is now required to run WordPress.

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/ or can be cost-based plugin from a third-party and theme developers are encouraged to read the following detailed dev notes to fully understand the changes coming and how their code should be updated!

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

Of the 33 updates for the REST API in 5.3, you’ll want to particularly note register array and object metadata, nested response filtering with _fields query parameter, how to set drafts back to “floating date” status, and possibly best of all up to a 30-40% performance increase in large API responses. Read the dev note below for more details on the REST API component.

Site Health

Of the 31 updates for Site Health in 5.3, you’ll want to particularly note changes to the grading indicator, recovery email enhancements, filters for completed Site Health status tests, and a new Admin email verification screen. Read the dev notes below for more details on the Site Health component.

Other Developer Updates

There are even more goodies in 5.3 like much–needed fixes and a set of improvements to the Date/Time component, changes to prevent search engines indexing sites, new default for links in comments and comment author URLs to use the rel="nofollow ugc" attribute, changes on Twenty Nineteen HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. structure, changes to wp_die() HTML output, expansion of the options available to compare_key so that developers have access to 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.-key comparison operators similar to those available for meta values, updates related to bumping the Backbone version bundled with WordPress from v1.3.3 to v1.4.0 and other external library updates, dropping support for integer menu slugs, addition of a “Show” button next to the password field on the login screen, passing arrays to supports argument when registering post types, HTML5 support for script and style arguments, recording additional information for saved queries, unit-less CSS line-height values, updates to cores’ build/test tools, and more! Read through the dev notes below to see what else is coming in 5.3.

But Wait, There is More!

Over 362 bugs, 157 enhancements and feature requests, and 36 blessed tasks have been marked as fixed in WordPress 5.3. Some additional ones to highlight include:

  • General: Use ** operator to replacepow() function calls (#48083)
  • I18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Text length should be localizable (#44541)
  • Menus: Replace httpHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. with httpsHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. in custom links menu item (#46312)
  • Networks and Sites: Redundant blog_versions table (#19755)
  • Networks and Sites: Save database version in site meta (#41685)
  • Site Health: Provide simple debug data in WSOD emails (#48090)
  • Widgets: Replace http with https in the link placeholder 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. image (#46320)

Please, test your code. Fixing issues helps you and helps millions of WordPress sites.

#5-3, #field-guide

WordPress 5.2 Field Guide

WordPress 5.2 is officially the best WordPress 2019 has seen that rhymes with wp_nav_menu()! Users will see new coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks available, and an added ability to enable or disable blocks within the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. inserter, along with a multitude of other block editor updates.

There are also new features to protect sites from the dreaded “White Screen of Death“, a new area for users to view, copy, and share important debug information, improvements to AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and theming Privacy Policy pages. Developers will love the various new filters and functions, and will also be able to take advantage of 62 enhancements and feature requests, 228 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. fixes, and more! Let’s look at the many improvements coming in 5.2…

Site Health and WSOD Protections

WordPress 5.2 includes portions of the Site Health and Servehappy projects. A new Site Health page nested under the “Tools” menu will run a series of tests on a site pointing out potential issues that site owner should be aware of. Plugins and themes may add their own tests, or modify/remove existing ones using filters. More debugging and support information is displayed within an “Info” tab in the same area of the adminadmin (and super admin). This information can help developers troubleshoot user issues.

From the Servehappy project comes the addition that allows administrators to fix or mitigate fatal errors on their site that would previously have been impossible to address without developer interference and modifying the codebase. This includes five ways that developers can integrate with the new recovery mode features.

Block Editor

The block editor has continued its rapid iteration since WordPress 5.0, and now has GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ version 5.4 bundled with WordPress 5.2. The most significant change in core is the addition of a a reusable block-editor module to expand the usage of the Block Editor in a context independent from the post editor without any dependency to the post object (e.g., to other WordPress admin pages like the widgets screen).

A new asynchronous mode for block rendering has also been added, new RSS and Amazon Kindle embed blocks were added, and a block management modal with the ability to enable/disable blocks from the block inserter. Improvements to the end-to-end tests have been made (including support for aXe Accessibility testing), as well as improvements to the accuracy of WP_Screen::is_block_editor(). Core blocks (aside from the Classic block) are also no longer using TinyMCE under the hood.

Accessibility

Accessibility updates in 5.2 include improvements to markup for Admin tabs, to post formats in list tables, to Admin Bar submenu link markup, and to the Archive 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. dropdown all to help assistive technologies.

Privacy Policy and Data Exports

The Privacy component has been enhanced with the addition of four new features to make customizing and designing the Privacy Policy page easier. Tag restrictions for User Data Exports have also been relaxed.

Note the shim provided for plugins and themes wanting to support the is_privacy_policy() function in older versions of WordPress

Security

5.2 includes several security-related updates like protection against supply-chain attacks and modern cryptography for WordPress plugins; read below for details and examples.

Other Developer Updates

There are even more goodies in 5.2 like the addition of 13 Dashicons and the WOFF 2.0 file format, the addition of short circuit filters to WP_Site_Query and WP_Network_Query, the addition of the wp_body_open() function to trigger a wp_body_open action, the addition of the category_list_link_attributes filterFilter Filters are one of the two types of 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. to Walker_Category, the addition of the users_have_additional_content filter, the update to @wordpress/scripts package to include webpack and Babel configurations, and more!

Note the wp-includes/fonts/dashicons.woff file does NOT include the 13 new icons.
Note the shim provided for themes wanting to utilize the wp_body_open() function in older versions of WordPress and prevent fatal errors from the undefined function

But Wait, There is More!

Over 228 bugs, 59 enhancements, 3 feature requests, and 16 blessed tasks have been marked as fixed in WordPress 5.2. Some additional ones to highlight include:

  • Embeds: YouTube embeds lack title attribute (#40245)
  • Export: Issue with WP Export – adding spaces to .xml file (#46575)
  • Feeds: Feeds now respect the Last-Modified headers (#4575)
  • General: Add sodium_compat — a libsodium-compatible cryptography 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. for PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher <7.2 (#45806)
  • I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: The Personal Data Erasure Fulfillment email is now in the Users LocaleLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. (#44721)
  • I18N: The Personal Data Export email is now in the Users Locale (#46056)
  • Networks and Sites: Introduces the ms_user_list_site_class filter (#41146)
  • Networks and Sites: Introduces the populate_site_meta filter (#46437)
  • Privacy: The ‘Download Personal Data’ admin action no longer triggers a completion of the request (#44644)
  • Privacy: Users are now able to make additional requests when identical previous requests are in a complete or archived state (#44707)
  • Privacy: Remove the Privacy Pointer (#45999)
  • Privacy: The Privacy Policy guide help notice is now displayed on both the classic editor and the block editor (#46098)
  • Privacy: Remove the Privacy Bubble (#46819)
  • Themes: Add global action to get_template_part (#41575)

Please, test your code. Fixing issues helps you and helps millions of WordPress sites.

Props to @desrosj and @earnjam for contributing to this guide.

UPDATE on 7 May 2019: Added “Changes to post globals setup and usage in get_the_content() and related functions in WordPress 5.2″ dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. to the Other Developer Updates section.

UPDATE #2 on 17 May 2019: Added “Security in 5.2” dev note to the newly created Security section.

#5-2, #field-guide

WordPress 5.1 Field Guide

WordPress 5.1 is officially the best WordPress 2019 has seen yet! Users will see blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor improvements while developers will see PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher version upgrade notices and will be able to take advantage of 165 enhancements and features added.  Let’s look at the many improvements coming in 5.1…

Site Health 💻🏥

WordPress 5.1 includes portions of the Servehappy and Site Health projects. Notices will start being displayed to administrators of sites that run on long outdated PHP versions. WordPress will also start honoring 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/ or can be cost-based plugin from a third-party PHP version requirements.

Block Editor Goodies 🧱🏗️

The block editor continued its rapid iteration since WordPress 5.0 and now has version 4.8 of the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ plugin bundled with WordPress 5.1. Most significantly, this includes performance improvements within the editor, a Getting Started with JavaScript tutorial, improvements to the design guidelines to build blocks, and high-quality README files for the UIUI User interface components.

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 Metadata 🏘️🗂️

5.1 brings with it a new database table to store metadata associated with sites, which allows for the storage of arbitrary site data relevant in a multisite / networknetwork (versus site, blog) context.

Cron 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. 🔁🔂

WordPress 5.1 includes a change in behavior for cron spawning on servers running FastCGI and PHP versions 7.0.16 and above. It also includes a change to the Cron API that updates the return values for functions used to modify scheduled tasks, it includes two new functions to assist with returning data (one to retrieve cron jobs ready to be run and another to retrieve a scheduled event), and it includes new filters for modifying cron storage.

New JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. Build Process 🇯🇸🏭

The JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. code reorganization has been in `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. since April 2018 and the new JavaScript build process will ship with WordPress 5.1.

Updated Styles and Strings 🔗🧵

Read below to learn about how the adminadmin (and super admin) table pagination links have had their CSSCSS Cascading Style Sheets. styling modified to improve accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and how LocaleLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. Managers with commit access on the /dist repository will need to manually translate and deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. changes to files that cannot use gettext.

Other Developer ❤️

There are even more goodies in 5.1 like updates to values allowed for the WP_DEBUG_LOG constant, new test config file constant in the test suite, new plugin action 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., short circuit filters for wp_unique_post_slug() and WP_User_Query and count_users(), a new human_readable_duration function, improved taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. metaboxMetabox A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way. sanitization, limited LIKE support for 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. keys when using WP_Meta_Query, a new “doing it wrong” notice when registering REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. endpoints, and more!

There are also a few additional changes that will receive a dev note shortly:

  • Object Caching can now degrade gracefully (#22661)
  • New parameter for the wp_check_filetype_and_ext filterFilter Filters are one of the two types of 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. (#45707)
  • New filter for filtering and overriding block attributes (#45451)

But Wait, There is More!

Over 303 bugs, 156 enhancements, 9 feature requests, and 23 blessed tasks have been marked as fixed in WordPress 5.1. Some additional ones to highlight include:

  • Bootstrap/Load: WSODs protection returns incorrect content type for JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. Requests (#45933)
  • Cache API: Allow object caches to degrade gracefully (#22661)
  • Customize: Improve browser compatibility of X-Frame-Options and Content-Security-Policy headers for window in preview iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. (#40020)
  • Customize: Use iframe sandbox attribute to restrict browsing in CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. preview instead of attempting to rely on JS to intercept top navigation (#42341)
  • Customize: Fix counting of sections for 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. sidebars, allowing non-sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. sections to not interfere (#43556)
  • Customize: Prevent wp_targeted_link_rel() from corrupting Customizer changeset data (#45292)
  • Media: Parse the creation date out of uploaded audio files (#42017)
  • Media: No placeholder for ico file in list view of Media Library (#43458)
  • Media: media_handle_sideload() may unexpectedly return 0 on error (#44303)
  • Menus: Improve headings and instructions for better accessibility (#43397)
  • Menus: Show an appropriate message when no menus exist (#45155)
  • Networks and Sites: Improve site creation in multisite (#40364)
  • Networks and Sites: Introduce ms-site.php and ms-network.php files (#40647)
  • Networks and Sites: Implement wp_initialize_site() and wp_uninitialize_site() (#41333)
  • Plugins: Disable “Install Plugin” button for PHP required version mismatch (#43986)
  • Privacy: Show the comment / awaiting moderation message even without opt-in (#43857)
  • Query: post__in orderby not working when passed in an array to orderby (#38034)
  • REST API: Allow to filter the query in the search controller (#45454)
  • Taxonomy: Add un|registered_taxonomy_for_object_type action (#44733)
  • Users: New filter to short circuit WP_User_Query results (#44169)
  • Widgets: Make the Widgets screen “Enable accessibility mode” link more discoverable (#42778)
  • Widgets: Fix Gallery Widget preview after an image is deleted (#43139)
  • Widgets: Fix custom HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. widget editor content not updating after save (#43657)

Please, test your code. Fixing issues helps you and helps millions of WordPress sites.

Props @desrosj for contributing to this guide.

#5-1, #field-guide

WordPress 5.0 Field Guide

WordPress 5.0 is officially the best WordPress 2018 has seen!  Users will be empowered with new and exciting tools to create to create truly unique sites while developers can to take advantage of 10 enhancements and features added.  Let’s look at the many improvements coming in 5.0…

Heard of GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/?

Not much has changed since 4.9.8, except this thing we lovingly call Gutenberg.  The Gutes.  Guten-all-the-things.  The BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor.  Want to build Gutenblocks?  We’ve got details on filters in the new block editor.  We’ve got compatibility flags you can set when adding a 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. box to load the block editor or to fall back to the classic editor. There is also designer and developer documentation in the handbook.

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. 🌐 and 🗣️

We’re bringing the internationalization capabilities that have existed in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher for years to the world of JavaScript.  You can also translate strings in JavaScript files and distribute them via https://translate.wordpress.org.  The long-wished-for JavaScript actions and filters are now also available in core.

Default Themes

With all the excitement of the new block editor there is some exciting news on the default themes front. First, WordPress 5.0 welcomes the newest default theme to the family, Twenty Nineteen.

But, preexisting default themes have not been left behind! All preexisting default themes have been updated to be fully compatible with the new editor.

Media WYSIWYGWhat You See Is What You Get What You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page.

5.0 brings a new way to interact with media within the editor, getting us to the world of a truly “what you see is what you getWhat You See Is What You Get What You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page.” experience.  Some things have moved around, some new methods have been added, and new features abound; read below for details.

✉️🏷️s (Post Labels)

Five additional labels have been made available for custom post types, but you’ll have to click through below to learn more.  I dare you, click through.  Do it.

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

The 5.0 release brings a handful of great new REST API endpoints with it to power the new block editor. In addition to the new endpoints, there are a handful of other REST API changes to be aware of.

But Wait, There is More!

Over 26 bugs, 8 enhancements, 2 feature requests, and 6 blessed tasks have been marked as fixed in WordPress 5.0. Some additional ones to highlight include:

  • Add CSSCSS Cascading Style Sheets. URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org sanitization to kses (#45067): Authors & Contributors can now use CSS in the post_content with a URL value, such as background-image. Used to get stripped out.

Please, test your code. Fixing issues helps you and helps millions of WordPress sites.


Update (2018-12-06): Added “JavaScript Packages and Interoperability in 5.0 and Beyond

#5-0, #field-guide

4.9.6 Update Guide

Included in WordPress 4.9.6 are several new functions and tools that you should be aware of. Here is a brief breakdown of resources to help you become acquainted with WordPress 4.9.6.

Attention: Theme Authors

4.9.6 adds several new privacy related features, one of which may require a small styling adjustment. These are detailed in the following dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase..

Changes that Affect Theme Authors in WordPress 4.9.6

Privacy

WordPress 4.9.6 introduces some new tools related to data privacy. This includes a tool for users to request an export of all the stored data associated with them on the site. It also includes a tool for users to request erasure of that same data. Both tools include adminadmin (and super admin) workflows to fulfill those requests.

To help 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/ or can be cost-based plugin from a third-party and theme authors integrate with these new tools, several new pages in the Handbook have been created.

Suggesting text for the site privacy policy
Adding the Personal Data Exporter to Your Plugin
Adding the Personal Data Eraser to Your Plugin
Privacy Related Options, Hooks and Capabilities

New PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher Polyfills

To help WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., plugins, and themes with forward compatibility, a polyfill for each of these functions has been added in 4.9.6. When a site is not running a version of PHP that includes these functions, WordPress will automatically load these polyfills.

New PHP Polyfills in 4.9.6

TinyMCE Update

TinyMCE has been updated from version 4.6.7 to version 4.7.11. This update provides a large number of 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. fixes. For more information, see #43862.

A full list of bugs and enhancements in 4.9.6 can be found on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress..

#4-9-6, #field-guide

WordPress 4.9 Field Guide

WordPress 4.9 is officially the best release ever (that rhymes with Shore Joint Twine)!  Users have safer and more flexible ways to edit code, new and improved widgets, and improvements to customizing their site while developers will be able to take advantage of 188 enhancements and features added.  Let’s look at the many improvements coming in 4.9…

Widgets: now new and improved

Galleries aren’t just for posts anymore, now they can get all up in your sidebars. That’s a good thing, if you’re into that sort of thing. On top of that your text 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. now supports shortcodes, images, galleries, videos, audio, and other media. Oh, and the text widget now supports embeds, so go ahead and drop a YouTube clip in that widget.

Introducing the Gallery widget

Widget Improvements in WordPress 4.9

WordPress and CodeMirror sitting in a tree…

Something something I-D-E. Ever wondered what an IDEIDE Integrated Development Environment. A software package that provides a full suite of functionality to software developers/programmers. Normally an IDE includes a source code editor, code-build tools and debugging functionality. would look like inside WordPress? Do you use Notepad as your IDE? No? Great, then you’ll love the syntax highlighting, linting, and auto-completion functionality within the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.’s Additional CSSCSS Cascading Style Sheets. feature, the Custom HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. widget, and the 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/ or can be cost-based plugin from a third-party and Theme file editors!

Code Editing Improvements in WordPress 4.9

🔎, 🏗️, and 👓 Themes in the Customizer

That’s emoji for browsing, installing, and previewing, but you knew that already. The Customizer now includes a new experience theme browsing and live-previewing themes, as well as—for the first time—installing new themes from 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/ in the process. Don’t believe us? Then give it a try with your favorite theme!

A New Themes Experience in the Customizer

Changesets

Quick, what’s your favorite sequel? If you said Caddyshack 2, then we need to have a little chat. If you said Changesets 4.9, then you’re correct! Get ready to learn all about Drafting, Scheduling, Autoloading, and Linear/Branching Modes, Autosaving Auto-Drafts and Autosave 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., Post Locking, and Customization Drafts. Yes, all of that is in 4.9. You’re welcome.

New Features and Enhancements with Customizer Changesets in 4.9

Nav menu creation flow

Ever had problems working in the Customizer and adding a page to a menu or forgetting to assign a menu to a location when trying to create a menu? The Customizer’s menu creation flow has been updated to address these issues.

Nav Menu Improvements in the Customizer in 4.9

The A(PI)-Team

If you have a problem, if no one else can help, and if you can find them….maybe you can hire The A(PI)-Team. The Customizer JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. 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. improvements in 4.9 fix many longstanding annoyances and shortcomings with the JS API. Additionally, a REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. update now effectively requires named URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org parameters and thus no longer allows regular (numeric) matches.

Improvements to the Customize JS API in 4.9

Improvements in REST API request parameter regular expressions

Multisweet 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 multimprovements

Run a networknetwork (versus site, blog) of sites? Then pour yourself some coffee and dig into all the multigoodies in 4.9. New functions and filterFilter Filters are one of the two types of 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., replaced functions, capability and role updates, and some security improvements all come along for the ride on the multisite train.

Multisite Focused Changes in 4.9

Users and security updates

Were you hoping for new capabilities for activating and deactivating plugins plus installing and updating language files, capability security hardening, changes to how multisite handles switching roles and capabilities, and security improvements to how email addresses get updated in 4.9? If so, you’re going to be happy. If not, you should still be happy.

Improvements for roles and capabilities in 4.9

Account Security Improvements in WordPress 4.9

Don’t Press That

Press This is no longer in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., but can be found via a “canonical” plugin. Cry if you want to, but the functionality still exists so cheer up!

Press This in 4.9

 

ME.js updates.js

If.js I.js could.js think.js of.js something.js witty.js related.js to.js the.js ME.js.js updates.js, then.js I.js would.js have.js wrote.js that.js here.js. Instead.js… .js.js all.js the.js things.js.

MediaElement upgrades in WordPress 4.9

Updates for screen readers

As usual, we saved the best for last! Modernization and standardization comes to the screen-reader-text CSS class.

Changes to the screen-reader-text CSS class in WordPress 4.9

But Wait, There is More!

Roughly 400 bugs, 181 enhancements, 7 feature requests, and 42 blessed tasks have been marked as closed in WordPress 4.9.

Please, test your code. That bears repeating: Please, test your code. Fixing issues now, before 4.9 is released, helps you and helps millions of WordPress sites. Please. Test. Your. Code.

#4-9, #field-guide

WordPress 4.8 Field Guide

WordPress 4.8 is officially the best WordPress 2017 has seen!  Users will receive new and refined features focused on Editing and Customizing their sites while developers will be able to take advantage of 109 enhancements and features added.  Let’s look at the many improvements coming in 4.8…

 

Media Widgets

Not one, not two, but three new media widgets make their way into coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. It’s like the AV crew just showed up and now the party can really begin. You get an audio 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.. You get an image widget. You get a video widget. Check under your seat, media widgets for everyone!

Media Widgets for Images, Video, and Audio

 

Fabulously Rich Text Widget

Robin Hood has come to town and is handing out rich text editing to all the text widgets. No more having to manually type out your HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. in text widgets like it’s 2016.

Addition of TinyMCE to the Text Widget

 

Simpler Link Editing, Streamlined Browser Support, and Editor Instantiation via JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.

Editing just got a lot easier, you can thank us later. But trust us that adding and managing links within the editor is now easier than ever. If you don’t trust us, then just try navigating in and out of links with your arrow keys. Pretty cool, huh? That’s the new TinyMCE inline element / link boundaries. As for the reduced browser support, let’s just say IE 8, 9, and 10 have been thanked for their service but can feel free to enjoy their retirement. Also, if bootstrapping the TinyMCE content editor dynamically via JS is your thing, then boy are you going to be excited!

Editor changes in 4.8

Editor API changes in 4.8

 

WMV and WMA get retirement packages

Remember Silverlight? Many browsers these days don’t. So the file formats which require the presence of the Silverlight 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/ or can be cost-based plugin from a third-party are being removed from core support. Files will still display as a download link, but will no longer be embedded automatically.

Removal of core embedding support for WMV and WMA file formats

 

Resizing the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.

If you have used the Customizer on a high-resolution screen, then you may have noticed that the Customizer sidebar is… suboptimally narrow. The sidebar is now variable width based on screen size to help you receive the best editing experience possible.

Customizer sidebar width is now variable

 

WordCamps and meetups all up in your adminadmin (and super admin) dashboard

One of the best things about WordPress is its community. You can now read about WordCamps and meetups in your area right within your dashboard. No more excuses for missing the speaker or volunteer deadlines now!

Nearby WordPress Events

Showing upcoming local events in wp-admin

 

Mu will really love these 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 changes

We know you love superheroes but is_super_admin() needs to go. So while we’re replacing that with appropriate capabilities, we’re also treating you to some new 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. and a new $network_id parameter that gets wide usage across several functions.

Multisite Focused Changes in 4.8

 

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility): saving the best for last

As a part of ongoing efforts to improve accessibility in WordPress, 4.8 includes some changes to headings within admin screens. This is a continuation of the work started in 4.3 on restoring the H1 (heading level 1) to the admin screens and continued in 4.4 with the introduction of a better headings hierarchy. Also improved is the Tag Cloud widget, now swapping out the title attributes in favor of aria-label attributes.

Cleaner headings in the admin screens

Tag Cloud widget changes in 4.8

 

But Wait, There is More!

Roughly 217 bugs, 108 enhancements, 1 feature requestfeature request A feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged., and 16 blessed tasks have been marked as closed in WordPress 4.8. Some additional ones to highlight include:

  • REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.orderby normalization (#38693)
  • REST API: Add supports object to /types response (#39033)
  • New filterFilter Filters are one of the two types of 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. to disable auto-focus on the login screen (#40301)
  • Screencast.com was added as an oEmbed provider (#38367)
  • HHVM removed from the test matrix on Travis (#40548)
  • Bundled Themes now support the new media and updated text widgets (#40745)
  • Popular plugins feed has been removed from the dashboard (#40702)
  • Support added for Bosnian localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. (bs_BA) in remove_accents() (#39658)
  • Easily enqueue WP_Editor JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. files using the new wp_enqueue_editor() (#35760)

New Action Hooks

  • deleted_blog (#25584)
  • print_default_editor_scripts (#35760)

New Filter Hooks

  • file_mod_allowed replaces disallow_file_mods (#38673)
  • minimum_site_name_length (#39676)
  • nav_menu_submenu_css_class (#36163)
  • page_menu_link_attributes (#40359)
  • post_date_column_status (#39545)
  • signup_site_meta (#39223)
  • signup_user_meta (#39223)
  • wp_doing_cron (#39591)
  • widget_text_content (#40772)
  • rest_oembed_ttl (#40450)
  • widget_{$this->id_base}_instance (#32417)

Modified Filter Hooks

  • widget_text_content (#40772)
  • {$type}_template (#39525)
  • display_media_states (#39628)
  • media_library_show_audio_playlist (#31071)
  • media_library_show_video_playlist (#31071)
  • rest_pre_insert_comment (#39578)
  • wp_is_large_network (#40489)

External Library Updates

  • TinyMCE was updated from version 4.5.6 to version 4.6.2 (see: #40859).
  • Twemoji was updated from version 2.2.2 to version 2.3.0 (see: #40858).
  • zxcvbn was updated from version 1.0 to version 4.4.1 (see: #31647).

Please, test your code. That bears repeating: Please, test your code. Fixing issues now, before 4.8 is released, helps you and helps millions of WordPress sites. Please. Test. Your. Code.

#4-8, #field-guide