WordPress 6.5 adds AVIF support 

WordPress 6.5 supports AVIF, a modern image format that offers significant improvements in image quality and compression over previous formats like JPEG, PNG, and even WebP.  AVIF images can be up to 50% smaller than JPEGs while maintaining the same image quality. AVIF images also support a wide range of colors (including HDR) and produce sharper images than JPEGs, especially in areas with high detail.

From WordPress version 6.5 forward, you can upload and use AVIF images in WordPress just like you would a JPEG or PNG image today – as long as your hosting environment supports AVIF. Switching to the AVIF format for your images is likely to improve your site’s performance and your site visitor’s experience. 

How AVIF helps you

AVIF images are significantly smaller than their JPEG equivalents, so pages load more quickly and take less bandwidth to transmit. AVIF images still get all of the benefits of the responsive images, Fetch Priority, and lazy loading that WordPress supports by default. Finally, AVIFs are supported in all major browsers, so most sites can start using them today.

Creating AVIF images

Many image editing tools support exporting to AVIF. You can also use command line conversion tools or web based open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. tools like Squoosh. Once you save your images as AVIF, upload them to WordPress and use them like you would any other image. WordPress can also create AVIFs for you automatically, for more details, see the FAQ item below.

Using AVIF images in WordPress

AVIF images work like any other image format in WordPress, with a few important notes:

AVIF in WordPress depends on support in your web server’s image processing library (WordPress has built-in support for both Imagick and LibGD for image processing). You can check for AVIF support in wp-adminadmin (and super admin) by visiting Tools -> Site Health, clicking the “Info” tab and expanding the “Media Handling” section, then finally looking for “AVIF” in the list of supported formats.

If your audience includes a significant number of users on an unsupported browser, either avoid using AVIF images, or enqueue a browser polyfill.

FAQ

Q: How do I adjust the compression level used for generated AVIF images?

The wp_editor_set_quality 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. can be used to set the quality setting. The passed mime type enables setting by type, for example:

// Use a quality setting of 75 for AVIF images.
function filter_avif_quality( $quality, $mime_type ) {
if ( 'image/avif' === $mime_type ) {
return 75;
}
return $quality;
}
add_filter( 'wp_editor_set_quality', 'filter_avif_quality', 10, 2 );

How can I output lossless AVIF images?

Using a compression level of 100 will set AVIF to its lossless mode.

Q: Can WordPress create AVIF images when I upload JPEGs?

Yes. Developers can use the image_editor_output_format filter to specify this type of transformation for uploads. Here is an example:

// Output AVIFs for uploaded JPEGs
function filter_image_editor_output_format( $formats ) {
$formats['image/jpeg'] = 'image/avif';
return $formats;
}
add_filter( 'image_editor_output_format', 'filter_image_editor_output_format' );

If I use WordPress 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, will all my sites work with AVIF images?

No. Multisite stores the file types that users are allowed to upload when a site is created. We are still working on improving this in #53167. In the meantime, to ensure all existing sites on a networknetwork (versus site, blog) allow AVIF files, you can use the site_option filter in a network mu-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 to add avif to the allowed file types for all network sites:

// Ensure all network sites include AVIF support.
function filter_site_option_upload_filetypes( $filetypes ) {
$filetypes = explode( ' ', $filetypes );
if ( ! in_array( 'avif', $filetypes, true ) ) {
$filetypes[] = 'avif';
}
return implode( ' ', $filetypes );
}
add_filter( 'site_option_upload_filetypes', 'filter_site_option_upload_filetypes' );


Thanks to @stevenlinx and @westonruter for reviewing this post.

#6-5, #core-images, #dev-notes, #dev-notes-6-5, #images

Plan for adding WebP & multiple MIME support for images

This post is a follow up to the “Enabling WebP by default” proposal post (and the follow up to that post). 

TL;DR – The Performance Team has reviewed feedback, conducted research, and reassessed the approach based on our findings. Our new approach – outlined below – aims to address the concerns raised on the original proposal.

Overview

The Performance Team takes community feedback very seriously. As a result of the concerns around our previously proposed approach to serving WebP, we took a step back to reassess and dig deeper into the specific issues raised in post comments, chat, and elsewhere. This work has included:

  • Reviewing comments from the original and follow-up posts
  • Engaging in research (as noted in #289 & #290) on the storage impact of additional WebP images being created on upload and WebP compatibility across browsers, email clients, etc.
  • Sharing a survey with hosting providers to gather information about their storage and disk space infrastructure

What we found

Our goal with this research and reassessment was to collect data and additional context about each of the concerns raised by the community. With this additional information, we were then able to better understand and prioritize concerns, as well as determine how and why our approach to adding WebP should be modified.

WebP Compatibility

The team did additional research on WebP compatibility to better understand where compatibility issues might cause issues for users. Our research indicated that most compatibility issues were very minor and/or addressable:

  • Web browser compatibility: Only Safari on Mac OS < 11 and iOSiOS The operating system used on iPhones and iPads. < 14 do not support WebP, which is < 3% of all browser usage. This small percentage of non-supporting browsers will be served JPEG images. 
  • Email clients: > 97% of clients support WebP.
  • Mobile apps (web views): iOS 14+ supports WebP (and otherwise will be served JPEG images with the new approach). Android supports WebP natively from Android 4.0.
  • RSS readers: Top RSS readers all support WebP, so RSS feeds can likely leverage WebP.
  • Other: Open Graph tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) consumers have mixed support, so OG tags should remain JPEGs for compatibility.

