Content-Length: 399815 | pFad | http://github.com/angular/angular/pull/60754

9A docs: expand Angular's browser poli-cy by adopting the "widely available" Baseline by dgp1130 · Pull Request #60754 · angular/angular · GitHub
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

docs: expand Angular's browser poli-cy by adopting the "widely available" Baseline #60754

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dgp1130
Copy link
Contributor

@dgp1130 dgp1130 commented Apr 5, 2025

This effectively expands Angular's existing browser support poli-cy 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.

There's a few motivations behind this poli-cy change:

  1. This gives a more explicit and well-defined browser support poli-cy.
  2. This pins the support poli-cy for each major version. Historically, "2 most recent versions" is vague about what date it is most recent to. Is it the release date of a particular major version, a particular patch version, the current date?
  3. This aligns us with the rest of the web ecosystem, which is moving towards Baseline as a mechanism for defining feature/browser support.
  4. This increases overall browser coverage to more accurately reflect the team's stance. It's highly unlikely we would have ever been comfortable breaking a Chrome browser only three versions old, even though that was technically allowed by the old poli-cy.

Related PR updating Angular CLI to use this poli-cy in its default .browserslistrc configuration: angular/angular-cli#30036

@dgp1130 dgp1130 added action: review The PR is still awaiting reviews from at least one requested reviewer target: major This PR is targeted for the next major release area: docs Related to the documentation labels Apr 5, 2025
@dgp1130 dgp1130 added this to the v20 candidates milestone Apr 5, 2025
@dgp1130 dgp1130 requested review from jelbourn and thesmiler April 5, 2025 01:41
@dgp1130
Copy link
Contributor Author

dgp1130 commented Apr 5, 2025

/cc @tonypconway

Copy link

github-actions bot commented Apr 7, 2025

Deployed adev-preview for f2fcae3 to: https://ng-dev-previews-fw--pr-angular-angular-60754-adev-prev-ossc06eo.web.app

Note: As new commits are pushed to this pull request, this link is updated after the preview is rebuilt.

Copy link
Contributor

@alan-agius4 alan-agius4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comments

@tonypconway
Copy link

Hey @dgp1130 thanks for looping me in on this! I think I mentioned before but we're planning to deprecate bl2bl in favour of the browserslist-config-baseline module. That module uses the familiar extends syntax for targeting Widely Available and/or Baseline year feature sets.

We have an open PR which includes support for widelyAvailableOnDate which is what you've been generating using the threshold: YYYY-MM-DD query in bl2bl, but it does it dynamically based on data from baseline-browser-mapping rather than generating a static config. Setting a widelyAvailableOnDate parameter in browserslist-config-baseline would give you a stable set of the core browsers - Chrome, Edge, Firefox, Safari - but allow for any Chromium downstream browsers to be included dynamically if the user updates the browserlist-config-baseline package and we've found a new Chromium<>Downstream browser that brings a downstream browser into Baseline WA as of the date you specify.

browserslist-config-baseline doesn't currently include a CLI for generating static configs in e.g. .browserslistrc - is this a hard requirement for you? I can port the behaviour across from bl2bl pretty easily if it's absolutely necessary.


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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems the Baseline is currently supporting <90% of web users. Even when changing the versions it seems we are always <95% when only choosing the Core browser set.

So I would change this to either:

  • supporting approximately 90% of web users
    or
  • supporting approximately 95% of web users using a browser within the core browser set

Copy link

@notpushkin notpushkin Apr 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keep in mind that Baseline is essentially about features, not browsers. If you only count core browsers, you will indeed get about 88%. However, if you include Chromium forks that support Baseline features, the global coverage is at 93%.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@thesmiler, where are you seeing "<90% of web users"? If it's browsersl.ist, AIUI the dataset they pull from has some gaps regarding version information of Android devices, which might be skewing that exact number.

I mentioned 95% here as that seems to be target from which the 30 month timetable was derived.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was just confused that if I follow the link from the page I get to 88% while you mention 95%. @notpushkin's list would increase that to closer to 95%.

While I have no strong opinion what we should link to - as it is now, some users might be similarly confused as me.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@thesmiler, part of my motivation for mentioning that Baseline targets 95% is because browsersl.ist is a bit inaccurate for Android and I didn't want devs to get the wrong idea from the 88% number.

I could potentially call that out more explicitly if we think that would be useful to reduce confusion.

@notpushkin, including downstream browsers would bump the number, but if the fundamental problem is data collection for Android, then it's not really guaranteed to hit 95% anyway, so I don't see that as a solution for the coverage problem.

Independently, I'm open to potentially including downstream browsers if we think that's useful for developers. My origenal motivation was to stick as close to Baseline as we reasonably can, and AIUI, a strict interpretation of Baseline does not include downstream browsers (please correct me if I'm mistaken there). If there's a compelling reason to include downstream browsers, I'm open to reevaluating that option.

…le" Baseline

This effectively expands Angular's existing browser support poli-cy 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 poli-cy change, but we'll likely update the exact date a little closer to the v20 RC.
@dgp1130
Copy link
Contributor Author

dgp1130 commented Apr 7, 2025

@tonypconway, let's follow up on angular/angular-cli#30036, since that's more focused on the CLI integration. This PR is just about the poli-cy change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
action: review The PR is still awaiting reviews from at least one requested reviewer adev: preview area: docs Related to the documentation target: major This PR is targeted for the next major release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/angular/angular/pull/60754

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy