Releases: ampproject/amp-wp
1.3.0
For the full list of issues and pull requests in this release, please see the 1.3 milestone, with over 145 closed issues and 135 merged pull requests.
The major highlights in this release include:
Stories Experience
For AMP Stories there have been ~33 pull requests merged (and ~32 issues closed) since the previous stable release. The most notable changes include:
- ✨ Add AMP Story Page Attachments. #2782, #1973 #3035
- Add ability to resize from corners. #2985
- Add support for drag & drop reordering of elements in layer panel. #2784
- Add ability to copy/paste elements across pages. #2785, #2786, #2996, #2989, #2990.
- Allow selection of arbitrary Google Fonts. #2877, #3026, #3027
- Support assistive (alt) text for images/video. #2983, #3185, #3186.
- Improve discoverability of background media. #2699
- Add previewing of animations inside the editor. #3069, #3070.
- Add configuration for default page advancements at global and story level. #1995
- Introduce
amp_story_head
action which runs wherewp_head
normally would, allowing plugins like Jetpack and WordPress SEO to augment stories with metadata. #2968, #3039, #3175, Automattic/jetpack#13416, Yoast/wordpress-seo#13446.
As a reminder, you will need the latest version of the Gutenberg plugin installed (v5.9+ specifically) to use AMP Stories, since the AMP Stories editor uses bleeding-edge features of WordPress's block editor which are not yet in a WordPress core release.
Website Experience
For the Website experience there have been ~55 pull requests merged (and ~24 issues closed) since the previous stable release. The most notable changes include:
- ✨ Introduce support for the new AMP dev mode, including integration with the admin bar so that it will no longer get mysteriously removed from pages for authenticated users when there is excessive CSS; add API for plugins to enable dev mode and indicate which elements should be exempted from validation as part of dev mode. Read more about Integrating with AMP Dev Mode in WordPress. #3187, #1921, Automattic/jetpack#13450, google/site-kit-wp#505
- Improve CLI commands; the
wp amp validate-site
command is nowwp amp validation run
. #3056 - Improve generation of AMP pages in post-processor, including preventing the post-processor from running on HTML fragments and preventing scenarios here incomplete AMP pages are generated. #1778, #3039
- Update allowed tags/attributes from spec in amphtml 1908162134430. In addition to aforementioned AMP dev mode, remove restriction that
amp-sidebar
be a direct child of the body element, and allowcanvas
inside ofamp-script
. #3084 - Prevent tree-shaking CSS selectors for dynamic attributes. #3212
- Remove featured image cropping from the non-AMP Story editor. #3177
- Use
layout=fill
when converting elements that have inline styles that indicate this layout. #3209, #3142 - Add warning notice to AMP settings screen when not using HTTPS. #2006, #3219.
- Show notice when a theme is designed for Reader mode, in the same way a notice is displayed when a theme is designed for Standard/Transitional modes. #3188
- Add
amp_print_analytics
action triggering before printing entries as<amp-analytics>
. #3106 - Refactor tag-and-attribute sanitizer to use recursive depth-first post-order traversal, keeping track of the open elements to improve performance and facilitate validation. #3243
- Improve validation error reporting for nested invalid elements. #1493, #3243
- Prevent enforcing validation constraints on element attributes containing Mustache variables when inside of
template
elements. #3137, #3243 - Improve validation of URLs. #3151
- Add missing lightbox attributes & node on aligned image blocks, and fix lightbox on file-linked galleries. #3099, #3097.
- Improve reliability of plugin build task. #3183
Props
Thanks to the many contributors who made this release possible through work on development, design, testing, project management, and more:
Alain Schlesser, Alberto Medina, Ben Bowler, Cathi Bosco, Claudio Sossi, Evan Mattson, Jaroslav Polakovič, Jonny Harris, Mackenzie Hartung, Miina Sikk, Morten Barklund, Pascal Birchler, Paul Schreiber, Ryan Kienstra, Thierry Muller, Thrijith Thankachan, Vinay Mahagaokar, and Weston Ruter.
Installation
Now available to install via WordPress.org.
You can also install the amp.zip
build linked below by uploading it in the WordPress admin. Once active, enable the AMP Stories feature from the AMP admin settings screen.
To install as a Git submodule, consider 1.3.0-built.
1.3-RC2
This is the second release candidate of v1.3, following 1.3-RC1. For the full list of issues and pull requests in this release, please see the 1.3 milestone, with ~186 issues and pull requests. Please review the 1.3-beta1 release notes. Since RC1 there have been 12 closed issues and merged pull requests, including:
- Improve accessibility and implement automated accessibility testing using Axe. #3294, #3301
- Prevent selection of unsupported video types when inserting background video. #3308, #3314
- Prevent
the_content
filters from adding content which causes theamp-story
element andamp-story-page
element to be removed from the page. #3321, #3336 - Fix
excessive_css
validation error which occurred upon selecting a custom font in a story. #3328 - Improve handling of Stories in Compatibility Tool, including allowing a validation error to be rejected without an infinite redirect ensuing on the frontend. #3329
- Ensure all AMP scripts (including
v0.js
) get moved to thehead
; this prevents a validation error for an invalidscript
from appearing when adding a Latest Stories block to a page. #3334
Installation
You can install the amp.zip
build below by uploading it in the WordPress admin. Once active, enable the AMP Stories feature from the AMP admin settings screen.
To install as a Git submodule, consider 1.3-RC2-built.
1.3-RC1
For the full list of issues and pull requests in this 1.3 release candidate, please see the 1.3 milestone, with ~175 issues and pull requests. Please review the 1.3-beta1 release notes. Since beta1, there have been 12 closed issues and merged pull requests, including:
- Fix resize for non-fit text box in Stories. #3259, #3199
- Fix issue with keyboard cut to clipboard in Stories. #3246, #3250
- Strip erroneous 100%
width
/height
from convertedlayout=fill
elements. #3295, #3277, #3142 - Remove unused Google Fonts SVGs. #3289
- Use
template_dir
consistently as signal for Transitional mode. #3286
Installation
You can install the amp.zip
build below by uploading it in the WordPress admin. Once active, enable the AMP Stories feature from the AMP admin settings screen.
To install as a Git submodule, consider 1.3-RC1-built.
1.3-beta1
For the full list of issues and pull requests in this release, please see the 1.3 milestone, with over 145 closed issues and merged pull requests.
Stories Experience
For AMP Stories there have been ~24 pull requests merged (and ~24 issues closed) since the previous stable release. The most notable changes include:
- ✨ Add AMP Story Page Attachments. #2782, #1973 #3035
- Add ability to resize from corners. #2985
- Add support for drag & drop reordering of elements in layer panel. #2784
- Add ability to copy/paste elements across pages. #2785, #2786, #2996, #2989, #2990.
- Allow selection of arbitrary Google Fonts. #2877, #3026, #3027
- Support assistive (alt) text for images/video. #2983, #3185, #3186.
- Improve discoverability of background media. #2699
- Add previewing of animations inside the editor. #3069, #3070.
- Add configuration for default page advancements at global and story level. #1995
- Introduce
amp_story_head
action which runs wherewp_head
normally would, allowing plugins like Jetpack and WordPress SEO to augment stories with metadata. #2968, #3039, #3175, Automattic/jetpack#13416, Yoast/wordpress-seo#13446.
As a reminder, you will need the latest version of the Gutenberg plugin installed (v5.9+ specifically) to use AMP Stories, since the AMP Stories editor uses bleeding-edge features of WordPress's block editor which are not yet in a WordPress core release.
Website Experience
For the Website experience there have been ~43 pull requests merged (and ~21 issues closed) since the previous stable release. The most notable changes include:
- ✨ Introduce support for the new AMP dev mode, including integration with the admin bar so that it will no longer get mysteriously removed from pages for authenticated users when there is excessive CSS; add API for plugins to enable dev mode and indicate which elements should be exempted from validation as part of dev mode. #3187, #1921, Automattic/jetpack#13450, google/site-kit-wp#505
- Improve CLI commands; the
wp amp validate-site
command is nowwp amp validation run
. #3056 - Improve generation of AMP pages in post-processor, including preventing the post-processor from running on HTML fragments and preventing scenarios here incomplete AMP pages are generated. #1778, #3039
- Update allowed tags/attributes from spec in amphtml 1908162134430. In addition to aforementioned AMP dev mode, remove restriction that
amp-sidebar
be a direct child of the body element, and allowcanvas
inside ofamp-script
. #3084 - Prevent tree-shaking CSS selectors for dynamic attributes. #3212
- Remove featured image cropping from the non-AMP Story editor. #3177
- Use
layout=fill
when converting elements that have inline styles that indicate this layout. #3209, #3142 - Add warning notice to AMP settings screen when not using HTTPS. #2006, #3219.
- Show notice when a theme is designed for Reader mode, in the same way a notice is displayed when a theme is designed for Standard/Transitional modes. #3188
- Add
amp_print_analytics
action triggering before printing entries as<amp-analytics>
. #3106 - Refactor tag-and-attribute sanitizer to use recursive depth-first post-order traversal, keeping track of the open elements to improve performance and facilitate validation. #3243
- Improve validation error reporting for nested invalid elements. #1493, #3243
- Prevent enforcing validation constraints on element attributes containing Mustache variables when inside of
template
elements. #3137, #3243 - Improve validation of URLs. #3151
- Add missing lightbox attributes & node on aligned image blocks, and fix lightbox on file-linked galleries. #3099, #3097.
- Improve reliability of plugin build task. #3183
Props
Thanks to the many contributors who made this release possible through work on development, design, testing, project management, and more:
Alain Schlesser, Alberto Medina, Ben Bowler, Cathi Bosco, Claudio Sossi, Evan Mattson, Jaroslav Polakovič, Jonny Harris, Mackenzie Hartung, Miina Sikk, Morten Barklund, Pascal Birchler, Paul Schreiber, Ryan Kienstra, Thierry Muller, Thrijith Thankachan, Vinay Mahagaokar, and Weston Ruter.
Installation
You can then install the amp.zip
build below by uploading it in the WordPress admin. Once active, enable the AMP Stories feature from the AMP admin settings screen.
To install as a Git submodule, consider 1.3-beta1-built.
1.2.2
Now available to install via WordPress.org.
This release is a follow-up on 1.2.1, fixing a few issues reported in that release as well as making a few other enhancements.
Changes
For the full list of issues and pull requests in this release, please see the 1.2.2 milestone, with 5 closed issues and 6 merged pull requests. See full diff of changes.
Fixes
- Prevent editor from crashing in the latest version of Gutenberg. #3100
- Prevent hiding reusable blocks in normal post editor when Stories experience is not enabled. #3091 #3081
- Prevent empty
srcset
for images in galleries. #3089 #3087 - Only enqueue story stylesheet for singular
amp_story
requests. #3088 #3085
Enhancements
- Normalize
frameborder
valuesno
andyes
0
and1
in the iframe sanitizer, respectively. #3064 #2335 - Update
AMP_Twitter_Embed_Handler
to support all of the custom data attributes supported by theamp-twitter
component. #3050 #3051
Props
Thanks to the many contributors who made this release possible through work on development, design, testing, project management, and more:
Alain Schlesser, Ben Bowler, Claudio Sossi, esolix, Jackie D'Elia, Mackenzie Hartung, Miina Sikk, Nagesh Pai, Pascal Birchler, and Weston Ruter.
To install as a Git submodule, consider 1.2.2-built.
1.2.2-RC1
This is a release candidate of version 1.2.2 of the AMP plugin, addressing some key issues arising in 1.2.1 along with a couple minor enhancements.
See the 1.2.2 milestone for all issues and pull requests closed. See also diff 1.2.1...1.2.2-RC1.
You can then install the amp.zip
build below by uploading it in the WordPress admin. Once active, enable the AMP Stories feature from the AMP admin settings screen.
To install as a Git submodule, consider 1.2.2-RC1-built.
1.2.1
Now available to install via WordPress.org.
For the full list of issues and pull requests in this release, please see the 1.2.1 milestone, with nearly 275 issues and pull requests (and 500+ commits).
The major highlights in this release include:
AMP Stories
See the 119+ issues and pull requests in this release for stories. To summarize the story editor changes in this release:
- Add a new option to export a story as a portable ZIP archive.
- Ensure only media files with the correct mime types can be uploaded.
- Add an option to turn off captions for videos.
- Make various styling improvements in the editor UI.
- Improve UX of the template inserter.
- Fix an edge case in the Latest Stories block.
- Improve block resizing and font size calculations.
- Fix an issue where HTML was erroneously stripped for users with Author role.
- Add automatic extraction of poster images when uploading videos. #903
- Improve styling and positioning of the Call to Action block. #2706
- Improve compatibility with Gutenberg 6.3.0. #2919, #3020
- Ensure additional story images and fallback publisher image are included in schema.org metadata. #2930
- Improve usability of reordering elements in the layers panel. #2920
- Add "snapping" feature that makes it easy to nicely rotate elements. #2967
- Add inline text color support (flat text background scrim). #3033
- Require double click (or just two clicks) for editing. #2863
- Improve story page background media with image srcset, reduced image size, and a11y text. #3006
This release's focus was on further improving the AMP Stories experience and fixing the most pressing issues that came up since 1.2.0.
As a reminder, you will need the latest version of the Gutenberg plugin installed (v5.8+ specifically) to use AMP Stories, since the AMP Stories editor uses bleeding-edge features of WordPress's block editor which are not yet in a WordPress core release.
Website Mode Updates
There are also 72+ issues and pull requests that have been closed for the website experience.
Embeds
- Improve Soundcloud embeds to support playlists, improve layout, and add a fallback. #2715
- Improve support for Facebook widget layout. #2776
- Add missing
alt
attribute toamp-img
elements in carousel generated via gallery shortcode. #2848 - Improve sizing of differently shaped images in a gallery carousel. #2864
CSS Handling
- Prevent tree-shaking dynamic class names for
amp-date-picker
. #2658 - Fix conversion of CSS selectors when HTML tag maps to multiple AMP tags. Fixes center-aligned animated GIFs appearing stretched. #2973
Developer Improvements
- Fixes compatibility with other plugins and older WordPress installations by correcting the polyfills for WordPress 4.9. #2679
- Added a new
amp_post_template_body_open
hook to the Reader mode template. #1143
Validation Changes
- Guard against infinite recursion when matching a theme source. #2547
- Prevent errors around handling validation of widgets. #2698
- Improve handling of iframes. #2712
- Updated the amphtml validator spec to v1907301630320, along with responsive
amp-soundcloud
embeds. #3003 - Fix handling of
child_tag_name_oneof
constraint in tag spec, which fixes issues withnav
elements inamp-sidebar
. #2926
Themes and Templates
- Fixes a regression with using Reader mode in combination with an AMP-compatible theme. #2753
- Improved featured image handling and cropping. #2711
- Add support for looping video headers. #2642
Infrastructure, Technical Debt, and Code Cleanup
- Made sure the main plugin file is still parseable on PHP 5.2+. #2766
- Major code readability and maintainability improvements. #2493
- Converted all of the PHP source code to use short array syntax. #2767
- Add webpackbar plugin to have nicer output. #2814 #2818
- Begin with some E2E Tests. #2708
- Normalize amp-bind syntax to non-bracketed
data-amp-bind-*
attributes. #2974 - Improve RTL support on both the frontend and backend. #2977 #2972
- Always hide AMP admin menu item and compatibility tool menu items for non-admins role. #3005
Props
Thanks to the many contributors who made this release possible through work on development, design, testing, project management, and more:
Alberto Medina, Birgit Pauli-Haack, Cathi Bosco, Chris Christoff, Claudio Sossi, Daniele Scasciafratte, Dawid Młynarz, Derek Herman, Dhruva Gupta, Felix Arntz, Jackie D'Elia, Jefferson Rabb, Jory Hogeveen, maciejmackowiak, Mackenzie Hartung, Miina Sikk, Mika Epstein, Mike Crantea, PatOnTheBack, Pascal Birchler, Ryan Kienstra, Thierry Muller, Vinay Mahagaokar, Vincent Koc, and Weston Ruter.
To install as a Git submodule, consider 1.2.1-built.
1.2.1-RC1
This is the first release candidate of version 1.2.1 of the AMP plugin, following 1.2.1-beta2 and 1.2.1-beta1.
For AMP Stories there have been ~5 pull requests merged (and ~5 issues closed) since the previous pre-release. The most notable changes include:
- Add inline text color support (flat text background scrim). #3033
- Require double click (or just two clicks) for editing. #2863
- Harden logic for normalizing image metadata before adding story images. #3049
- Improve story page background media with image srcset, reduced image size, and a11y text. #3006
- Wait until content loaded before calculating font size. #3052
For general AMP changes, there have been ~2 pull requests merged (and ~0 issues closed) since 1.2.1-beta2. A change to highlight includes:
- Prevent tree shaking any CSS selectors based on the descendants of amp-script elements. #3034
Please review the v1.2.1 milestone for what else to expect in the subsequent stable release. See also diff 1.2.1-beta2...1.2.1-RC1.
As a reminder, you will need the latest version of the Gutenberg plugin installed (v5.8+ specifically) to use AMP Stories, since the AMP Stories editor uses bleeding-edge features of WordPress's block editor which are not yet in a WordPress core release. You can then install the amp.zip
build below by uploading it in the WordPress admin. Once active, enable the AMP Stories feature from the AMP admin settings screen.
To install as a Git submodule, consider 1.2.1-RC1-built.
The 1.2.1 stable release is due by August 22nd.
1.2.1-beta2
This is the second beta of version 1.2.1 of the AMP plugin, following 1.2.1-beta1.
For AMP Stories there have been ~21 pull requests merged (and ~25 issues closed) since the previous pre-release. The most notable changes include:
- Automatic extraction of poster images when uploading videos. #903
- Improved styling and positioning of the Call to Action block. #2706
- Prevent story templates from appearing in the reusable blocks section of the regular block editor. #2873
- Fixes animation order functionality in the editor. #2906
- Improve compatibility with Gutenberg 6.3.0. #2919, #3020
- Ensure additional story images and fallback publisher image are included in schema.org metadata. #2930
- Improved usability of reordering elements in the layers panel. #2920
- New "snapping" feature that makes it easy to nicely rotate elements. #2967
For general AMP changes, there have been ~29 pull requests merged (and ~8 issues closed) since 1.2.1-beta1. Some changes to highlight include:
- Fix an incompatibility with the columns block in the regular block editor. #2870
- Prevent exceptions when dealing with invalid attributes on DOM elements. #2866
- Added missing
alt
attribute toamp-img
elements in carousel generated via gallery shortcode. #2848 - Normalize amp-bind syntax to non-bracketed
data-amp-bind-*
attributes. #2974 - Fix handling of bound
amp-bind
attributes in self-closing tags. #2854 - Improves sizing of differently shaped images in a gallery carousel. #2864
- Improve RTL support on both the frontend and backend. #2977 #2972
- Improve handling of unlisted Vimeo videos #2986
- Always hide AMP admin menu item and compatibility tool menu items for non-admins role. #3005
- Updated the amphtml validator spec to v1907301630320, along with responsive
amp-soundcloud
embeds. #3003 - Fix accidental omission of CSS selector during tree shaking when no selector transformations are made. #2973
- Fix encoding error when HTML5 meta charset does not appear at beginning of head. #2970
- Tidy up templates directory for Reader mode. #2935
- Fix handling of
child_tag_name_oneof
constraint in tag spec, which fixes issues withnav
elements inamp-sidebar
. #2926
Please review the v1.2.1 milestone for what else to expect in the subsequent stable release. See also diff 1.2.1-beta1...1.2.1-beta2.
As a reminder, you will need the latest version of the Gutenberg plugin installed (v5.8+ specifically) to use AMP Stories, since the AMP Stories editor uses bleeding-edge features of WordPress's block editor which are not yet in a WordPress core release. You can then install the amp.zip
build below by uploading it in the WordPress admin. Once active, enable the AMP Stories feature from the AMP admin settings screen.
To install as a Git submodule, consider 1.2.1-beta2-built.
The 1.2.1 stable release is due by late August.
1.2.1-beta1
This is the first beta of version 1.2.1 of the AMP plugin.
For the full list of issues and pull requests in this release, please see the 1.2.1 milestone, with over 120 issues and pull requests. The major highlights in this release include:
AMP Stories
To summarize the story editor changes in this release:
- Added a new option to export a story as a portable ZIP archive.
- The editor now ensures that only media files with the correct mime types can be uploaded.
- Added an option to turn off captions for videos.
- Internationalization improvements to make translation eaiser.
- Various styling improvements in the editor UI.
- Improved UX of the template inserter.
- Fixed an edge case in the Latest Stories block.
- Various fixes around block resizing and font size calculations.
- Fixed an issue where HTML was erroneously stripped for users with Author role.
This release's focus was on further improving the AMP Stories experience and fixing the most pressing issues that came up since 1.2.0.
See the 412+ issues and pull requests in this release for stories.
Website Mode Updates
There are also 55+ issues and pull requests that have been closed for the website experience.
Embeds
- Improve Soundcloud embeds to support playlists, improve layout, and add a fallback. #2715
- Improve support for Facebook widget layout. #2776
CSS Handling
- Prevent tree-shaking dynamic class names for
amp-date-picker
. #2658 - Fix conversion of CSS selectors when HTML tag maps to multiple AMP tags. Fixes center-aligned animated GIFs appearing stretched. #2792
Developer Improvements
- Fixes compatibility with other plugins and older WordPress installations by correcting the polyfills for WordPress 4.9. #2679
- Added a new
amp_post_template_body_open
hook to the Reader mode template. #1143
Validation Changes
- Guard against infinite recursion when matching a theme source. #2547
- Prevent errors around handling validation of widgets. #2698
- Improve handling of iframes. #2712
- Update allowed tags/attributes from spec in amphtml 1907022322580. #2816
Themes and Templates
- Fixes a regression with using Reader mode in combination with an AMP-compatible theme. #2753
- Improved featured image handling and cropping. #2711
- Add support for looping video headers. #2642
Infrastructure, Technical Debt, and Code Cleanup
- Made sure the main plugin file is still parseable on PHP 5.2+. #2766
- Major code readability and maintainability improvements. #2493
- Converted all of the PHP source code to use short array syntax. #2767
- Add webpackbar plugin to have nicer output. #2814 #2818
- Begin with some E2E Tests. #2708
Props
Thanks to the many contributors who made this release possible through work on development, design, testing, project management, and more:
Alberto Medina, Cathi Bosco, Claudio Sossi, Dawid Młynarz, Mackenzie Hartung, Miina Sikk, Pascal Birchler, Ryan Kienstra, Thierry Muller, and Weston Ruter.
To install as a Git submodule, consider 1.2.1-beta1-built.