Storage

To assess the overall impact of generating WebP images on site storage, the team surveyed hosting providers. With a total of 17 responses, the results show that the number of stored files is generally not an issue for most hosts/sites, although storage space could become an issue for some users over time. Still, for large hosts (with 1,000 or more hosted sites), the vast majority of sites (> 86%) would be unaffected, even if their storage requirements doubled. We also learned that some lower-end hosting plans with limited storage also lack WebP support in their hosting stack, which means they won’t get extra image generation anyway.

The revised approach

Based on the results of the research outlined above, our new proposed approach addresses compatibility issues by:

  • Providing a tiny (355 bytes uncompressed) 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/. snippet that detects browsers that lack WebP support and loads JPEGs instead [tracking issue]
  • Only using WebP for user-facing content in the front-end (template) context. Images in other contexts like Open Graph tags, RSS feeds, and REST endpoints would continue to use JPEGs [tracking issue]
  • Adding a new parameter to the `add_image_size()` function that lets developers control whether to generate additional MIME types for each size registered. For the vast majority of image sizes this should be set to `true`; the only exceptions are image sizes that are being used exclusively outside of user-facing front-end content, such as Open Graph tags. Only for those special cases should the parameter be set to `false` to not generate additional MIME types. Developers registering custom image sizes with `add_image_size` will need to specify if the size should generate secondary MIME types by version 6.2, when we plan to make this behavior the default in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

This new approach also addresses concerns around storage requirements by:

  • Automatically generating WebP versions of only core image sizes in 6.1 by default. Custom image sizes will initially have to opt in to receive automatically generated WebP versions, or opt out if they are exclusively used for special cases where WebP is not beneficial or supported.
  • Keeping secondary (WebP) sub-sizes only if they are smaller than the primary MIME type.
  • Only generating WebP images for image sizes that are intended for use in user-facing front-end content. This avoids wasting storage space for WebP images that will never be used.
  • Introducing a 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 control the generation of additional MIME types based on image sub-sizes. This enables developers to exclude certain image sizes, such as those that are not used in front-end content. 

Next Steps

The approach in the core patch is being updated to reflect the 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. outlined above. The current plan is to merge this change early in the 6.1 release cycle so that it can be thoroughly tested. Additional feedback regarding this revised approach can be left on this post or the Trac ticket.

#core-images, #media, #performance

Follow-up on WebP by default proposal

This post is a follow up to last month’s Enabling WebP by default, which proposed a feature that would generate both JPEG and WebP images and output WebP sub-sized images in WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. The post received quite a bit of feedback, primarily in regards to technical concerns questioning if this feature should be included in core in its current state.

TL;DR – The performance team has heard the feedback and takes the community’s concerns seriously. With the help of the community, we will work on conducting additional data-driven research. Based on our findings, we will reassess our proposed approach to enabling WebP by default.

The performance team wants to see WordPress continue to innovate and improve. The main goal of this feature is to set the foundation for WordPress to be able to process and deliver more performant formats in the same way other CMS like Duda, Wix, and Shopify are already doing.

To ensure that we’re implementing this feature as effectively as possible, we will investigate the main points of concern that have been raised within the community, including continuing our research and testing on image size & quality. We will continue to share updates about our work as part of the weekly chat summaries posted to the Make Core blogblog (versus network, site)

