v264 - 2024-09-05
- Added Node.js version 22.8.0.
- Fixed issue with auto-detection during Heroku CI runs. (#1313)
- Fail on conflicting package manager metadata in package.json. (#1317)
v263 - 2024-08-27
- Added Node.js version 22.7.0.
- Added Node.js version 20.17.0.
- Added Yarn version 4.4.1.
- Added Yarn version 3.8.5.
- Add support for auto-detecting
pnpm test
during Heroku CI runs. (#1308)
v262 - 2024-08-12
- Added Node.js version 22.6.0.
- Added Yarn version 4.4.0.
- Added Yarn version 3.8.4.
v261 - 2024-07-29
- Added Node.js version 20.16.0.
v260 - 2024-07-19
- Added Node.js version 22.5.1.
- Added warning about Node v22.5.0 issues. (#1299)
v259 - 2024-07-18
- Added Node.js version 22.5.0.
- Skip pruning for pnpm workspace applications. (#1295)
v258 - 2024-07-10
- Export default
NODE_OPTIONS
settings to downstream buildpacks if environment variable is not already set. (#1293)
v257 - 2024-07-09
- Added Node.js version 22.4.1.
- Added Node.js version 20.15.1.
- Added Node.js version 18.20.4.
v256 - 2024-07-03
- Added Node.js version 22.4.0.
- Added Yarn version 4.3.1.
- Added Yarn version 3.8.3.
v255 - 2024-06-21
- Added Node.js version 20.15.0.
v254 - 2024-06-13
- Added Node.js version 22.3.0.
- Added Yarn version 4.3.0.
v253 - 2024-06-10
- Fix to stop package.json type field from influencing corepack binaries. (#1271)
v252 - 2024-05-29
- Added Node.js version 20.14.0.
v251 - 2024-05-22
- Added Node.js version 18.20.3.
v250 - 2024-05-16
- Added Node.js version 22.2.0.
v249 - 2024-05-15
- Skip pnpm pruning if
NODE_ENV
is not set toproduction
or ifPNPM_SKIP_PRUNING
is set totrue
(#1259)
v248 - 2024-05-10
- Added Node.js version 20.13.1.
- Added Node.js version 20.13.0.
- Added Yarn version 4.2.2.
v247 - 2024-05-03
- Added Node.js version 22.1.0.
- Added Yarn version 4.2.1.
- Added Yarn version 4.2.0.
- Added Yarn version 3.8.2.
v246 - 2024-05-02
v245 - 2024-04-29
v244 - 2024-04-25
- Added Node.js version 22.0.0.
- Add support for heroku-24.
v243 - 2024-04-10
- Added Node.js version 21.7.3.
- Added Node.js version 20.12.2.
- Added Node.js version 18.20.2.
v242 - 2024-04-10
v241 - 2024-04-04
- Added Node.js version 21.7.2.
- Added Node.js version 20.12.1.
- Added Node.js version 18.20.1.
v240 - 2024-03-27
- Added Node.js version 20.12.0.
- Added Node.js version 18.20.0.
v239 - 2024-03-11
- Added Node.js version 21.7.1.
- Added Yarn version 1.22.22.
v238 - 2024-03-07
- Added Node.js version 21.7.0.
- Added Yarn version 4.1.1.
- Added Yarn version 3.8.1.
v237 - 2024-02-15
- Added Node.js version 21.6.2.
- Added Node.js version 20.11.1.
- Added Node.js version 18.19.1.
v236 - 2024-02-05
- Added Yarn version 3.8.0.
- Added Yarn version 4.1.0.
- Expand new metrics instrumentation to Node >= 14.10 (#1198)
v235 - 2024-01-24
- Adjust WEB_CONCURRENCY calculations to support larger, memory heavy instances. (#1196)
- Added Node.js version 21.6.1.
v234 - 2024-01-16
- Added Node.js version 21.6.0.
- Added Node.js version 20.11.0.
v233 - 2024-01-02
- Added Node.js version 21.5.0.
v232 - 2023-12-07
- Added Node.js version 21.4.0.
- Added new metrics instrumentation for Node 21. (#1178)
v231 - 2023-12-01
- Updated metrics plugin to v15. (#1184)
- Added Node.js version 21.3.0.
v230 - 2023-11-30
- Added Node.js version 18.19.0.
- Updated metrics plugin to v14 (#1180)
v229 - 2023-11-27
- Added Node.js version 21.2.0.
- Added Node.js version 20.10.0.
- Added Yarn version 4.0.2.
- Added Yarn version 3.7.0.
- Added Yarn version 1.22.21.
- Added Yarn version 1.22.20.
v228 - 2023-10-31
- Update default node version to 20.x (#1171)
- Added Yarn version 4.0.1.
v227 - 2023-10-26
- Added Yarn version 4.0.0.
- Added Node.js version 21.1.0.
- Added Node.js version 20.9.0.
v226 - 2023-10-19
- Added Node.js version 21.0.0.
- Add metrics and tests for Node.js 21. (#1161)
v225 - 2023-10-17
- Added Node.js version 20.8.1.
- Added Node.js version 18.18.2.
v224 - 2023-10-11
- Added Node.js version 18.18.1.
- Report errors when checking
npm
andyarn
output (#1147)
v223 - 2023-10-04
- Added Node.js version 20.8.0.
- Added Yarn version 3.6.4.
- Added Yarn version 4.0.0-rc.52.
- Added Yarn version 4.0.0-rc.53.
v222 - 2023-09-25
- Fixed issue where npm versions
>=10
were being downgraded to version5.x
(#1141)
v221 - 2023-09-19
- Improved error messaging when installing an incompatible npm version.
- Added Node.js version 18.18.0.
- Added Node.js version 20.7.0.
- Added Yarn version 3.6.2.
- Added Yarn version 3.6.3.
- Added Yarn version 4.0.0-rc.49
- Added Yarn version 4.0.0-rc.50
- Added Yarn version 4.0.0-rc.51
v220 - 2023-09-13
- Added Node.js version 20.6.0.
- Added Node.js version 20.6.1.
v219 - 2023-08-10
- Added Node.js version 16.20.2.
- Added Node.js version 18.17.1.
- Added Node.js version 20.5.1.
v218 - 2023-07-24
- Added Node.js version 20.5.0.
v217 - 2023-07-19
- Added Node.js version 18.17.0.
v216 - 2023-07-07
- Added Node.js version 20.4.0.
- Added Yarn version 3.6.1.
v215 - 2023-06-21
- Added Node.js version 20.3.1, 18.16.1, 16.20.1.
v214 - 2023-06-20
- Added Yarn version 4.0.0-rc.45.
- Added Node.js version 20.3.0.
v213 - 2023-05-24
- Added node version 20.2.0.
- Added yarn version 4.0.0-rc.44.
v212 - 2023-05-09
- Added node version 20.1.0.
- Added yarn version 4.0.0-rc.43, 3.5.1.
- Drop all support and references to the now end-of-life heroku-18.
v211 - 2023-04-20
- Add metrics and tests for Node.js 20.x line
v210 - 2023-04-20
- Added node version 20.0.0.
v209 - 2023-04-17
- Added node version 18.16.0.
v208 - 2023-04-11
- Added node version 19.9.0.
v207 - 2023-04-03
- Added node version 16.20.0.
- Added yarn version 4.0.0-rc.42, 4.0.0-rc.41.
v206 - 2023-03-24
- Added node versions 19.8.0, 19.8.1
- Added yarn version 3.5.0
v205 - 2023-03-13
- Added node version 18.15.0
- Added yarn version 4.0.0-rc.40
v204 - 2023-03-03
- Switch to inventory-based Node.js and Yarn version resolver (#1061)
v203 - 2023-02-10
- Allow yarn version selection for yarn berry projects (#1060)
v202 - 2022-11-03
- Update go to 1.19 and recompile resolve-version (#1050)
v201 - 2022-10-19
- Add metrics and tests for Node.js 19.x line (#1046)
- Update default node version to 18.x for heroku-20 and newer (#1045)
v200 - 2022-10-19
- Dependency pruning support for Yarn 2 / 3 / 4 (#1040)
v199 - 2022-10-03
- Remove dependency on semver.herokuapp.com (#1037)
v198 - 2022-06-15
- Adjust curl retry and connection timeout handling (#1017)
jq
is no longer installed by the buildpack(#1016)- Switch away from deprecated path-based S3 URLs (#1013)
v197 - 2022-06-07
- Drop the
yarn-native-cache
feature flag (#1004) - Fix for
npm ci
caching (#1009) - Fix skip pruning behavior with Yarn 2 (#1008)
v196 - 2022-05-31
- Add metrics plugin for Node 17 and 18 (#1002)
- Add warning message for Node 18+ incompatibility with heroku-18 (#1002)
- Enable Yarn 2
devDependency
pruning using a custom plugin for all customers (#1001) - Test against Heroku-22 (#1003)
v195 - 2022-04-13
- Enable Yarn 2
devDependency
pruning using a custom plugin for 20% of customers (#999) - Set xtrace mode in buildpack when BUILDPACK_XTRACE environment variable is set (#925)
v194 - 2022-03-30
- Rollback to v192 due to an edge case with yarn 2 pruning that would cause all devDependencies to be installed
v193 - 2022-03-28
- Added Yarn 1.22.18 to
inventory/yarn.toml
(#992) - Fix issue with pruning yarn 2 cache when using the workspaces plugin (#990)
v192 - 2022-02-16
- Fix issue with nested yarn cache during cache restoration (#987)
- Fix issue with nested yarn caches and cache growth (#985)
v191 - 2022-02-14
- Improve support for yarn 2+ installs (#978)
v190 - 2022-01-31
v189 - 2021-09-14
- Revert non-zero-install support from #888 (#944)
v188 - 2021-09-10
- Update Node version inventory, includes 12.22.6, 14.17.6, 16.8.0, 16.7.0 and others (#940)
- Support non-zero-install support for Yarn 2 (#888)
v187 - 2021-09-02
- Upgrade heroku_hatchet to 7.3.4 to get CI green again (#936)
- Fix typo in conflicting lockfile failure message (#901)
- Use local packages with Yarn when present (#913)
- Add support for running "npm ci" when "npm-shrinkwrap.json" is found on the project directory (#938)
v186 - 2021-08-11
- Refactor $WEB_CONCURRENCY logic (#931)
- Fix broken tests, update node and yarn inventory, update shunit2 (#934)
- Fix NODE_BINARY_URL extraction prefix stripping logic (#928)
v185 - 2021-06-03
v184 - 2021-05-20
- Prune devDependencies with Yarn 2 (#891)
- Add 10.x, 12.x, and 14.x to inventory (902)
- Fix yarn workspace plugin detection (#905)
v183 - 2021-02-03
- Update node version to 14 (#885)
- Add unit tests around the behavior of
WEB_CONCURRENCY
(#876) - Add Node v15.6.0 to inventory (#892)
- add Node 10.23.2 and 15.7.0 to inventory (#894)
- Update Node.js plugin for Node 15; Add tests for Node 15 (#895)
- Log the build time in a failed build (#896)
- Add Node v15.8.0 to inventory (#897)
v182 - 2021-01-05
- add Node 14.15.3 and 15.5.0 to inventory (#881)
- Report on parsing errors for
resolve-version.rs
(#883) - Add an environment variable for using npm install (instead of npm ci) (#882)
- add Node 10.23.1, 12.20.1, 14.15.4, and 15.5.1 to inventory (#886)
v181 - 2020-12-16
v180 - 2020-12-09
- add Node 15.4.0 to inventory (#873)
v179 - 2020-12-07
- Fix syntax for passing in script flags for npm build script (#869)
- add Node 15.3.0 and 12.20.0 to inventory (#870)
v178 - 2020-11-17
- Add NODE_BUILD_FLAG env var (#859)
- Add 12.19.1, 14.15.1, and 15.2.1 to inventory for security releases (#865)
v177 - 2020-11-12
- add Node 15.2.0 to inventory (#861)
- Use jq from the stack image (#854)
- Start testing new
resolve
binaries with inventory lists for Node and Yarn (#855) - Follow up to #855 to send captured data with bin/report (#858)
v176 - 2020-09-10
- Only run immutable cache in yarn 2 if caching enabled (#832)
- Added Hatchet regression tests (#833)
- Delete unused fixtures (#835)
- Expand
npm ci
usage to 100% of builds (#842)
v175 - 2020-08-13
- Install Yarn version at 1.22.x when not specified in package.json engines (#817)
- Run
yarn install
for all Yarn 2 builds (#819) - Change all references from Yarn2 to Yarn 2 (#824)
- Support Yarn 2 node modules (#821)
- Detect for "node-modules" nodeLinker for Yarn 2 (#828)
v174 - 2020-07-23
- provide custom binary url for node and yarn binary downloads (#804)
- allow skipping node_modules removal with SKIP_NODE_MODULES_CHECK (#798)
- expand npm ci usage to 75% of builds (#812)
v173 - 2020-07-16
- update docs URL when node modules are checked into git (#794)
- move disabling yarn caching YARN_CACHE env var (#796)
- use meta_get "node-package-manager" for reporting (#802)
- change YARN_CACHE to USE_YARN_CACHE env var (#803)
- create a pull request to merge Yarn 2 support (#795)
- edits to Yarn 2 info and warning messaging (#806)
- Add warning for detection of Yarn 2 usage with caching (#755)
- Add warning for Yarn 2 usage, warn user of ignoring engine from package.json (#761)
- Add warning for if .npmrc file exists when using Yarn 2 (#764)
- Add warning for if .yarnrc file exists when using Yarn 2 (#768)
- Add checks for Yarn 2 (#759)
- Turn off production and ignore-script flags for Yarn 2 and add global vendored yarn alias (775)
- Set
$YARN
to false when$YARN2
is true (#776) - Skip writing to the cache and pruning of the node modules when Yarn 2 is used (#785)
- Test use of packages in
.yarn/release
directory (#786)
v172 - 2020-05-28
- display yarn engine log to build output when engine is provided in monorepo (#771)
- move proxy issues section from readme to dev center (#778)
- warn when NO_PROXY is not set to "amazonaws.com" and HTTP_PROXY or HTTPS_PROXY is set (#782)
- add heroku cleanup script (#788)
- add a build step for cleanup script and output to log file (#790)
v171 - 2020-04-27
- Update Travis badge to
master
and other changes in README (#753) - Up feature flag test groups (#758)
- Add Heroku-20 to the Travis test matrix (#763)
- Add Node 14 plugin and rebuild 10, 12, and 13; Remove rebuilding of 8, 9, and 11 (#767)
- Add spec support for Node 13 and 14 (#766)
v170 - 2020-03-31
- Bump rake from 12.3.1 to 12.3.3 (#742)
- Upgrade Go to 1.14 (#744)
- Bump
npm ci
usage for installing dependencies to 20% (#745) - Detect Yarn 2 usage, produce error message, and fail build (until supported) (#746)
- Compress yq binaries (#748)
- Move etc/vendor to lib/vendor (#750)
v167 - 2020-02-06
v166 - 2019-12-16
v165 - 2019-10-24
v164 - 2019-10-17
- Avoid issues in environments requiring proxies for all connections (#708)
- Extend metadata module in preparation for bin/report work (#709)
- Vendor the buildpack stdlib (#710)
- Check the status code when listing S3 buckets (#711)
- Rename script monitoring metadata (#719)
- Extend bin/report (#718)
v163 - 2019-09-12
- Add a minimal version of bin/report. Not user-facing (#700)
v162 - 2019-09-03
- Replace broken kb.heroku.com links with help.heroku.com shortlinks (#698)
v161 - 2019-08-15
- Expand A/B test of native yarn caching to 50% of apps (#695)
v160 - 2019-08-07
- Roll out A/B test of native yarn caching to a small set of apps (#693)
v159 - 2019-08-01
- Updates to metadata saved (#689, #690)
- Add native yarn cache caching behind a flag (#691)
v158 - 2019-07-10
- Don't suppress curl errors (#680)
- Add logging to track yarn workspace usage (#685)
- Log out number of js, jsx, and ts files (#686)
v157 - 2019-06-17
- Prevent
HTTP_PROXY
env var from blocking version-resolution binary
v156 - 2019-06-12
- Turn off npm ci experiment
v155 - 2019-06-06
- Add metadata for build steps (#677)
v154 - 2019-06-05
- Roll out A/B test of npm ci command to 5% of apps (#676)
- Internal fixes (#674, #673)
v153 - 2019-05-30
- Test new A/B testing module (#671, #672)
v152 - 2019-05-28
- Replace nodebin usage in hatchet tests (#669)
- Add ability to list all node or yarn releases (#668)
- Deprecate nodebin in favor of go binary (#667)
- Resolve more inconsistencies with version selection (#666)
- Resolve the known behavior mismatches between nodebin and the go logic (#664)
- Dark-launch new semver matching logic for node binaries (#663)
- Dark-launch new semver matching logic for yarn binaries (#661)
- Add node 12.x as a supported version for Node Metrics beta (#662)
- Deprecate io.js as an alternative runtime (#658)
- Prototyping new version resolution approach to replace Nodebin (#649 - #657)
- Separate prebuild step in log output (#646)
- Clean up script metrics and logging (#647)
- Remove temporary wraning about "run build" change (#644)
- Internal logging changes (#637, #631, #630)
- Add temporary warning about "run build" when the build fails as well (#639)
- Add temporary warning about "run build" change to log output (#636)
- Run the build script by default (#628)
- Make breaking change warning header brighter (#627)
- Add new Build header (#625)
- Fix yarn run error when script is empty string (#624)
- Internal logging changes (#620, #618, #621)
- Detect build scripts even when they are empty (#617)
- Add warning for the upcoming run build change (#616)
- Fix bug where failing builds on CI would not fail CI (#613)
- Internal logging changes (#596, #600)
- Internal changes (#593, #591)
- Handle
$MEMORY_AVAILABLE
whenmemory.limit_in_bytes
is nonsensically large (#531)
- Add warning for flatmap-stream 404 failure (#590)
- Quietly add new build script behavior behind a flag (#584, #585)
- Move cache directory layout (#587)
- Improve bin/detect error messages (#575)
- Add support for Node 11 (#578, #582, #580)
- Update default Node version to 10.x
- Unpin Yarn from 1.9.x (#569)
- Fix a bug with formatting (#572)
- internal changes (#567)
- Default to Yarn 1.9.x to avoid a bug (#568)
- interal changes (#566)
- Icrease Node memory default during builds (#561)
- Rework output when caching directories (#559)
- Only write export script if directory is writeable (#539)
- Testing changes (#552, #557, #558)
- Upgrade the Node Metrics plugin (#564)
- Fix issue with old Node and metrics plugin (#555)
- Add plugin for Node.js Language Metrics
- Internal logging changes
- Internal logging changes
- Skip pruning if
NPM_CONFIG_PRODUCTION
orYARN_PRODUCTION
is defined (#529)
- Skip pruning for versions of npm with known issues with git submodules (#528)
- Add timing metrics (#527)
- Install and prune devDependencies by default (#519)
- [Breaking] Stop setting the env var
NPM_CONFIG_PRODUCTION=true
by default
- Fix issue with
NODE_ENV
in CI (#513)
- Fix bug with previous default cache directories fix for npm and yarn (#511)
- Fix metrics typo (#510)
- Add metrics to track new types of failure (#509)
- Don't default to npm 5.x if the user already has npm >= 5 (#499)
- Bump default version of Node to Node 8 (#497)
- Move default Yarn and npm cache directories to a temporary dir (#459)
LOG_CONCURRENCY
fix (#475)- Default Yarn to
1.x
- Add
BUILD_DIR
to env var blacklist
- Move
WEB_CONCURRENCY
logic to separate file (#467) - Temporarily default Yarn to known-good version
- Improve error messages when bin version requirements are invalid (#457)
- Switch to using nodebin to download the node binary (#451)
- Add
$STACK
to the cache signature (#445) - Log output now differentiates between an empty cache and a new cache signature (#448)
- Remove the use of semver.io to bootstrap npm (#452)
- Switch to using nodebin to download iojs binaries (#450)
- Switch to using nodebin to download the yarn binary (#444)
- Default to npm v5 if
package-lock.json
is present (#429)
- Break the build if yarn and npm lockfiles are both included (#411)
- Add
$PREBUILD
to cache signature (#405) - Check for
.heroku/node
existence (#384) - Add
NODE_ENV=test
totest-compile
(#403) - Install
yarn
if a version is defined inengines
(#404)
- Instrument metrics logging
- Undo the Prepend a leading 0 to
WEB_CONCURRENCY
change
- Use yarn in CI tests if available
- Prepend a leading 0 to
WEB_CONCURRENCY
- Default to the latest LTS node version (6.x)
- Cache node_modules
- No longer run
yarn check
- Clear caches from the slug
- Warn, rather than failing, on a failed
yarn check
- Use cache directories instead of node_modules
- Use yarn, if available, as part of the cache signature
- Warn about yarn's youth and evolution on build failures
- Link to opt-out of yarn instructions
- Use
yarn list
instead ofyarn ls
- Hide final dep tree listings under a
NODE_VERBOSE
flag
- Warn on yarn NODE_ENV and NPM_CONFIG incompatibility
- Pass --ignore-engines flag to yarn to avoid hard failures
- Use yarn instead of npm if yarn.lock file is present
- Do not fail build on output errors
- Do not prune before install (shrinkwrap unsupported by prune)
- Extended warnings (missing dependencies, econnreset, no start)
- Remove hard limit on WEB_CONCURRENCY (32)
- Blacklists the LANG env var
- Adds heroku-prebuild script
- Adds heroku-postbuild script
- Retries all curl requests
- Use HTTPS for node binary downloads again
Several edge-case fixes
- Enables compiling the same directory multiple times
- Updates tests for Node v5
- Moves node_modules/.bin binaries to last on the PATH
Fixes piped output buffering issues
Fixes piped output buffering issues (unsuccessful)
Replaces sed with awk for output formatting
- large output (from assets or npm 3) was crashing sed ('resource unavailable')
Caching improvements
- Fixes modules-checked-in reference URL
- When cache restoration is disabled, empties the cache instead of saving it
- Adds bower_components as a default cache target
Detects bower+angular resolution failures Detects missing grunt/gulp/bower failures
Supports WEB_CONCURRENCY=28 for Performance-L dynos
Fixes not defaulting to NODE_ENV=production
during runtime
Supports WEB_CONCURRENCY for Performance-M dynos
Defaults node environment to 'production'; bugfixes
- Fix runtime signature cache invalidation
- Provide error messaging for un-downloadable binaries
- Default to NODE_ENV=production for both build and runtime
- heroku#60
Npm bootstrapping skipped when using iojs.
- Fixes heroku#202
Refactor to bring caching logic to the forefront.
- Fixes cachDirectories issues
- Addresses heroku#231
- Addresses heroku#226
- Simplifies detect (package.json required)
Updated build failure and help messaging.
Updated messaging.
Disables cache restoration if node_modules already exists.
Accepts cacheDirectories
array in package.json to override default node_modules
caching.