All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
4.0.0 (2021-02-10)
- Improve accuracy of JSDoc type annotations (1ec69f0)
- deps: Bump dependencies (affed1c)
- Consume named exports of sibling modules (63499e3)
- deps: @evocateur/libnpmaccess -> libnpmaccess@^4.0.1 (7974b35)
- deps: @evocateur/npm-registry-fetch -> npm-registry-fetch@^9.0.0 (6df42f2)
- deps: @evocateur/pacote -> pacote@^11.1.13 (99b4217)
- deps: execa@^4.1.0 (9051dca)
- deps: fs-extra@^9.0.1 (2f6f4e0)
- deps: npm-package-arg@^8.1.0 (12c8923)
- deps: p-finally -> Promise.prototype.finally() (028db04)
- deps: p-finally@^2.0.1 (165e47e)
- deps: p-map@^4.0.0 (92b1364)
- deps: p-pipe@^3.1.0 (489f59e)
- deps: semver@^7.3.2 (003ad66)
- publish: Remove figgy-pudding (caf823e)
- Drop support for Node v6.x & v8.x (ff4bb4d)
- Node v6.x & v8.x are no longer supported. Please upgrade to the latest LTS release.
Here's the gnarly one-liner I used to make these changes:
npx lerna exec --concurrency 1 --stream -- 'json -I -f package.json -e '"'"'this.engines=this.engines||{};this.engines.node=">= 10.18.0"'"'"
(requires npm i -g json
beforehand)
3.22.1 (2020-06-09)
3.22.0 (2020-05-24)
- publish: Avoid errors when files are ignored by git (#2445) (448f2ae), closes #2151
- publish: Avoid exception when publishing 1st version (#2485) (5d80285)
- publish: Support
--tag-version-prefix
in--canary
mode (#2435) (611c38e)
3.21.0 (2020-05-13)
- publish: Canary releases without previous tags should not explode (c9eb590)
- version: Ignore private packages completely with
--no-private
(a9b9f97)
3.20.2 (2020-01-02)
Note: Version bump only for package @lerna/publish
3.20.1 (2019-12-29)
Note: Version bump only for package @lerna/publish
3.20.0 (2019-12-27)
3.18.5 (2019-11-20)
- Auto-fix prettier formatting (5344820)
3.18.4 (2019-11-08)
Note: Version bump only for package @lerna/publish
3.18.3 (2019-10-22)
Note: Version bump only for package @lerna/publish
3.18.2 (2019-10-21)
Note: Version bump only for package @lerna/publish
3.18.1 (2019-10-15)
Note: Version bump only for package @lerna/publish
3.18.0 (2019-10-15)
- options: Explicit
--ignore-prepublish
(fa21723) - options: Explicit
--ignore-scripts
(efcb3bd) - options: Explicit
--pre-dist-tag
(1d9552c)
3.16.5 (2019-10-07)
Note: Version bump only for package @lerna/publish
3.16.4 (2019-07-24)
- publish: Pass correct arguments to packDirectory() (b1aade3)
3.16.3 (2019-07-23)
- publish: Identify tagged packages correctly with custom
--tag-version-prefix
(f4cbd4d), closes #2195
3.16.2 (2019-07-22)
Note: Version bump only for package @lerna/publish
3.16.1 (2019-07-19)
Note: Version bump only for package @lerna/publish
3.16.0 (2019-07-18)
- deps: Bump
@evocateur/pacote
(03e4797) - deps: Update forked npm libs (4d67426)
- publish: Add
--graph-type
option to control packages included in topological sort (#2152) (ae87669), closes #1437 - publish: Allow
--no-verify-access
to prevent checking for account-level 2FA (ce58d8f) - publish: OTP cache should be seeded from conf value, not CLI directly (cf56622)
- publish: Propagate root license into custom publish directories (d410a58), closes #2157
- deps:
fs-extra@^8.1.0
(313287f) - deps:
p-map@^2.1.0
(9e58394) - deps:
semver@^6.2.0
(d8016d9) - publish: Eager prompt for OTP when account-level 2FA is enabled (4f893d1)
3.15.0 (2019-06-09)
- deps: Consume forked npm libs (bdd4fa1)
3.14.2 (2019-06-09)
3.14.1 (2019-05-15)
Note: Version bump only for package @lerna/publish
3.14.0 (2019-05-14)
- conventional-commits: Add conventional prerelease/graduation (#1991) (5d84b61), closes #1433 #1675
- dist-tag: Prompt for OTP when required (af870bb)
- publish: Add
--otp
option (6fcbc36), closes #2076 - publish: Add just-in-time queue management (ae6471c)
- publish: Add OTP prompt during publish (#2084) (c56bda1), closes #1091
3.13.4 (2019-04-24)
Note: Version bump only for package @lerna/publish
3.13.3 (2019-04-17)
3.13.2 (2019-04-08)
- lifecycles: Avoid duplicating 'rooted leaf' lifecycles (a7ad9b6)
3.13.1 (2019-02-26)
- deps: pacote ^9.5.0 (cdc2e17)
3.13.0 (2019-02-15)
- meta: Add
repository.directory
field to package.json (aec5023) - meta: Normalize package.json
homepage
field (abeb4dc)
3.12.1 (2019-02-14)
Note: Version bump only for package @lerna/publish
3.12.0 (2019-02-14)
- publish: Check for git describe error explicitly (237d1c5)
- publish: Make the missing license warning clearer and more actionable (#1921) (8a71ac4)
- publish: Revert foolhardy refactoring (5e975e0) (a6733a2)
- publish: Add
--git-head
option to preserve gitlessfrom-package
metadata (3d18f2f), closes #1933 - publish: Allow
from-package
positional to run without a git repo (df49bfc), closes #1933
3.11.1 (2019-02-11)
Note: Version bump only for package @lerna/publish
3.11.0 (2019-02-08)
- deps: Explicit libnpmaccess ^3.0.1 (6ba3d1d)
- deps: Explicit libnpmpublish ^1.1.1 (a506d96)
- deps: Explicit npm-package-arg ^6.1.0 (4b20791)
- deps: Explicit npm-registry-fetch ^3.9.0 (a83c487)
- deps: Explicit npmlog ^4.1.2 (571c2e2)
- deps: Explicit pacote ^9.4.1 (44d05bf)
- deps: Remove unused libnpm (replaced by direct sub-packages) (1caeb28)
- publish: Correct silly log heading (f1dc3fc)
3.10.8 (2019-02-01)
3.10.7 (2019-01-22)
Note: Version bump only for package @lerna/publish
3.10.6 (2019-01-19)
- options: Document negated boolean options explicitly (8bc9669)
- publish: Map packument requests concurrently directly from package graph (c79a827)
3.10.5 (2019-01-11)
Note: Version bump only for package @lerna/publish
3.10.3 (2019-01-10)
Note: Version bump only for package @lerna/publish
3.10.1 (2019-01-09)
Note: Version bump only for package @lerna/publish
3.10.0 (2019-01-08)
- publish: Correctly determine canary version when
--include-merged-tags
present (fb2a1b2), closes #1820
3.9.0 (2019-01-08)
Note: Version bump only for package @lerna/publish
3.8.5 (2019-01-05)
- publish: Deprecate
--npm-tag
, replaced by--dist-tag
(196d663) - publish: Ensure pkg.publishConfig is handled correctly when promoting dist-tags (af1c2ad)
- publish: Tweak progress logging (5a04145)
3.8.4 (2019-01-03)
- publish: Pass username to access.lsPackages() (31982a1)
3.8.3 (2019-01-03)
3.8.2 (2019-01-03)
- publish: Avoid recursive root lifecycle execution (e133134)
- publish: Run root prepublish lifecycle if it exists (c5676bb)
3.8.1 (2018-12-31)
- progress: Correctly avoid progress where we don't want it (0de3df9)
- progress: Enable progress during logging setup, correcting default (da81e60)
- publish: --canary should also respect --include-merged-tags (462b15c), closes #1820
3.8.0 (2018-12-21)
- publish: Heighten dist-tag success log level to distinguish from noisy fetch logging (f1f0871)
- publish: Unhide options shared with version command (09fccd3)
3.7.2 (2018-12-21)
- pack-directory: Accept lazy Package, passing directory as second parameter (c6819c0)
- publish: Re-order --git-reset flag in options (0653af9)
- publish: Remove unused --npm-client option (4e7eaef)
3.7.1 (2018-12-20)
- publish: Do not pass this.logger into conf, it does not respect log.level (9bcd503)
- publish: Pulse progress bar during execution (49b8771)
3.7.0 (2018-12-19)
- publish: Remove unused dependency (d4ab6c4)
- publish: Short-circuit retries for npm username validation (ca4dd95)
- npm-publish: Use libnpm/publish instead of subprocess execution (433275e)
- publish: Add npm-session, npm-version, and user-agent fields to libnpm/fetch config (5edb27d)
- publish: Refresh package manifests after prepare/prepublishOnly lifecycle (e6b31f8)
- publish: Use @lerna/pack-directory instead of subprocess npm pack (fd7299f)
- publish: Use libnpm/publish instead of subprocess execution (58fda8d)
3.6.0 (2018-12-07)
- pkg: Exclude mocks from package tarball (4017f37)
- Migrate existing usage to libnpm (0d3a786), closes #1767
- npm-dist-tag: Use fetch API instead of CLI to make changes (54008c6)
- publish: Add a "from-package" positional argument (#1708) (16611be), closes #1648
- publish: Attempt profile retrieval before whoami endpoint during user validation (38097d8)
3.5.1 (2018-11-29)
3.5.0 (2018-11-27)
- publish: Ignore non-release tags when detecting
from-git
(#1782) (3cb7465) - version: Add friendly error message when remote branch doesn't exist (#1741) (cd34b48)
- version: Don't version private packages lacking a version field (#1654) (578bb19)
3.4.3 (2018-10-10)
- publish: Use correct field name when limiting retries (76589d4)
3.4.2 (2018-10-09)
- publish: Prevent retries during access validation so third-party registries are skipped faster (a89ae62)
- publish: Use modern auth resolution (7ba41a6)
3.4.1 (2018-10-04)
- publish: Overwrite Yarn registry proxy when encountered (f7fdc77)
- publish: Set token on npm config, allow third-party registries to remain non-compliant (06a9479)
3.4.0 (2018-09-14)
- publish: Use APIs for validation queries instead of CLI (65fc603)
3.3.2 (2018-09-12)
3.3.1 (2018-09-11)
Note: Version bump only for package @lerna/publish
3.3.0 (2018-09-06)
- describe-ref: Fallback refCount is the number of commits since beginning of repository (6dfea52)
- deps: Upgrade fs-extra to ^7.0.0 (042b1a3)
3.2.1 (2018-08-28)
3.2.0 (2018-08-28)
- publish: Support prepack/postpack lifecycle in root manifest (9df88a4)
3.1.3 (2018-08-21)
Note: Version bump only for package @lerna/publish
3.1.2 (2018-08-20)
- publish: Allow composed version command to decide when to verify working tree (e61aa67)
- Use packageGraph.rawPackageList instead of misleading instance.filteredPackages (2e2abdc)
3.1.0 (2018-08-17)
- command: Detect composed commands more accurately (1e51b39)
- command: Log lerna CLI version with less ambiguity (67494e7)
- publish: Throw errors if --canary attempted on unclean tree or tagged release (5da0e42)
3.0.6 (2018-08-16)
Note: Version bump only for package @lerna/publish
3.0.5 (2018-08-15)
- help: Insert line break before describing boolean negations (da2f886)
- options: Provide -y alias for --yes (3ea460c)
- publish: Add confirmation prompt before execution (47766e5), closes #1566
- publish: Get tagged packages from merge commit (#1567) (fc771d9)
- version: Log skipped publish when composed (89645b7)
3.0.4 (2018-08-14)
- publish: Do not ping third-party registries (42f4fdd), closes #1560
- publish: Only pass
--json
tonpm pack
when npm >= 5.10.0 (71babce), closes #1558 - publish: Run publish from leaf nodes again (3d348ec), closes #1560
3.0.3 (2018-08-11)
3.0.2 (2018-08-11)
- publish: Add default for --tag-version-prefix (f159442)
- publish: Allow disabling of registry and package verification (0bfdff5), closes #1552
3.0.1 (2018-08-10)
- publish: Allow unpublished packages to pass access verification (3a7348c)
3.0.0 (2018-08-10)
- publish: Improve
npm pack
experience (627cfc2)
- Split
lerna version
from oflerna publish
(#1522) (8b97394), closes #277 #936 #956 #961 #1056 #1118 #1385 #1483 #1494 - publish: Run
npm pack
beforenpm publish
(8d80b2c) - publish: Validate npm registry and package access prerequisites (ebc8ba6), closes #55 #1045 #1347
-
--preid
now defaults to "alpha" during prereleases:
The previous default for this option was undefined, which led to an awkward "1.0.1-0" result when passed to
semver.inc()
.The new default "alpha" yields a much more useful "1.0.1-alpha.0" result. Any previous prerelease ID will be preserved, just as it was before.
-
--no-verify
is no longer passed togit commit
by default, but controlled by the new--commit-hooks
option:The previous behavior was too overzealous, and the new option operates exactly like the corresponding npm version option of the same name.
As long as your pre-commit hooks are properly scoped to ignore changes in package.json files, this change should not affect you. If that is not the case, you may pass
--no-commit-hooks
to restore the previous behavior.
3.0.0-rc.0 (2018-07-27)
- core/package: Serialize hosted git URLs with original protocol/shorthand (60ff432), closes #1499
- publish: Add default description 'npm' for --npm-client (649048c)
- publish: Avoid fs-extra warning on 32-bit machines (e908d23)
- publish: Do not leave unstaged changes with --skip-git (2d497ed)
- publish: Exit early when publishing w/o commits (#1453) (6cbae35), closes #773
- publish: Pass --repo-version argument through semver.valid() (272e9f1), closes #1483
- publish: Update lerna.json version after root preversion lifecycle (7b3817c), closes #1495
- collect-updates: Make argument signature explicit (e6ba19f)
- Add description from --help summary [skip ci] (9b65d8e)
- cli: Upgrade to Yargs 12 (7899ab8)
- command: Remove .defaultOptions() from option resolution stack (2b27a54)
- Count packages affected in command summary logging (5f5e585)
- publish: Add --require-scripts option to opt-in to raw JS lifecycle scripts (054392b)
- publish: Add
--amend
flag (#1422) (ef5f0db) - publish: Ensure published packages contain a LICENSE file (#1465) (5863564), closes #1213
- publish: External
$PKGDIR/scripts/{pre,post}publish.js
lifecycles are now opt-in instead of automatic. Pass--require-scripts
explicitly to restore previous functionality. - collect-updates: Instead of an opaque command instance, distinct positional arguments are required.
3.0.0-beta.21 (2018-05-12)
Note: Version bump only for package @lerna/publish
3.0.0-beta.20 (2018-05-07)
Note: Version bump only for package @lerna/publish
3.0.0-beta.19 (2018-05-03)
3.0.0-beta.18 (2018-04-24)
- git-utils: Pass
--follow-tags
togit push
(6907e90)
- command: Move GitUtilities.isInitialized into class method (abecfcc)
- git-utils: Devolve getCurrentSHA() to consumers (ecbc1d3)
- git-utils: Devolve getShortSHA() to consumers (95d179d)
- publish: Move publish-only git utilities (5594749)
- git-utils: Don't use GitUtilities!
- git-utils: Don't use GitUtilities.
- command: GitUtilities.isInitialized no longer exists. You shouldn't be using GitUtilities.
- publish: Many named exports of GitUtilities are no longer provided. Don't use GitUtilities, it's a bad pattern.
3.0.0-beta.17 (2018-04-13)
Note: Version bump only for package @lerna/publish
3.0.0-beta.15 (2018-04-09)
- conventional-commits: Support local file presets (a1bff40)
3.0.0-beta.14 (2018-04-03)
- publish: Ensure optionalDependencies are updated during publish to registry (559b731)
3.0.0-beta.13 (2018-03-31)
- Enable progress bars only when necessary (b766c83)
3.0.0-beta.12 (2018-03-30)
- package: Add
serialize()
method (fdec3ac) - package: Add Map-like get/set methods, remove raw json getter (707d1f0)
- project: Merge
package
andpackageJson
intomanifest
(9a47ff7)
- package: The
Package
class no longer provides direct access to the JSON object used to construct the instance. Map-likeget()
/set(val)
methods are available to modify the internal representation.
3.0.0-beta.11 (2018-03-29)
- publish: Write temporary annotations once, not repeatedly (6abae76)
- Execute atomic publish lifecycle during lerna publish (#1348) (45efa24)
- Support
optionalDependencies
(b73e19d), closes #121
3.0.0-beta.10 (2018-03-27)
- commands: Delay require of command instantiation (a1284f3)
- commands: The default export of command packages is now a factory, not the subclass (which is now a named export).
3.0.0-beta.9 (2018-03-24)
- publish: Split
--skip-*
properly, leave working tree clean (5b4b2c9)
- command: Rename this.repository -> this.project (43e98a0)
- project: Use cosmiconfig to locate and read lerna.json (b8c2789)
- publish: Previously, gitHead annotations were leftover if
--skip-npm
was passed, despite no actual requirement for that property when no publishing is going on.
Now, all publish-related operations are truly skipped with --skip-npm
,
and all git commit/push-related operations are skipped with --skip-git
.
Passing --skip-npm
will now also always push to remote, which represents
a breaking change from 2.x behavior.
Thanks @KingScooty for raising the issue!
3.0.0-beta.8 (2018-03-22)
- utils: Add "vendored" npm-conf (9c24a25)
3.0.0-beta.7 (2018-03-20)
Note: Version bump only for package @lerna/publish
3.0.0-beta.4 (2018-03-19)
Note: Version bump only for package @lerna/publish
3.0.0-beta.3 (2018-03-15)
- Check for upstream changes before attempting to publish (#1317) (cef0a69)
- Upstream changes warn in CI, throw locally (4de055d), closes #1177 #1317
- publish: Add logging when
--skip-git
or--skip-npm
are passed (#1319) (8eef9ff)
3.0.0-beta.2 (2018-03-10)
Note: Version bump only for package @lerna/publish
3.0.0-beta.1 (2018-03-09)
- publish: Checkout manifest changes serially (ce4a4b1)
- publish: default root manifest name when missing (a504d7e), closes #1305
- publish: Respect pkg.publishConfig.tag (04b256a), closes #1311
- publish: work around yarn "link:" intransigency (ddfb517), closes npm/npm#15900 yarnpkg/yarn#4212