A full version history of the @babel/preset-env package with size, number of distributed files and dependency evolution.
@babel/preset-env has undergone significant evolution, introducing features and bug fixes across numerous versions. Initial versions like 7.0.0 focused on establishing core functionality, defining environment presets, and incorporating essential dependencies like semver, browserslist, and various transform plugins for ES2015+ features. Subsequent iterations refined existing transforms, added new language feature support (async/await, object rest/spread), and began integrating core-js for more comprehensive polyfilling. Versions 7.4.0 and onward included a "bugfix" option, and leveraged core-js-compat and @babel/compat-data for browser compatibility, improved developer control, and boosted efficiency, with several 7.4 series revisions addressing specific bug fixes discovered after the initial release. A few peer dependencies get regular update each time there was a version bump. Later releases focused on enhancing modularity, improving performance, and adopting proposals for more advanced ECMAScript features for compatibility with recent browser versions such as core-compat with more than version 3.0.0 of core-js. With each new iteration, the babel team continued to iterate upon this fundamental goal. The latest releases are focused on stability and interoperability. The trend is ongoing and consistent in improving overall performance related to browser compatibility.