I2D: Deprecate "-latest" Binaries
See original GitHub issueSummary
Context: Following up on an old comment https://github.com/ampproject/amphtml/issues/21135#issuecomment-467998527
The original intention was that if we create a new version of a component which maintains backward compatibility, we could then simply modify the “-latest” pointer to the new version. Publisher documents could then seamlessly get the new version with no action on their part.
In practice we don’t create a new version of a components unless we are explicitly making breaking changes.
This means that bumping the pointer is impossible as it will more than likely break current consumers (as happened in the past). Therefore the -latest
binaries have serve no practical purpose and we should remove them.
Deprecation Plan
- Modify the documentation for
-latest
binaries on amp.dev to point out that it is deprecated. - Any new components created should not allow
-latest
via validator rules. - Add a validator warnings for pages using
-latest
binaries, recommending publishers pin to a specific extension version. - Simplify the configuration in our bundles configuration s.t. they only provide a
latestVersion
when it isn’t the value 0.1 - ~Eventually, if usage is low enough, remove the binaries entirely. (cc @honeybadgerdontcare). Less than 1 in 1,000 would be “low enough”.~ removed based on discussion from design review.
Notifications
Issue Analytics
- State:
- Created 2 years ago
- Reactions:2
- Comments:21 (21 by maintainers)
Top Results From Across the Web
Warn and deprecate amp-foo-latest.js in validator · Issue #21135 ...
1- I create a separate issue for locking latest during build to current version. 2- we no longer add latest to new component...
Read more >JDK 17 Release Notes, Important Changes, and Information
These notes describe important changes, enhancements, removed APIs and features, deprecated APIs and features, and other information about JDK 17 and Java SE...
Read more >What's new in 1.4.0 (January 22, 2022) - Pandas
DataFrame.append() and Series.append() have been deprecated and will be removed ... Bug in DataFrame constructor unnecessarily copying non-datetimelike 2D ...
Read more >Deprecating your Assets - Unity - Manual
When a package is deprecated it is no longer available by searching the Asset ... Once you deprecate a package, you need to...
Read more >Deprecation status of the NumPy matrix class - Stack Overflow
I keep being told that I should use the ndarray class instead. Is it worth/safe using the matrix class in new code I...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Another use case that has its own set of challenges is that we want to work on automatically replacing slow components (like a popular React slider known to be bad for performance) with more performant (Bento) AMP components as part of the Page Experience Engine. In this case, we’d always want to stick with the latest stable version, but have the generated logic be adapted as needed with version changes.
For approval, I’d like to see some explicitly recommended metric for “usage is low enough”. Given that we’d be breaking existing pages with usage, I would only approve it was extremely low. For example, fewer than 1 in 1,000 documents which include that particular component.