Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update amphtml spec to 2112170012000 #6803

Merged
merged 8 commits into from
Mar 3, 2022

Conversation

westonruter
Copy link
Member

@westonruter westonruter commented Dec 21, 2021

Previously #6752.

  • Run ./bin/amphtml-update.sh (lando ssh -c 'bash ./bin/amphtml-update.sh vendor/amphtml').
  • Examine diff for changelog.
  • Examine upstream diff to ensure nothing was missed.
  • Update spec generator as needed based on spec format changes.
  • Modify validating sanitizer based on changes to spec, if needed.
  • Add tests for key changes, if needed.

Changelog

  • Allow native img without any exemptions. In a subsequent PR, the native_img_used argument to the image sanitizer will be enabled by default.
  • Account for removal of latestVersion in core repo by bundling our own copy of the latest extension versions. See I2D: Deprecate "-latest" Binaries amphtml#36749.
  • Add container layout to amp-story-captions.

Details

(
    PREV_VERSION=2111242025000;
    THIS_VERSION=2112170012000;
    git checkout $THIS_VERSION;
    git diff $PREV_VERSION...$THIS_VERSION -w -- build-system/compile/bundles.config.extensions.json $( git ls-files | grep '.protoascii' );
    git checkout - > /dev/null
)
Diff 2111242025000...2112170012000
diff --git a/build-system/compile/bundles.config.extensions.json b/build-system/compile/bundles.config.extensions.json
index 385948f1a3..85dffbb1ff 100644
--- a/build-system/compile/bundles.config.extensions.json
+++ b/build-system/compile/bundles.config.extensions.json
@@ -1,18 +1,15 @@
 [
   {
     "name": "amp-3d-gltf",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-3q-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-access",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -23,20 +20,17 @@
       "0.1",
       "0.2"
     ],
-    "latestVersion": "0.2",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-access-poool",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-access-scroll",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -44,7 +38,6 @@
   {
     "name": "amp-accordion",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -52,7 +45,6 @@
   {
     "name": "amp-accordion",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -61,94 +53,77 @@
   },
   {
     "name": "amp-action-macro",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-ad",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-ad-custom",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-ad-exit",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-ad-network-adsense-impl",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-ad-network-adzerk-impl",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-ad-network-dianomi-impl",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-ad-network-doubleclick-impl",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-ad-network-fake-impl",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-ad-network-nws-impl",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-ad-network-valueimpression-impl",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-addthis",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-analytics",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-anim",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-animation",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-animation-polyfill",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-apester-media",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -156,30 +131,25 @@
   {
     "name": "amp-app-banner",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-audio",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-auto-ads",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-auto-lightbox",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-autocomplete",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -187,7 +157,6 @@
   {
     "name": "amp-base-carousel",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -195,7 +164,6 @@
   {
     "name": "amp-base-carousel",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -204,33 +172,27 @@
   },
   {
     "name": "amp-beopinion",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-bind",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-bodymovin-animation",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-brid-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-brightcove",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-brightcove",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -240,20 +202,17 @@
   {
     "name": "amp-byside-content",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-cache-url",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-call-tracking",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-carousel",
@@ -261,43 +220,36 @@
       "0.1",
       "0.2"
     ],
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-connatix-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-consent",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-crypto-polyfill",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-dailymotion",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-date-countdown",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-date-countdown",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "npm": true,
       "bento": true,
@@ -306,13 +258,11 @@
   },
   {
     "name": "amp-date-display",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-date-display",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "npm": true,
       "bento": true,
@@ -322,7 +272,6 @@
   {
     "name": "amp-date-picker",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -330,25 +279,21 @@
   {
     "name": "amp-delight-player",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-dynamic-css-classes",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-embedly-card",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-embedly-card",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -360,18 +305,15 @@
     "version": [
       "0.1",
       "1.0"
-    ],
-    "latestVersion": "0.1"
+    ]
   },
   {
     "name": "amp-facebook",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-facebook",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -380,23 +322,19 @@
   },
   {
     "name": "amp-facebook-comments",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-facebook-like",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-facebook-page",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-fit-text",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -404,7 +342,6 @@
   {
     "name": "amp-fit-text",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -413,72 +350,60 @@
   },
   {
     "name": "amp-font",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-form",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-fx-collection",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-fx-flying-carpet",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-geo",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-gfycat",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-gist",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-google-document-embed",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-gwd-animation",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-hulu",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-iframe",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-iframe",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -487,18 +412,15 @@
   },
   {
     "name": "amp-iframely",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-ima-video",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-image-lightbox",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -506,7 +428,6 @@
   {
     "name": "amp-image-slider",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -514,20 +435,17 @@
   {
     "name": "amp-image-viewer",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-imgur",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-inline-gallery",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -535,7 +453,6 @@
   {
     "name": "amp-inline-gallery",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -544,13 +461,11 @@
   },
   {
     "name": "amp-inputmask",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-instagram",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -558,7 +473,6 @@
   {
     "name": "amp-instagram",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -567,28 +481,23 @@
   },
   {
     "name": "amp-install-serviceworker",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-intersection-observer-polyfill",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-izlesene",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-jwplayer",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-jwplayer",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "bento": true,
@@ -597,13 +506,11 @@
   },
   {
     "name": "amp-kaltura-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-lightbox",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -611,7 +518,6 @@
   {
     "name": "amp-lightbox",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -621,7 +527,6 @@
   {
     "name": "amp-lightbox-gallery",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -629,7 +534,6 @@
   {
     "name": "amp-lightbox-gallery",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -638,13 +542,11 @@
   },
   {
     "name": "amp-link-rewriter",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-list",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -652,7 +554,6 @@
   {
     "name": "amp-live-list",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -660,7 +561,6 @@
   {
     "name": "amp-loader",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -668,7 +568,6 @@
   {
     "name": "amp-mathml",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -676,7 +575,6 @@
   {
     "name": "amp-mathml",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "bento": true,
@@ -686,43 +584,36 @@
   {
     "name": "amp-mega-menu",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-megaphone",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-minute-media-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-mowplayer",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-mraid",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-mustache",
     "version": [
       "0.1",
       "0.2"
-    ],
-    "latestVersion": "0.2"
+    ]
   },
   {
     "name": "amp-nested-menu",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -733,43 +624,36 @@
       "0.1",
       "1.0"
     ],
-    "latestVersion": "1.0",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-nexxtv-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-o2-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-onetap-google",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-ooyala-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-orientation-observer",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-pan-zoom",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -777,7 +661,6 @@
   {
     "name": "amp-pinterest",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -785,63 +668,52 @@
   {
     "name": "amp-playbuzz",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-position-observer",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-powr-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-reach-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-recaptcha-input",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-redbull-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-reddit",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-render",
-    "version": "1.0",
-    "latestVersion": "1.0"
+    "version": "1.0"
   },
   {
     "name": "amp-resize-observer-polyfill",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-riddle-quiz",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-script",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -849,7 +721,6 @@
   {
     "name": "amp-selector",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -857,7 +728,6 @@
   {
     "name": "amp-selector",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -867,7 +737,6 @@
   {
     "name": "amp-shadow-dom-polyfill",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "wrapper": "none"
     }
@@ -878,7 +747,6 @@
       "0.1",
       "0.2"
     ],
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -886,7 +754,6 @@
   {
     "name": "amp-sidebar",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -895,25 +762,21 @@
   },
   {
     "name": "amp-skimlinks",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "// 1": "`amp-slides` is deprecated",
     "// 2": "Please use `<amp-carousel type=slides>` instead.",
     "name": "amp-slides",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-smartlinks",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-social-share",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -921,7 +784,6 @@
   {
     "name": "amp-social-share",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -930,13 +792,11 @@
   },
   {
     "name": "amp-soundcloud",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-soundcloud",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -945,18 +805,15 @@
   },
   {
     "name": "amp-springboard-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-standalone",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-sticky-ad",
     "version": "1.0",
-    "latestVersion": "1.0",
     "options": {
       "hasCss": true
     }
@@ -964,7 +821,6 @@
   {
     "name": "amp-story",
     "version": "1.0",
-    "latestVersion": "1.0",
     "options": {
       "hasCss": true
     }
@@ -972,7 +828,6 @@
   {
     "name": "amp-story-360",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -980,20 +835,17 @@
   {
     "name": "amp-story-auto-ads",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-story-auto-analytics",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-story-captions",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -1001,7 +853,6 @@
   {
     "name": "amp-story-dev-tools",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -1009,7 +860,6 @@
   {
     "name": "amp-story-education",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -1017,7 +867,6 @@
   {
     "name": "amp-story-interactive",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -1025,7 +874,6 @@
   {
     "name": "amp-story-panning-media",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -1033,6 +881,13 @@
   {
     "name": "amp-story-player",
     "version": "0.1",
+    "options": {
+      "hasCss": true
+    }
+  },
+  {
+    "name": "amp-story-share-menu",
+    "version": "0.1",
     "latestVersion": "0.1",
     "options": {
       "hasCss": true
@@ -1041,7 +896,6 @@
   {
     "name": "amp-story-shopping",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -1049,7 +903,6 @@
   {
     "name": "amp-stream-gallery",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -1057,7 +910,6 @@
   {
     "name": "amp-stream-gallery",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -1067,7 +919,6 @@
   {
     "name": "amp-subscriptions",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -1075,7 +926,6 @@
   {
     "name": "amp-subscriptions-google",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
@@ -1083,20 +933,17 @@
   {
     "name": "amp-tiktok",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-timeago",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-timeago",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -1106,20 +953,17 @@
   {
     "name": "amp-truncate-text",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-twitter",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-twitter",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -1129,20 +973,17 @@
   {
     "name": "amp-user-notification",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-video",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-video",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -1152,20 +993,17 @@
   {
     "name": "amp-video-docking",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-video-iframe",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-video-iframe",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -1175,7 +1013,6 @@
   {
     "name": "amp-viewer-integration",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "// 1": "The viewer integration code needs to run asap, so that viewers",
       "// 2": "can influence document state asap. Otherwise the document may ",
@@ -1186,13 +1023,11 @@
   },
   {
     "name": "amp-vimeo",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-vimeo",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -1201,36 +1036,30 @@
   },
   {
     "name": "amp-vine",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-viqeo-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-vk",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-web-push",
     "version": "0.1",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true
     }
   },
   {
     "name": "amp-wistia-player",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-wordpress-embed",
     "version": "1.0",
-    "latestVersion": "1.0",
     "options": {
       "hasCss": true,
       "npm": true,
@@ -1239,18 +1068,15 @@
   },
   {
     "name": "amp-yotpo",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-youtube",
-    "version": "0.1",
-    "latestVersion": "0.1"
+    "version": "0.1"
   },
   {
     "name": "amp-youtube",
     "version": "1.0",
-    "latestVersion": "0.1",
     "options": {
       "hasCss": true,
       "npm": true,
diff --git a/extensions/amp-carousel/validator-amp-carousel.protoascii b/extensions/amp-carousel/validator-amp-carousel.protoascii
index 82bcd69a51..b5b4aad540 100644
--- a/extensions/amp-carousel/validator-amp-carousel.protoascii
+++ b/extensions/amp-carousel/validator-amp-carousel.protoascii
@@ -20,6 +20,7 @@ tags: {  # amp-carousel for AMP4EMAIL
     name: "amp-carousel"
     # AMP4EMAIL doesn't allow version: "latest".
     version: "0.1"
+    version: "0.2"
   }
   attr_lists: "common-extension-attrs"
 }
diff --git a/extensions/amp-story-captions/validator-amp-story-captions.protoascii b/extensions/amp-story-captions/validator-amp-story-captions.protoascii
index 93e3992f2f..30e54b2ad2 100644
--- a/extensions/amp-story-captions/validator-amp-story-captions.protoascii
+++ b/extensions/amp-story-captions/validator-amp-story-captions.protoascii
@@ -32,6 +32,7 @@ tags: {  # <amp-story-captions>
   spec_url: "https://amp.dev/documentation/components/amp-story-captions"
   mandatory_ancestor: "AMP-STORY"
   amp_layout: {
+    supported_layouts: CONTAINER
     supported_layouts: FILL
     supported_layouts: FIXED
     supported_layouts: FIXED_HEIGHT
diff --git a/validator/validator-main.protoascii b/validator/validator-main.protoascii
index 3dbf5014f3..3869dc6503 100644
--- a/validator/validator-main.protoascii
+++ b/validator/validator-main.protoascii
@@ -13,6 +13,8 @@ script_spec_url: "https://amp.dev/documentation/guides-and-tutorials/learn/valid
 # in the extensions/*/validator-*.protoascii files. This makes it
 # easy to organize the rules for extensions next to their Javascript
 # implementation.
+# Please read how the rules in this file works:
+# https://github.com/ampproject/amphtml/blob/fc447110e86db57e4391bf5c50de8dd2bf75e18f/docs/component-validator-rules.md
 
 # Rules for AMP HTML
 # https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml
@@ -1771,6 +1773,153 @@ tags: {
 # the exception of tags inside of a <noscript> or <amp-story-player> ancestor
 # and transformed amp-img.
 # 4.7.1 The img element
+attr_lists: {
+  name: "img-attrs"
+  attrs: {
+    name: "align"
+    value_casei: "top"
+    value_casei: "middle"
+    value_casei: "bottom"
+    value_casei: "left"
+    value_casei: "right"
+  }
+  attrs: { name: "alt" }
+  attrs: { name: "border" }
+  attrs: {
+    name: "crossorigin"
+    value_casei: "anonymous"
+    value_casei: "use-credentials"
+  }
+  attrs: { name: "height" }
+  attrs: { name: "hspace" }
+  # https://developers.google.com/web/updates/2019/02/priority-hints
+  attrs: {
+    name: "importance"
+    value_casei: "high"
+    value_casei: "low"
+    value_casei: "auto"
+  }
+  attrs: { name: "ismap" }
+  attrs: {
+    name: "loading"
+    value_casei: "lazy"
+  }  # Not yet part of the html spec
+  attrs: { name: "name" }
+  attrs: {
+    name: "referrerpolicy"
+    value_casei: "no-referrer"
+    value_casei: "no-referrer-when-downgrade"
+    value_casei: "origin"
+    value_casei: "origin-when-cross-origin"
+    value_casei: "same-origin"
+    value_casei: "strict-origin"
+    value_casei: "strict-origin-when-cross-origin"
+    value_casei: "unsafe-url"
+  }
+  attrs: { name: "usemap" }
+  attrs: { name: "vspace" }
+  attrs: { name: "width" }
+}
+tags: {
+  html_format: AMP
+  tag_name: "IMG"
+  spec_name: "Standard Img"
+  descriptive_name: "img"
+  disallowed_ancestor: "AMP-IMG"
+  disallowed_ancestor: "AMP-STORY"
+  attrs: {
+    name: "decoding"
+    value_casei: "async"
+  }
+  attr_lists: "img-attrs"
+  attr_lists: "mandatory-src-or-srcset"
+}
+tags: {
+  html_format: AMP
+  tag_name: "IMG"
+  spec_name: "Hero Img"
+  descriptive_name: "img"
+  disallowed_ancestor: "AMP-IMG"
+  disallowed_ancestor: "AMP-STORY"
+  attrs: {
+    name: "data-hero"
+    mandatory: true
+    dispatch_key: NAME_DISPATCH
+  }
+  attrs: {
+    name: "decoding"
+    value_casei: "async"
+  }
+  attr_lists: "img-attrs"
+  attr_lists: "mandatory-src-or-srcset"
+}
+tags: {
+  html_format: AMP
+  tag_name: "IMG"
+  spec_name: "Img using srcset"
+  descriptive_name: "img"
+  disallowed_ancestor: "AMP-IMG"
+  disallowed_ancestor: "AMP-STORY"
+  attrs: {
+    name: "decoding"
+    value_casei: "async"
+  }
+  attrs: {
+    name: "sizes"
+  }
+  attr_lists: "img-attrs"
+  attr_lists: "mandatory-src-or-srcset"
+}
+tags: {
+  html_format: AMP
+  tag_name: "IMAGE"
+  spec_name: "Standard Image"
+  descriptive_name: "img"
+  disallowed_ancestor: "AMP-IMG"
+  disallowed_ancestor: "AMP-STORY"
+  attrs: {
+    name: "decoding"
+    value_casei: "async"
+  }
+  attr_lists: "img-attrs"
+  attr_lists: "mandatory-src-or-srcset"
+}
+tags: {
+  html_format: AMP
+  tag_name: "IMAGE"
+  spec_name: "Hero Image"
+  descriptive_name: "img"
+  disallowed_ancestor: "AMP-IMG"
+  disallowed_ancestor: "AMP-STORY"
+  attrs: {
+    name: "data-hero"
+    mandatory: true
+    dispatch_key: NAME_DISPATCH
+  }
+  attrs: {
+    name: "decoding"
+    value_casei: "async"
+  }
+  attr_lists: "img-attrs"
+  attr_lists: "mandatory-src-or-srcset"
+}
+tags: {
+  html_format: AMP
+  tag_name: "IMAGE"
+  spec_name: "Image using srcset"
+  disallowed_ancestor: "AMP-IMG"
+  disallowed_ancestor: "AMP-STORY"
+  descriptive_name: "img"
+  attrs: {
+    name: "decoding"
+    value_casei: "async"
+  }
+  attr_lists: "img-attrs"
+  attr_lists: "mandatory-src-or-srcset"
+  attrs: {
+    name: "sizes"
+  }
+}
 tags: {
   html_format: AMP  # Disallowed in AMP4ADS because <noscript> is disallowed.
   tag_name: "IMG"
@@ -1778,30 +1927,16 @@ tags: {
   descriptive_name: "img"
   mandatory_ancestor: "NOSCRIPT"
   mandatory_ancestor_suggested_alternative: "AMP-IMG"
-  attrs: { name: "alt" }
   attrs: { name: "attribution" }
-  attrs: { name: "border" }  # Not valid html5 but commonly used and supported.
   attrs: {
     name: "decoding"
-    value: "async"
-    value: "auto"
-    value: "sync"
+    value_casei: "async"
+    value_casei: "auto"
+    value_casei: "sync"
   }
-  attrs: { name: "height" }  # Not valid html5 but commonly used and supported.
-  attrs: { name: "importance" }  # Not yet part of the html spec
-  attrs: { name: "ismap" }
   attrs: { name: "intrinsicsize" }  # Not yet part of the html spec
-  attrs: { name: "loading" }  # Not yet part of the html spec
-  attrs: {
-    name: "longdesc"
-    value_url: {
-      protocol: "http"
-      protocol: "https"
-    }
-    disallowed_value_regex: "__amp_source_origin"
-  }
   attrs: { name: "sizes" }
-  attrs: { name: "width" }  # Not valid html5 but commonly used and supported.
+  attr_lists: "img-attrs"
   attr_lists: "mandatory-src-or-srcset"
   spec_url: "https://amp.dev/documentation/components/amp-img/"
 }
@@ -3492,6 +3627,28 @@ tags: {
   }
 }
 
+# Dynamic Viewport (dvh) Polyfill when amp-story-1.0.css is Server Side Rendered.
+tags: {
+  html_format: AMP
+  enabled_by: "transformed"
+  tag_name: "SCRIPT"
+  spec_name: "script amp-story-dvh-polyfill"
+  descriptive_name: "script amp-story-dvh-polyfill"
+  unique: true
+  mandatory_parent: "HEAD"
+  attrs: {
+    name: "amp-story-dvh-polyfill"
+    value: ""
+    mandatory: true
+    dispatch_key: NAME_VALUE_DISPATCH
+  }
+  cdata: {
+    # Only valid if contents is exactly:
+    # "use strict";if(!self.CSS||!CSS.supports||!CSS.supports("height:1dvh")){function e(){document.documentElement.style.setProperty("--story-dvh",innerHeight/100+"px","important")}addEventListener("resize",e,{passive:!0}),e()}
+    cdata_regex: "\"use strict\";if\\(!self\\.CSS\\|\\|!CSS\\.supports\\|\\|!CSS\\.supports\\(\"height:1dvh\"\\)\\)\\{function e\\(\\)\\{document\\.documentElement\\.style\\.setProperty\\(\"--story-dvh\",innerHeight/100\\+\"px\",\"important\"\\)\\}addEventListener\\(\"resize\",e,\\{passive:!0\\}\\),e\\(\\)\\}"
+  }
+}
+
 # Enables early styling on fast failure to load v0.js. See GitHub #22543.
 tags: {
   html_format: AMP

@westonruter westonruter added this to the v2.3 milestone Dec 21, 2021
@westonruter westonruter changed the title Update amphtml spec to 2112102136000 Update amphtml spec to 2112170012000 Dec 22, 2021
@westonruter westonruter marked this pull request as ready for review December 22, 2021 00:52
@github-actions
Copy link
Contributor

github-actions bot commented Dec 22, 2021

Plugin builds for a5142ad are ready 🛎️!

…phtml-2112102136000

* 'develop' of github.com:ampproject/amp-wp: (275 commits)
  Bump postcss-preset-env from 7.4.1 to 7.4.2
  Update namespace for Attribute and Tag interfaces
  Remove obsolete debug code
  Defer creation of post fixture until test
  Add assertion for post data being created before test
  Add yet more assertions to debug oEmbed problem on GHA
  Add oembed_request_post_id filter sooner
  Add more assertions
  Add assertions
  Ensure video shortcode is registered to test_process_text_widgets
  Use oembed_request_post_id for test
  Add debugging code
  Fix test_add_block_source_comments for Gutenberg 12.7
  Add missing HTTP response mock
  Add tests for internal post embeds
  Prevent copying PHP files from `src/` into `assets/`
  Bump actions/checkout from 2 to 3
  Bump eslint-plugin-jsdoc from 37.9.5 to 37.9.6
  Update since tag to 2.2.2
  Bump eslint-plugin-jsdoc from 37.9.4 to 37.9.5
  ...
@westonruter westonruter merged commit b947ad8 into develop Mar 3, 2022
@westonruter westonruter deleted the update/amphtml-2112102136000 branch March 3, 2022 04:47
westonruter added a commit that referenced this pull request Mar 3, 2022
@westonruter westonruter added the Changelogged Whether the issue/PR has been added to release notes. label Apr 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelogged Whether the issue/PR has been added to release notes. P0 High priority
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant