mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
docs: expand Angular's browser policy by adopting the "widely available" Baseline (#60754)
This effectively expands Angular's existing browser support policy to be defined as browsers covered by the "widely available" Baseline (effectively browsers released <30 months ago). Each major version will choose a date shortly before release and pin its version support to the "widely available" Baseline of that date. For now, I'm arbitrarily picking March 31st as I try to land the general infra and policy change, but we'll likely update the exact date a little closer to the v20 RC. PR Close #60754
This commit is contained in:
parent
61012cb239
commit
8aaefa7b63
2 changed files with 17 additions and 18 deletions
|
|
@ -69,8 +69,21 @@ Until Angular v9, Angular and Angular CLI versions were not synced.
|
|||
|
||||
## Browser support
|
||||
|
||||
Angular supports most recent browsers.
|
||||
This includes the following specific versions:
|
||||
Angular uses the ["widely available" Baseline](https://web.dev/baseline) to define browser
|
||||
support. For each major version, Angular supports browsers included in the Baseline of a
|
||||
chosen date near the release date for that major.
|
||||
|
||||
The "widely available" Baseline includes browsers released less than 30 months (2.5 years)
|
||||
of the chosen date within Baseline's core browser set (Chrome, Edge, Firefox, Safari) and
|
||||
targets supporting approximately 95% of web users.
|
||||
|
||||
| Angular | Baseline Date | Browser Set |
|
||||
| ------- | ------------- | --------------------------- |
|
||||
| v20 | 2025-03-31 | [Browser Set][browsers-v20] |
|
||||
|
||||
[browsers-v20]: https://browsersl.ist/#q=Chrome+%3E%3D+105%0AChromeAndroid+%3E%3D+105%0AEdge+%3E%3D+105%0AFirefox+%3E%3D+104%0AFirefoxAndroid+%3E%3D+104%0ASafari+%3E%3D+16%0AiOS+%3E%3D+16
|
||||
|
||||
Angular versions prior to v20 support the following specific browser versions:
|
||||
|
||||
| Browser | Supported versions |
|
||||
| :------ | :------------------------------------------ |
|
||||
|
|
@ -81,8 +94,6 @@ This includes the following specific versions:
|
|||
| iOS | 2 most recent major versions |
|
||||
| Android | 2 most recent major versions |
|
||||
|
||||
HELPFUL: Angular's continuous integration process runs unit tests of the framework on all of these browsers for every pull request, using [Sauce Labs](https://saucelabs.com).
|
||||
|
||||
## Polyfills
|
||||
|
||||
Angular is built on the latest standards of the web platform.
|
||||
|
|
|
|||
|
|
@ -132,21 +132,9 @@ If the best option is to use a CommonJS dependency, you can disable these warnin
|
|||
The Angular CLI uses [Browserslist](https://github.com/browserslist/browserslist) to ensure compatibility with different browser versions.
|
||||
Depending on supported browsers, Angular will automatically transform certain JavaScript and CSS features to ensure the built application does not use a feature which has not been implemented by a supported browser. However, the Angular CLI will not automatically add polyfills to supplement missing Web APIs. Use the `polyfills` option in `angular.json` to add polyfills.
|
||||
|
||||
Internally, the Angular CLI uses the below default `browserslist` configuration which matches the [browsers that are supported](reference/versions#browser-support) by Angular.
|
||||
By default, the Angular CLI uses a `browserslist` configuration which [matches browsers supported by Angular](reference/versions#browser-support) for the current major version.
|
||||
|
||||
<docs-code language="text">
|
||||
|
||||
last 2 Chrome versions
|
||||
last 1 Firefox version
|
||||
last 2 Edge major versions
|
||||
last 2 Safari major versions
|
||||
last 2 iOS major versions
|
||||
last 2 Android major versions
|
||||
Firefox ESR
|
||||
|
||||
</docs-code>
|
||||
|
||||
To override the internal configuration, run [`ng generate config browserslist`](cli/generate/config), which generates a `.browserslistrc` configuration file in the project directory.
|
||||
To override the internal configuration, run [`ng generate config browserslist`](cli/generate/config), which generates a `.browserslistrc` configuration file in the project directory matching Angular's supported browsers.
|
||||
|
||||
See the [browserslist repository](https://github.com/browserslist/browserslist) for more examples of how to target specific browsers and versions.
|
||||
Avoid expanding this list to more browsers. Even if your application code more broadly compatible, Angular itself might not be.
|
||||
|
|
|
|||
Loading…
Reference in a new issue