In addition, we’ve created two issues in the Performance Lab GitHub repository for tracking analysis related to the main concerns raised by the community:

  1. Research: Impact of additional WebP images on upload [Issue #289]
  2. Research: WebP compatibility [Issue #290]

Within these GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ issues, the performance team will track testing and investigation related to these concerns to ensure that we have a full and data-driven picture of this feature’s impact. Please feel free to share your own research in these GitHub issues, as well.

Once we’ve completed our investigation and determined next steps on these two issues, we will work with the community to reassess two other concerns that were raised:

  1. Having the feature on/off by default
  2. Having a UIUI User interface-based control to turn the feature on/off

Thank you all for your feedback so far. We look forward to continuing to collaborate to move this proposal forward.


Many thanks to @tweetythierry, @flixos90, @mitogh, @mxbclang, and @jjgrainger for their help with this post.

#core-images, #media, #performance

Enabling WebP by default

Note: A follow-up post has been published with next steps on this proposal.

Feature Overview

This proposal seeks to integrate WebP by default into WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. WordPress supports WebP since version 5.8 and users can already upload and place WebP images just like they can JPEG images.  This proposal enhances that support in two significant ways. First, WebP images are now generated by default for new JPEG uploads (in addition to the default format WordPress already generates). Second, these WebP images are now used by default for the website content.

Advantages of using WebP

WebP was developed as a modern image format that provides superior compression on the web. Images are often some of the largest resources used by websites, and using WebP creates websites that are lighter and faster. Compared to JPEG images, WebP images generated by WordPress are almost always smaller, with a ~30% file size reduction on average (with the same visual quality).  

WordPress websites can benefit from WebP today because WebP is supported in all browsers WordPress supports and by both the GD and Imagick image handling libraries WordPress relies on. With this new feature, users can continue uploading and using the same JPEG images they do today and behind the scenes WordPress will create the more performant WebP images and use them for the website. By switching from JPEG to WebP as our default output format, WordPress sites across the web will benefit from improved performance – the primary goal of the Performance team.

How will WordPress enable “WebP by default”?

When users upload JPEG images, WordPress will now create WebP versions of the image and its sub sizes in addition to the JPEG sub sizes it already creates (while keeping the original). When rendering the website, WordPress will use the WebP versions of images when they are available. 

The new support for multiple mime types in core media is designed to be flexible, enabling developers to customize which image formats to generate for a given source image format. The feature is completely customizable via filters, so hosts or developers can adjust the behavior for both image generation (for example only generating JPEG or WebP subsizes) and image display.

Finally, this feature is backwards compatible, extending existing behavior with additional types and data. JPEG images continue to be generated as usual, and stored in the same way as previous versions.

Testing this feature

Please test this feature to help catch and accommodate as many use cases as possible! You can test this feature out using the Performance Lab plugin “WebP Uploads” module.  Developers can review code and give technical feedback by testing the latest patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. on the Trac ticket or Pull Request

Next Steps

The TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. targets WordPress 6.0 to land this feature, as long as image component and core maintainers agree the patch is ready. Landing this feature in core will provide significant benefits to WordPress users,  so please help us by testing the feature and leaving your feedback on the Trac ticket or Pull Request


Thanks to @mitogh, @flixos90, @tweetythierry, @addyosmani and @joemcgill for reviewing this proposal and to the many contributors who helped develop and test this feature.


Frequently Asked Questions

  • How can I disable or control the behavior of this feature?
    • Two new filters control mime type(s) output (`wp_upload_image_mime_transforms`) and output( `image_editor_output_format`). See Trac ticket for full details on using these filters. Non-developers can use plugins to adjust the behavior.
  • Can WordPress generate only WebP images? 
    • Yes! Output type(s) are completely controllable with code (filters) and non-developers can use plugins to adjust the behavior.
  • Will WordPress create sub-sized PNG or GIF animated, transparent or lossless images?
    • This feature currently only handles lossy JPEG or WebP images, although it can be expanded in the future.. The WebP format does support lossless, transparency and animation, however support in the GD and Imagick libraries that WordPress relies on for images are limited to only certain features. 
  • I’ve heard WebP images are sometimes larger than JPEGs, how does WordPress address that?
    • WordPress now tracks the size of images it creates, so WordPress can directly compare the sizes and potentially choose the smallest size. However, in the research so far on  issue: https://github.com/WordPress/performance/issues/7 indicates every lossy WebP winds up being smaller than the equivalent JPEG.  
    • When comparing image sizes it is important to use actual images generated by typical WordPress servers, which is different from what you can achieve using dedicated image tools. For example, most servers don’t support “MozJPEG” compression which is more efficient than standard JPEG compression.
  • What happens if I upload a WebP image to WordPress
    • WordPress will now generate both WebP and JPEG sub sizes when you upload a WebP. WebP will be used as the default for front end display and you will have JPEG versions available if you need them.
  • What if my server doesn’t support WebP
    • This feature requires server-side WebP support: if your server lacks support, images will continue to work as they always have.
  • What if my website visitor’s browsers don’t support WebP
    • If you know your website visitors commonly use one of the very few browsers that lack WebP support (for example Internet Explorer 11 or Safari on MacOS < v11 Big Sur) you can disable this feature using a few code lines or a simple mini 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 (more details before launch).
  • How will this affect server resource usage?
    • When users upload images, WordPress will have to work twice as hard to generate both WebP and JPEG images and will use an additional ~70% of the storage space to store both file types. On the other hand, bandwidth consumption from website visitor image loads will decrease by approximately 30%. Hosting environments with constrained resources may want to disable this feature, or generate only WebP images.
  • Does this feature work with existing plugins that generate WebP images?
    • Yes. Core will provide extension points so existing plugins can serve already generated WebP images, and/or use core’s new generation capabilities (work ongoing in this issue).

#core-images, #media, #performance

WordPress 5.8 adds WebP support

WebP is a modern image format that provides improved lossless and lossy compression for images on the web. WebP images are around 30% smaller on average than their JPEG or PNG equivalents, resulting in sites that are faster and use less bandwidth. WebP is supported in all modern browsers according to caniuse.

From WordPress version 5.8 forward, you can upload and use WebP images in WordPress like you would a JPEG or PNG image today (as long as your hosting service supports WebP). Switching to the WebP format for your images will improve your site’s performance and your site visitor’s experience. 

How WebP Helps You

WebP images are significantly smaller than their JPEG equivalents, so visitors to your site will see the complete page loaded more quickly. Smaller images take less bandwidth to transmit, and your images still get all of the responsive benefits of srcset and lazy loading by default. Finally, WebP is supported in all major browsers, so most sites can start using them today.

Creating WebP images

Image editing tools support exporting in WebP, or you can also use command line conversion tools or web based tools like Squoosh. Once you save your images as WebP, upload them to WordPress and use them like you would any other image. 

Using WebP images

WebP images work like any other image in WordPress with some small caveats. 

WebP images support lossy and lossless compression, as well as an animated format and support for transparent images. In WordPress, the lossless WebP format is only supported when the hosting server uses Imagick (the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher library) until LibGD adds support. In addition, animated and alpha formats are not yet supported for resized images (lossy images are created instead when you upload in these formats).

WebP support in the media library requires that your web server’s image processing library (WordPress supports both Imagick and LibGD) supports the WebP format. Fortunately these libraries have supported WebP for quite a while so support is widely available. If your web server does not support WebP, you will see an error message when you try to upload a WebP image.

If your audience includes a significant number of users on an unsupported browser (IE11 for example), either avoid using WebP images, or  enqueue a browser polyfill.

Plans for the future

The media component team is also exploring the option of having WordPress perform the image format conversion on uploaded images – using WebP as the default output format for sub-sized images. You can track progress and test this feature on the trac ticket. We are also keeping our eyes on even more modern formats like AVIF and JPEGXL that will both improve compression and further reduce resources required for compression.

FAQ

How can I fine tune the compression quality setting used for WebP images?

Developers or plugins can use the wp_editor_set_quality 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 set the quality setting. The passed mime type enables setting by type, for example:

// Use a quality setting of 75 for WebP images.
function filter_webp_quality( $quality, $mime_type ) {
  if ( 'image/webp' === $mime_type ) {
     return 75;
  }
  return $quality;
}
add_filter( 'wp_editor_set_quality', 'filter_webp_quality', 10, 2 );

What happens if I enable the filter to use WebP sub-sizes, but upload JPEG? Do the sub-sizes have to match the original?

By default, WordPres creates the sub-sized images of the same type as the uploaded file, so uploaded WebP files to get WebP files on your site. If you want to experiment with uploading JPEG and having WordPress auto-convert these to WebP for your sub-sized images, check out this plugin (related trac ticket).

If I use WordPress 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, will all my sites work with WebP images?

No. Multisite stores the file types that users are allowed to upload when a site is created. We are working on improving this in #53167. In the meantime, to ensure all existing sites on a networknetwork (versus site, blog) allow WebP files, you can use the site_option filter in a network mu-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 to add webp to the allowed file types for all network sites:

// Ensure all network sites include WebP support.
add_filter(
  'site_option_upload_filetypes',
  function ( $filetypes ) {
    $filetypes = explode( ' ', $filetypes );
    if ( ! in_array( 'webp', $filetypes, true ) ) {
      $filetypes[] = 'webp';
    }
    $filetypes   = implode( ' ', $filetypes );

    return $filetypes;
  }
);

#5-8, #core-images, #dev-notes, #images

Dev Chat Summary: October 12 (4.7 week 8)

This post summarizes the dev chat meeting from October 12th (agenda, Slack archive).

Reminders

Feature Proposals for 4.7

  • REST API: Content API (@kadamwhite)
    • REST API Team Update
    • Content 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. endpoints have been stable for some time and now have the missing functionality established at the start of this development cycle
    • We pitched merging in the OAuth 1 server alongside those content endpoints, to simplify the process of authenticating from remote applications
    • The auth method in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. right now is cookie/nonce-based, so it’s available to any code running within the same domain as the main WordPress install and leverages the existing login cookie
    • plugins and themes that utilize JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. to enhance the editing experience within their adminadmin (and super admin) UIUI User interface have full read/write access, restricted to the capabilities of the authenticated user
    • External applications, e.g. a mobile app, desktop app or external server, would have read-only access
    • readers, aggregators, etc are possible without authentication, and more complex read-write apps can be written by installing one of the available authentication plugins, of which OAuth is but one
    • Reference for options and when/how to use
    • 90 contributors for the rest-api 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
    • automated test coverage currently at 90.44%
    • 37 more open tickets
    • weekly meeting on Monday at 1400UTC in #core-restapi
  • Discovering and installing themes in the customizer (@celloexpressions)
    • Related Make/Design and Make/Flow posts, but best to post all feedback to the Make/Core feature proposal
    • Working through the 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) feedback, but it’s a bit unclear what’s specific to this feature versus 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. in general, and which issues are also present in the admin theme installer
    • Haven’t heard anything from polyglots, security (unlikely to have any issues), or docs
    • There is one known 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. concern where we’ll need a compromise until we have JS i18n in core
    • @celloexpressions to do a final iteration to pick up any remaining feedback on Thursday, then pass to @westonruter for the code review process
  • Custom CSS with live previews (@celloexpressions)
    • seems to have decent support as a feature, with the biggest question in the comments being how to store and output the CSSCSS Cascading Style Sheets.
    • CSS is output from the db via a style tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.), use of `style` tag is key for targeting for `postMessage` live preview
    • Post-based storage allows for 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. built in (ensuring that there are 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. for a plugin that wants to write a file would alleviate many concerns)
    • CSS is theme-specific in the proposal for this, with a post object for each theme that has CSS
    • Scheduling a meeting to go through these concerns and make a decision, coordination to occur in #core-customize
  • Customize Changesets (née Transactions) (@westonruter)
    • Technical Post (audience is developers who have extended the customizer significantly, as there may be impacts to any heavy customizer integrations since changesets touches some very low-level stuff in the customizer)
    • Users will be able to bookmark a customizer session since the changeset UUID will be part of the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org
    • Theme switches will no longer result in changes being lost (no more AYS dialog)
    • a few other open questions and issues that have been noted

