Skip to content

Commit afaf42b

Browse files
authored
[Breaking] Update default browserslist config (#84401)
Use the current result of `baseline widely available` as the default browsers. If we used `baseline widely available` literally, then that would change the targets even within minor versions.
1 parent b000436 commit afaf42b

File tree

10 files changed

+115
-92
lines changed

10 files changed

+115
-92
lines changed

docs/03-architecture/supported-browsers.mdx

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,18 @@ description: Browser support and which JavaScript features are supported by Next
55

66
Next.js supports **modern browsers** with zero configuration.
77

8-
- Chrome 64+
9-
- Edge 79+
10-
- Firefox 67+
11-
- Opera 51+
12-
- Safari 12+
8+
- Chrome 111+
9+
- Edge 111+
10+
- Firefox 111+
11+
- Safari 16.4+
1312

1413
## Browserslist
1514

1615
If you would like to target specific browsers or features, Next.js supports [Browserslist](https://browsersl.ist) configuration in your `package.json` file. Next.js uses the following Browserslist configuration by default:
1716

1817
```json filename="package.json"
1918
{
20-
"browserslist": [
21-
"chrome 64",
22-
"edge 79",
23-
"firefox 67",
24-
"opera 51",
25-
"safari 12"
26-
]
19+
"browserslist": ["chrome 111", "edge 111", "firefox 111", "safari 16.4"]
2720
}
2821
```
2922

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@
156156
"alex": "9.1.0",
157157
"async-sema": "3.0.1",
158158
"babel-plugin-react-compiler": "0.0.0-experimental-3fde738-20250918",
159-
"browserslist": "4.25.1",
159+
"browserslist": "4.26.2",
160160
"buffer": "5.6.0",
161161
"cheerio": "0.22.0",
162162
"cookie": "0.4.1",
@@ -291,8 +291,8 @@
291291
"pnpm": {
292292
"overrides": {
293293
"webpack": "5.98.0",
294-
"browserslist": "4.25.1",
295-
"caniuse-lite": "1.0.30001579",
294+
"browserslist": "4.26.2",
295+
"caniuse-lite": "1.0.30001746",
296296
"@types/node": "20.17.6",
297297
"@babel/core": "7.26.10",
298298
"@babel/parser": "7.27.0",

packages/next/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@
233233
"babel-plugin-transform-define": "2.0.0",
234234
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
235235
"browserify-zlib": "0.2.0",
236-
"browserslist": "4.24.4",
236+
"browserslist": "4.26.2",
237237
"buffer": "5.6.0",
238238
"busboy": "1.6.0",
239239
"bytes": "3.1.1",

packages/next/src/compiled/browserslist/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,2 @@
1-
// Keep in sync with the `.js` file.
2-
declare const MODERN_BROWSERSLIST_TARGET: [
3-
'chrome 64',
4-
'edge 79',
5-
'firefox 67',
6-
'opera 51',
7-
'safari 12',
8-
]
9-
1+
declare const MODERN_BROWSERSLIST_TARGET: Array<string>
102
export default MODERN_BROWSERSLIST_TARGET
Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
// Note: This file is JS because it's used by the taskfile-swc.js file, which is JS.
22
// Keep file changes in sync with the corresponding `.d.ts` files.
3+
34
/**
4-
* These are the browser versions that support all of the following:
5-
* static import: https://caniuse.com/es6-module
6-
* dynamic import: https://caniuse.com/es6-module-dynamic-import
7-
* import.meta: https://caniuse.com/mdn-javascript_operators_import_meta
5+
* These are the minimum browser versions that we consider "modern" and thus compile for by default.
6+
* This list was generated using `pnpm browserslist "baseline widely available"` on 2025-10-01.
87
*/
98
const MODERN_BROWSERSLIST_TARGET = [
10-
'chrome 64',
11-
'edge 79',
12-
'firefox 67',
13-
'opera 51',
14-
'safari 12',
9+
'chrome 111',
10+
'edge 111',
11+
'firefox 111',
12+
'safari 16.4',
1513
]
1614

1715
module.exports = MODERN_BROWSERSLIST_TARGET

0 commit comments

Comments
 (0)