Every file using JSX had to import React even when it never referenced it, because JSX compiled to React.createElement.
// before
import React from 'react';
export const Badge = () => <span />;
// 17, with the automatic runtime
export const Badge = () => <span />;
// babel.config.js
// presets: [['@babel/preset-react', { runtime: 'automatic' }]]
The compiled output imports react/jsx-runtime instead, which is a smaller import and slightly faster. The practical benefit is removing a line from every component file and the ESLint rule that enforced it. A codemod does the removal and it is worth running as its own commit, because otherwise it is noise in every subsequent diff.