question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

"last 2 versions" (and "defaults") should not include "android 4.4.3-4.4.4"

See original GitHub issue

This technically falls out from how caniuse is representing versions for Android, but I think is worth discussing here since it impacts the defaults query.

Relevant data from caniuse:

"android": {
    "browser": "Android Browser",
    "abbr": "And.",
    "prefix": "webkit",
    "type": "mobile",
    "usage_global": {
        "2.1": 0.00480563,
        "2.2": 0.00823823,
        "2.3": 0.00480563,
        "3": 0.000686519,
        "4": 0.0988588,
        "4.1": 0.0494294,
        "4.2-4.3": 0.214194,
        "4.4": 0,
        "4.4.3-4.4.4": 0.300009,
        "67": 0
    }

The caniuse data is only providing one version covering the time since the Android webview went evergreen in Android 5, even though there have been multiple versions in between, just like Chrome.

This causes browserslist to include 4.4.3-4.4.4 in the last 2 versions (and by association defaults) query even though it doesn’t truly meet the criteria - it just appears to due to how the data is represented.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:6
  • Comments:9 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
aicommented, May 24, 2019

@antross oops, I merge PR but then found a big problem (to be honest, your way is still acceptable, but it will force us to release major update because it can create errors in the tools using Browserslist).

Browserslist must to return only browsers from Can I Use. We can’t return android 67, android 66.

For instance, Autoprefixer will use these browsers to get prefixes data from Can I Use. If we will artificially create android 66, Autoprefixer will not find a browser data and it could cause an error.

Can I ask you to do PR in a different way? In last \d+ versions query we need add a filter to remove android 4.4.3-4.4.4 if \d+ less than latest - firstEvergreenVersion.

0reactions
aicommented, Jun 8, 2019

Don’t worry, you already did a big PR

Read more comments on GitHub >

github_iconTop Results From Across the Web

Browserslist on Twitter: "We are planning to remove `android ...
We are planning to remove `android 4.4.3-4.4.4` from `last 2 versions` query (it was added by the ... data). It will change the...
Read more >
"Last 2 versions" considered harmful
"last 2 versions" considered harmful. There comes a time in every developer's life when they come to realize their thoughtleaders misled them.
Read more >
browserslist - npm
If all methods will not give a result, Browserslist will use defaults: > 1%, last 2 versions, Firefox ESR, Opera 12.1 .
Read more >
Old Android versions browsers do not have some JS functions?
The Browser version on the Kitkat emulator is 4.4. 2-4729339 and the emulator is the default emulator on Android Studio. well it sounds...
Read more >
End-to-End Simplified Service Management Framework v1.1.2
property rights (collectively, “IPR”) of which they may be aware which might be necessarily ... Scenario 2: SP TSM Uses the SEI TSM's...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found