- Turn off npm ci experiment
- Add metadata for build steps (#677)
- Roll out A/B test of npm ci command to 5% of apps (#676)
- Internal fixes (#674, #673)
- Test new A/B testing module (#671, #672)
- 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.