Major Changes
-
b4ed720: Drop CommonJS: the package is now ESM-only.
semantic-releasehas loaded plugins with dynamicimport()since v20
(lib/plugins/utils.js),
so an ESM-only plugin works on every semantic-release version that is still
supported. The previous CJS build was in fact already unusable: both runtime
dependencies (@semantic-release/errorv4 andenv-civ11) are ESM-only, so a
require()of the olddist-es5/index.jsfailed regardless.What changed
"type": "module", andmain/typingsare replaced by anexportsmap with
norequirecondition.- The build output moved from
dist-es5/todist/, and the compile target
moved fromes2015toes2023withmodule/moduleResolutionset to
nodenext. tsconfig.es5.jsonwas renamed totsconfig.build.json.
Migration
- Consumers on
semantic-releasev20 or later need no change; keep listing
semantic-release-bambooinverifyConditionsas before. - Consumers on
semantic-releasev19 or earlier must upgradesemantic-release.
v19 resolves plugins withrequire()and cannot load this package. - Anyone importing the module directly must use
import, notrequire, and must
drop any deep import ofsemantic-release-bamboo/dist-es5/...; only the package
root and./package.jsonare exported.
Patch Changes
-
2b610aa: Declare a supported Node range:
^20.19.0 || ^22.13.0 || >=24.Every version in that range has unflagged
require(esm), so a CommonJS consumer's
require()of this now-ESM-only package resolves rather than throwingERR_REQUIRE_ESM.
Node 18 (EOL April 2025) and Node 20.0–20.18 are excluded becauserequire()hard-fails there.