Components

  • Customize (@westonruter, @celloexpressions)
  • Twenty Seventeen (@davidakennedy, @melchoyce)
    • Latest theme update
    • Theme: This week, there has been a lot of testing after the initial design implementation was merged last week. One week to go and the focus is on three specific enhancements to come to a conclusion on: custom colors, SVGs for icons and more use of flexbox.
    • Multi-panel feature: a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. exist, and it’s been iterated on a lot. This is close to being ready for being considered for merge. It needs more code review and a look by other teams (accessibility for one).
    • Video headers feature: we have an mvp defined,  a new patch started and @celloexpressions will work on the Customizer part of it. This is not as far along, but could be ready by the deadline.
    • A lot of issues need to be punted or moved on. Tracking everything toward merge for Twenty Seventeen via GitHub milestone.
    • Will generate a merge proposal for the theme by Monday if not sooner. Will have brief daily check-ins/meetings for the theme until the proposal is posted.
    • @celloexpressions: visual edit icons in the customizer (#27403) are probably happening but won’t need a proposal there since the implementation is straightforward.
    • @helen: will follow up on #38114
    • 29 contributors on Twenty Seventeen
    • Team would appreciate any PR reviews on the theme, eyes on the multi-panel ticketticket Created for both bug reports and feature development on the bug tracker., and testing with all kinds of devices and browsers.
    • Next steps: (1) Focus on feedback/iteration for these big enhancements: custom colors, SVGs for icons and more use of flexbox. (2) Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. necessary items into merge milestone. (3) Close as much as possible
    • Next meeting Tuesday, October 18, 2016, 1:00 PM CDT in #themereview
  • Media (@mikeschroder, @joemcgill)
  • i18n (@swissspidy)
  • Editor (@azaozz, @iseulde)
  • 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. (@johnbillion)
    • Next meeting Friday, October 14, 2016, 11:00 AM CDT in #core-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.

#4-7, #core, #dev-chat, #summary

Dev Chat Summary: October 5 (4.7 week 7)

This post summarizes the dev chat meeting from October 5th (agenda, Slack archive).

Reminders

  • Schedule: We are 2 weeks from the final chance to merge in major features. This includes Twenty Seventeen. Reviews and commits should be getting 2fast2furious-logo.svg.
  • Tickets: There are currently 167 tickets in the 4.7 milestone. This is 29 fewer than last week 🎉However, in just 5 short weeks, this needs to be zero. For any tickets you’ve moved into the milestone, please make sure these are active tickets, with some kind of activity in the last 7 days.
  • Bug Scrubs: We’re looking for people to help run a 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. scrub, please reach out to @jorbin if you have interest (details here). Bug scrubs this week plus one on Thursday at 3pm UTC (by @jbpaul17 on needs-testing tickets) and Thursday at 7pm UTC (by @morganestes on needs-docs tickets). 62 enhancements and feature requests are still open, we’ve already starting punting so please ensure there is activity on ones you want to land.

Components & Features

  • Non-4.7 Feature Proposal: Notifications API (@johnbillion)
    • Discussion on this in #feature-notifications, but no meeting scheduled
  • Non-4.7 Feature Proposal: Status API for taxonomy terms (@boonebgorges)
  • Customize (@westonruter, @celloexpressions)
    • Feature proposal for 4.7: Discovering and installing themes in the customizer (@celloexpressions)
      • Deadline for feedback and review from various teams is Wednesday, October 12th
      • Need review/audit from Flow (and mobile), Docs, Security, Polyglots/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., Design/UXUX User experienceAccessibilityAccessibility 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 when those are done a Code Review (@westonruter)
      • Would like user testing & testing of the patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. itself
      • Please provide feedback as a comment on the Feature Proposal Post, User Testing Post, or via Trac
      • The plan is to begin final code review/commit next Wednesday, October 12th, so feedback needs to be received by then
    • Merge proposal for Customize Changesets (fka Transactions) – Trac & Github
      • Needs developer attention, specifically on expected/best behavior on maintaining changesets across multiple theme previewing/testing. Details to be included in a Make/CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. post by @westonruter with discussion continuing in #core-customize
    • Otherwise we’re working toward finalizing patches for all of our other projects and will publish a feature proposal for custom CSSCSS Cascading Style Sheets. in the next week. All 4.7 customize non-bugs have an owner assigned to work toward commit or puntpunt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) to a future release.
  • Twenty Seventeen (@davidakennedy, @melchoyce)
    • Highlight: start testing the theme, we need help on the features from a development perspective, plan is theme merging into core by October 19th with enhancements needing to complete by October 26th
    • Latest theme update
    • Latest features update
    • Theme recap: This week the initial design implementation was merged into the master branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/. The rest of the theme is moving along nicely, and the initial design implementation should make it easier to test the theme’s features. Please start testing, and creating issues! The next step is to get a public demo up to help with that. Best way to test is to get it via GitHub ( if using wp-cliWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/, wp theme install <github-url> --activate).
    • Features recap: For the multi-panel feature, at the weekly meeting, the feature was reduced in scope to focus only on the front page of sites, only include content from pages and be implemented in 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.. @karmatosed has some mocks posted (including live preview). For the video headers feature, it still needs to be focused with a reasonable MVPMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia defined. Although, some recent feedback on the ticketticket Created for both bug reports and feature development on the bug tracker. is helping there.
    • Twenty Seventeen needs you. Home pages should be fun to create and a heck of alot easier. Headers can be even more captivating. If you’re interested in working on either of these projects, please let @davidakennedy know.
  • 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/. (@krogsgard, @kadamwhite)
    • Settings (PR against the main plugin repo) and 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. (PR here against the meta repo) are still open for review from the team; we’ll be formally posting updates on Make/Core outlining the new functionality as these land
    • Need a lot of eyes on Authentication, released v2 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 14 last weekend and intend to release a beta 15 with the merge-candidate functionality. Plan to propose that OAuth1 be included in the merge.
    • Testing and review is top priority right now. Docs for folks getting up and running with the APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. will be getting a strong push post-Proposal.
    • Next meeting: Thursday at 2pm UTC
  • Media (@mikeschroder, @joemcgill)
    • Latest update
    • Media search doesn’t include file name (#22744): Just committed a fix for a bug that was trampling existing JOINs. Please test, especially if you’re doing any custom filtering to media queries that might be impacted.
    • Starting work on potential feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. to introduce additional UX improvements to the media library. Likely future release material, but expect to fix some bugs and lay groundwork during this release. Development will happen in GitHub. Plan to make a feature project proposal after we’ve had some initial conversations about UIUI User interface/UX direction.
    • After some conversation with @sheri, may still try to land a core media 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. (#32417). Most of the work here has already been done, but need to make some decisions. We’ll plan to talk about this during our meeting on Friday at 5pm UTC in #core-images.
  • i18n (@swissspidy)
    • User Adminadmin (and super admin) Language (#29783) landed this week. It allows each user to set their language (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.) and the admin will be translated accordingly for them. A 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. has yet to be written.
    • Focusing on making use of that feature by sending emails in the respective user’s locale. See #26511 if anyone wants to help with a new patch.
    • Introduce some 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/. i18n functions (#20491): progress currently happens outside of core. There’s a proof of concept for extracting strings from JavaScript files as well as a PR on the GlotPress repository to add 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. export functionality.
  • Editor (@azaozz, @iseulde)
    • We’ll work on a better experiences for when nonces expire; posted an idea dump in #core-editor, thoughts on any points are very welcome.
    • Bug scrub Thursday at 4pm UTC in #core-editor.
    • In order to move ahead with several UI proposals/tickets we will need to get more usage data.
    • Planning to update TinyMCE next week, even if no new version by then.

#4-7, #dev-chat, #summary

Dev Chat Summary: September 7 (4.7 week 3)

This post summarizes the dev chat meeting from September 7th (agenda, Slack archive).

Update on 4.6.1

  • 4.6.1 shipped this morning! https://wordpress.org/news/2016/09/wordpress-4-6-1-security-and-maintenance-release/
  • had to pull back one fix (#37696) due to a regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. before release, please help review that ticketticket Created for both bug reports and feature development on the bug tracker. in order to add it to a future 4.6.2 release
  • Otherwise, auto updates are flowing and “things seem to be working”™

Updates on Components and Features

  • Media via @joemcgill
    • #22744 – a few approaches on this ticket that are pretty close, but some feedback that would be helpful
      • To enable searching for filenames, we have to add a JOIN for the 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. table, which has performance implications
      • so a) we could use more eyes/testing and b) I want to make sure we’re ok to add this if we limit it to only the media library
      • We have a couple approaches in patches. The latest limits it only to the media modal and WP_Media_List tables.
      • on a site with ~14k attachments and ~18k posts, this change increased the main query time from 60.7ms to 187.6ms
      • Plan is to drop it in for including titles in library searches and see how that goes
    • Looking for interest in getting the media 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. started back up
      • @sheri has expressed interest and it seems like previous efforts got fairly close. Would love to see folks interested jump back onto that project during this release.
      • discussion will be in our weekly meeting in #core-images on Fridays at 19:00 UTC. There is a jump-start post so people can comment there or jump into the #core-images channel.
  • Customize via @celloexpressions
    • Two items needing review:
      • 1) ability to preview terms in 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., which would enable users to build menus incorporating their new 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. term structure on initial site setup in the customizer. See #37914 and #37915. We need to come up with a plan with those interested in the taxonomy component, and @boone in particular. First step there is to decide if we want to try to target 4.7 for first steps there.
      • 2) #37661 needs feedback. Working on a user testing plan together with @karmatosed soon. Looking for specific feedback or testing.
  • 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 @krogsgard
    • Notes from Monday’s meeting
    • Calls for help would be participation in our next weekly meeting, 1400 UTC on Monday, and a 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. scrub 1400 UTC on Thursday, both via #coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-restapi
    • some in-flight work this week that’s being a bit delayed by the participation of Ryan and Joe in A Day of REST
    • We have big documentation needs in the v2 docs repo if anyone wants to play along, especially anybody who wants to set up a multi-language-code-snippet thing that we could use
    • meta and options are both moving well but we’ll need to start getting beyond theory and into code pretty soon
    • We really, really want to talk to component maintainers! It’s my job to reach out to you all, and you can also reach out to me (@krogsgard).
  • 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. via @swissspidy
    • #26511 (switch_to_locale()) and #29783 (User Adminadmin (and super admin) Language)
      • Those are currently in development and after I upload new patches today/tomorrow, I’d love to see some testing.
      • Think of possibilities like: The admin bar is shown in Dutch while the rest of the site is shown in English.
    • #20491 (Introduce some 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/. i18n functions)
      • We want to make translating strings in JavaScript files easier. Like in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher files, one should be able to use gettext functions to translate strings. This involves changes to the translate.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/ platform and therefore requires thorough discussion, planning, and testing.
      • After tackling this topic many times and attending the GlotPress meeting yesterday, it’s clear that it’s a task covering not just 1 release. Thus, we’ll likely have to do regular meetings here in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. to get there.
  • Fields 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. via @sc0ttkclark
    • looking into slimming down our Fields API proposal into a MVPMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia form for our core proposal
    • blocked by lack of time because i’m also lead organizing WCDFW this month
    • I could use lots of eyes on it, we want to identify anything that might be out of scope, as well as look into what our plan will be for the Javascript side of things for fields like the Media modal
  • #36964 (Show/hide the tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)-cloud on `edit-tags.php` admin pages using a 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.) via @ramiy
    • it has a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing., ready to be commited
  • #17817 (do_action/apply_filters/etc. recursion on same filter kills underlying call) via @ocean90
    • Landed!
  • #37198 (Use `WP_Term_Query` for `wp_get_object_terms()`) via @flixos90
    • Would like some eyes on this.
    • The patch is two months old now, but generally worked and passed unit tests when I did it – I think feedback is needed before this moves forward though.
  • Topics & folks with no updates this week:
    • 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. & @johnbillion
    • #20875 (Introduce wp_cache_get_multi()) & @boone
    • Editor & @azaozz

Twenty Seventeen

  • Announcement post is up
  • This will be a call for help on both the theme and theme API fronts as noted last week, and thoughts on what sorts of theme API things will be needed to support the theme (there will be a number noted in the post).
  • For a little bit of a preview, some of the things that should be looked at are better page-on-front flows, making it easier to figure out where to edit something while live previewing (aka customizer), and how we can help people see how the theme can really serve their needs well (when relevant).
  • There will be *a lot* of opportunity for UXUX User experience and UIUI User interface when it comes to the core side of things, and of course front-end development with the theme itself. And lots and lots of our traditional PHP and JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. development.

#4-7, #core, #dev-chat, #summary

Dev Chat Summary: August 31 (4.7 week 2)

This post summarizes the dev chat meeting from August 31st (agenda, Slack archive).

Holidays & Scheduling

  • Reminder to announce meeting moves or cancellations (e.g., Monday is US Labor Day holiday, Monday after is Eid al Adha)

Update on 4.6.1

  • 4.6.1-RC1 planned for release tomorrow (Thursday, September 1). Provides a nice window for testing before the planned release date of September 7.
  • Status:

#36335: Autoloader and #37699: Globals

  • Discussion framing: see these as being feature projects in their own right, examples of when features can’t be actual plugins and why it’s better to think of them as projects. How can these be worked on effectively?
  • Discussion:
    • New project on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ that’s a clone of the WP GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/. repo
    • grunt patch allows you to use GitHub PR URLs, which can help facilitate testing for people that prefer using SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase. or are using SVN for their trunk installs.
    • TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. + SVN workflow seems to work best when we’re dealing with patches and discussion leading to an individual commit; is probably a pretty poor option without some additional tools.
    • Creating feature branches for wide-ranging work seems to be a better fit and allows for less churn of the code in trunk at the same time as other major work.
    • Nice to review & collaborate on a big feature on a GitHub feature branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". as opposed to wrangling conflicting and amending patches on Trac
  • Suggestion to @wonderboymusic: fork @jorbin‘s GitHub mirror, use GH issues and develop in various branches as makes sense (or even separate forks entirely if issues become unwieldy across very different projects), and use PRs to run existing CI setup. PRs can then be used as patches in grunt patch
    • If treated as a feature project, all of that project’s management happens wherever the lead feels best serves that project. There should also be weekly meetings with updates posted on Make/CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. @wonderboymusic to determine a meeting time and post about it next week.
    • @wonderboymusic@helen in agreement on approach; GitHub repo created
  • Related question: How do we determine what sort of tasks should be feature projects? Who decides that? And when?
    • Some things to think about – is it a lot of churn? Does it need to span multiple releases and/or is it a “done when it’s done” process? Is there a lot of design and user testing involved? They exist whenever somebody has a thing they believe belongs in core and wants to run with it in that way. Getting feedback is an evolving process.

4.7 Project/Feature Proposals

  • Goal: come out of this with the start of a list of projects and a point person for that project, to be fleshed out with more participants and meeting times over the next week.
  • @johnbillionHTTPSHTTPS 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.
  • @celloexpressions – Customize component project & owner
    • Create page-based nav menus without leaving live preview – #34923@celloexpressions (follow up tickets forthcoming)
    • A new experience for themes in 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.#37661@celloexpressions
    • Code-editing gateways, via CSSCSS Cascading Style Sheets.#35395@johnregan3
    • Customizer browser history – #28536@westonruter
    • Refactoring sliding panels UIUI User interface#34391@delawski
    • (maybe) Customize transactions (with no UI) – #30937@westonruter
    • will track all of the Customize projects with the weekly Customize component meetings and Make/Core posts usually posted on Thursdays starting this week
  • @krogsgardREST 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/.
    • had a productive start on Monday and will have a summary up shortly
  • @boonebgorges – #20875
    • work with cache drop-in authors so that we can start leveraging across WP
  • @davidakennedy – #19627
  • @helen – there needs to be a dedicated theming 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./support team because there will be a Twenty Seventeen; actual details on that next week. There will need to be really robust teams on both the theme and theme support pieces, likely with subteams even.
    • @karmatosed: splitting core themes as a bucket for all theme into, core themes and theme functionality
    • @helen: noting that theme functionality will spill over into other components (media seems incredibly likely)
    • @themiked: interested in theming work, on the API/support side if that’s whats needed
  • @joemcgill – Media focus candidate & owner; will shepherd these through regular #core-images meetings
    • Media library organization improvements (@mike/@joemcgill)
    • Improved full size image optimizations – #37840 (@mike/@joemcgill)
    • Core Media 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.#32417 (@sheri)
    • HTTPS issues (which @johnbillion already mentioned)
    • PDF Thumbnails – #31050 (@markoheijnen)
  • @azaozz – will publish “4.7 editor wishlist” by the end of the week
    • to include Nonce refresh/saving without page reload, and few others
  • @sc0ttkclark – Fields API

Ways YOU Can Help!

  • Please comment below if there are things that didn’t get mentioned that you’d like to lead.
  • Design help and user test coordination (alongside @karmatosed) desired on #37661 by @celloexpressions, please respond if you’re open to help on this.

#4-7, #core, #dev-chat, #summary