Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@lerna/version

lerna3.2mMITdeprecated6.6.2

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

Bump version of packages changed since the last release

lerna, command

readme

lerna version

Bump version of packages changed since the last release

Usage

lerna version 1.0.1 # explicit
lerna version patch # semver keyword
lerna version       # select from prompt(s)

When run, this command does the following:

  1. Identifies packages that have been updated since the previous tagged release.
  2. Prompts for a new version.
  3. Modifies package metadata to reflect new release, running appropriate lifecycle scripts in root and per-package.
  4. Commits those changes and tags the commit.
  5. Pushes to the git remote.

Positionals

semver bump

lerna version [major | minor | patch | premajor | preminor | prepatch | prerelease]
# uses the next semantic version(s) value and this skips `Select a new version for...` prompt

When this positional parameter is passed, lerna version will skip the version selection prompt and increment the version by that keyword. You must still use the --yes flag to avoid all prompts.

Prerelease

If you have any packages with a prerelease version number (e.g. 2.0.0-beta.3) and you run lerna version with and a non-prerelease bump (major, minor, or patch), it will publish those previously pre-released packages as well as the packages that have changed since the last release.

For projects using conventional commits, use the following flags for prerelease management:

Running lerna version --conventional-commits without the above flags will release current changes as prerelease only if the version is already in prerelease.

Options

--allow-branch <glob>

A whitelist of globs that match git branches where lerna version is enabled. It is easiest (and recommended) to configure in lerna.json, but it is possible to pass as a CLI option as well.

{
  "command": {
    "version": {
      "allowBranch": "main"
    }
  }
}

With the configuration above, the lerna version will fail when run from any branch other than main. It is considered a best-practice to limit lerna version to the primary branch alone.

{
  "command": {
    "version": {
      "allowBranch": ["main", "feature/*"]
    }
  }
}

With the preceding configuration, lerna version will be allowed in any branch prefixed with feature/. Please be aware that generating git tags in feature branches is fraught with potential errors as the branches are merged into the primary branch. If the tags are "detached" from their original context (perhaps through a squash merge or a conflicted merge commit), future lerna version executions will have difficulty determining the correct "diff since last release."

It is always possible to override this "durable" config on the command-line. Please use with caution.

lerna version --allow-branch hotfix/oops-fix-the-thing

--amend

lerna version --amend
# commit message is retained, and `git push` is skipped.

When run with this flag, lerna version will perform all changes on the current commit, instead of adding a new one. This is useful during Continuous integration (CI) to reduce the number of commits in the project's history.

In order to prevent unintended overwrites, this command will skip git push (i.e., it implies --no-push).

--build-metadata

lerna version --build-metadata 001

Build metadata must be SemVer compatible. When provided it will apply to all updated packages, irrespective of whether independent or fixed versioning is utilised. If prompted to choose package version bumps, you can request a custom version to alter or remove build metadata for specific packages.

--changelog-preset

lerna version --conventional-commits --changelog-preset angular-bitbucket

By default, the changelog preset is set to angular. In some cases you might want to change either use a another preset or a custom one.

Presets are names of built-in or installable configuration for conventional changelog. Presets may be passed as the full name of the package, or the auto-expanded suffix (e.g., angular is expanded to conventional-changelog-angular).

This option is can also be specified in lerna.json configuration:

{
  "changelogPreset": "angular"
}

If the preset exports a builder function (e.g. conventional-changelog-conventionalcommits), you can specify the preset configuration too:

{
  "changelogPreset": {
    "name": "conventionalcommits",
    "issueUrlFormat": "{{host}}/{{owner}}/{{repository}}/issues/{{id}}"
  }
}

--conventional-commits

lerna version --conventional-commits

When run with this flag, lerna version will use the Conventional Commits Specification to determine the version bump and generate CHANGELOG.md files.

Passing --no-changelog will disable the generation (or updating) of CHANGELOG.md files.

--conventional-graduate

lerna version --conventional-commits --conventional-graduate=package-2,package-4

# force all prerelease packages to be graduated
lerna version --conventional-commits --conventional-graduate

When run with this flag, lerna version will graduate the specified packages (comma-separated) or all packages using *. This command works regardless of whether the current HEAD has been released, similar to --force-publish, except that any non-prerelease packages are ignored. If changes are present for packages that are not specified (if specifying packages), or for packages that are not in prerelease, those packages will be versioned as they normally would using --conventional-commits.

"Graduating" a package means bumping to the non-prerelease variant of a prerelease version, eg. `package-1@1.0.0-alpha.0 => package-1@1.0.0`.

NOTE: when specifying packages, dependents of specified packages will be released, but will not be graduated.

--conventional-prerelease

lerna version --conventional-commits --conventional-prerelease=package-2,package-4

# force all changed packages to be prereleased
lerna version --conventional-commits --conventional-prerelease

When run with this flag, lerna version will release with prerelease versions the specified packages (comma-separated) or all packages using *. Releases all unreleased changes as pre(patch/minor/major/release) by prefixing the version recommendation from conventional-commits with pre, eg. if present changes include a feature commit, the recommended bump will be minor, so this flag will result in a preminor release. If changes are present for packages that are not specified (if specifying packages), or for packages that are already in prerelease, those packages will be versioned as they normally would using --conventional-commits.

--conventional-bump-prerelease

lerna version --conventional-commits --conventional-prerelease --conventional-bump-prerelease

When run with this flag, lerna version will release with bumped prerelease versions even if already released packages are prereleases. Releases all unreleased changes as pre(patch/minor/major/release) by prefixing the version recommendation from conventional-commits with pre, eg. if present changes include a feature commit, the recommended bump will be minor, so this flag will result in a preminor release. If not used just a prerelease bump will be applied to prereleased packages.

Changes:
 - major: 1.0.0-alpha.0 => 2.0.0-alpha.0
 - minor: 1.0.0-alpha.0 => 1.1.0-alpha.0
 - patch: 1.0.0-alpha.0 => 1.0.1-alpha.0

--create-release <type>

lerna version --conventional-commits --create-release github
lerna version --conventional-commits --create-release gitlab

When run with this flag, lerna version will create an official GitHub or GitLab release based on the changed packages. Requires --conventional-commits to be passed so that changelogs can be generated.

To authenticate with GitHub, the following environment variables can be defined.

  • GH_TOKEN (required) - Your GitHub authentication token (under Settings > Developer settings > Personal access tokens), please give it repo:public_repo scope when create the token.
  • GHE_API_URL - When using GitHub Enterprise, an absolute URL to the API.
  • GHE_VERSION - When using GitHub Enterprise, the currently installed GHE version. Supports the following versions.

To authenticate with GitLab, the following environment variables can be defined.

  • GL_TOKEN (required) - Your GitLab authentication token (under User Settings > Access Tokens).
  • GL_API_URL - An absolute URL to the API, including the version. (Default: https://gitlab.com/api/v4)

NOTE: When using this option, you cannot pass --no-changelog.

--exact

lerna version --exact

When run with this flag, lerna version will specify updated dependencies in updated packages exactly (with no punctuation), instead of as semver compatible (with a ^).

For more information, see the package.json dependencies documentation.

--force-publish

lerna version --force-publish=package-2,package-4

# force all packages to be versioned
lerna version --force-publish

When run with this flag, lerna version will force publish the specified packages (comma-separated) or all packages using *.

This will skip the lerna changed check for changed packages and forces a package that didn't have a git diff change to be updated.

--git-tag-command <cmd>

Allows users to specify a custom command to be used when applying git tags. For example, this may be useful for providing a wrapper command in CI/CD pipelines that have no direct write access.

lerna version --git-tag-command "git gh-tag %s -m %s"

This can also be configured in lerna.json.

{
  "command": {
    "version": {
      "gitTagCommand": "git gh-tag %s -m %s"
    }
  }
}

--git-remote <name>

lerna version --git-remote upstream

When run with this flag, lerna version will push the git changes to the specified remote instead of origin.

--ignore-changes

Ignore changes in files matched by glob(s) when detecting changed packages.

lerna version --ignore-changes '**/*.md' '**/__tests__/**'

This option is best specified as root lerna.json configuration, both to avoid premature shell evaluation of the globs and to share the config with lerna diff and lerna changed:

{
  "ignoreChanges": ["**/__fixtures__/**", "**/__tests__/**", "**/*.md"]
}

Pass --no-ignore-changes to disable any existing durable configuration.

In the following cases, a package will always be published, regardless of this option:

  1. The latest release of the package is a prerelease version (i.e. 1.0.0-alpha, 1.0.0–0.3.7, etc.).
  2. One or more linked dependencies of the package have changed.

--ignore-scripts

When passed, this flag will disable running lifecycle scripts during lerna version.

--include-merged-tags

lerna version --include-merged-tags

Include tags from merged branches when detecting changed packages.

--message <msg>

This option is aliased to -m for parity with git commit.

lerna version -m "chore(release): publish %s"
# commit message = "chore(release): publish v1.0.0"

lerna version -m "chore(release): publish %v"
# commit message = "chore(release): publish 1.0.0"

# When versioning packages independently, no placeholders are replaced
lerna version -m "chore(release): publish"
# commit message = "chore(release): publish
#
# - package-1@3.0.1
# - package-2@1.5.4"

When run with this flag, lerna version will use the provided message when committing the version updates for publication. Useful for integrating lerna into projects that expect commit messages to adhere to certain guidelines, such as projects which use commitizen and/or semantic-release.

If the message contains %s, it will be replaced with the new global version version number prefixed with a "v". If the message contains %v, it will be replaced with the new global version version number without the leading "v". Note that this placeholder interpolation only applies when using the default "fixed" versioning mode, as there is no "global" version to interpolate when versioning independently.

This can be configured in lerna.json, as well:

{
  "command": {
    "version": {
      "message": "chore(release): publish %s"
    }
  }
}

--no-changelog

lerna version --conventional-commits --no-changelog

When using conventional-commits, do not generate any CHANGELOG.md files.

NOTE: When using this option, you cannot pass --create-release.

--no-commit-hooks

By default, lerna version will allow git commit hooks to run when committing version changes. Pass --no-commit-hooks to disable this behavior.

This option is analogous to the npm version option --commit-hooks, just inverted.

--no-git-tag-version

By default, lerna version will commit changes to package.json files and tag the release. Pass --no-git-tag-version to disable the behavior.

This option is analogous to the npm version option --git-tag-version, just inverted.

--no-granular-pathspec

By default, lerna version will git add only the leaf package manifests (and possibly changelogs) that have changed during the versioning process. This yields the equivalent of git add -- packages/*/package.json, but tailored to exactly what changed.

If you know you need different behavior, you'll understand: Pass --no-granular-pathspec to make the git command literally git add -- .. By opting into this pathspec, you MUST HAVE ALL SECRETS AND BUILD OUTPUT PROPERLY IGNORED, OR IT WILL BE COMMITTED AND PUSHED.

This option makes the most sense configured in lerna.json, as you really don't want to mess it up:

{
  "version": "independent",
  "granularPathspec": false
}

The root-level configuration is intentional, as this also covers the identically-named option in lerna publish.

--no-private

By default, lerna version will include private packages when choosing versions, making commits, and tagging releases. Pass --no-private to disable this behavior.

Note that this option does not exclude private scoped packages, only those with a "private": true field in their package.json file.

--no-push

By default, lerna version will push the committed and tagged changes to the configured git remote. Pass --no-push to disable this behavior.

--npm-client-args

This option allows arguments to be passed to the npm install that lerna version performs to update the lockfile.

For example:

lerna version 3.3.3 --npm-client-args=--legacy-peer-deps

lerna version 3.3.3 --npm-client-args="--legacy-peer-deps,--force"

lerna version 3.3.3 --npm-client-args="--legacy-peer-deps --force"

This can also be set in lerna.json:

{
  ...
  "npmClientArgs": ["--legacy-peer-deps", "--production"]
}

or specifically for the version command:

{
  ...
  "command": {
    "version": {
      "npmClientArgs": ["--legacy-peer-deps", "--production"]
    }
  }
}

--preid

lerna version prerelease
# uses the next semantic prerelease version, e.g.
# 1.0.0 => 1.0.1-alpha.0

lerna version prepatch --preid next
# uses the next semantic prerelease version with a specific prerelease identifier, e.g.
# 1.0.0 => 1.0.1-next.0

When run with this flag, lerna version will increment premajor, preminor, prepatch, or prerelease semver bumps using the specified prerelease identifier.

--signoff-git-commit

Adds the --signoff flag to the git commit done by lerna version when executed.

Note: This is different from --sign-git-commit which is about gpg signatures.

--sign-git-commit

This option is analogous to the npm version option of the same name.

--sign-git-tag

This option is analogous to the npm version option of the same name.

--force-git-tag

This option replaces any existing tag instead of failing.

--tag-version-prefix

This option allows to provide custom prefix instead of the default one: v.

Keep in mind that currently you have to supply it twice: for version command and for publish command:

# locally
lerna version --tag-version-prefix=''
# on ci
lerna publish from-git --tag-version-prefix=''

--yes

lerna version --yes
# skips `Are you sure you want to publish these packages?`

When run with this flag, lerna version will skip all confirmation prompts. Useful in Continuous integration (CI) to automatically answer the publish confirmation prompt.

Deprecated Options

--cd-version

Pass the semver keyword to the bump positional instead.

--repo-version

Pass an explicit version number to the bump positional instead.

--skip-git

Use --no-git-tag-version and --no-push instead.

NOTE: This option does not restrict all git commands from being executed. git is still required by lerna version.

Tips

Generating Initial Changelogs

If you start using the --conventional-commits option after the monorepo has been active for awhile, you can still generate changelogs for previous releases using conventional-changelog-cli and lerna exec:

# Lerna does not actually use conventional-changelog-cli, so you need to install it temporarily
npm i -D conventional-changelog-cli
# Documentation: `npx conventional-changelog --help`

# fixed versioning (default)
# run in root, then leaves
npx conventional-changelog --preset angular --release-count 0 --outfile ./CHANGELOG.md --verbose
npx lerna exec --concurrency 1 --stream -- 'conventional-changelog --preset angular --release-count 0 --commit-path $PWD --pkg $PWD/package.json --outfile $PWD/CHANGELOG.md --verbose'

# independent versioning
# (no root changelog)
npx lerna exec --concurrency 1 --stream -- 'conventional-changelog --preset angular --release-count 0 --commit-path $PWD --pkg $PWD/package.json --outfile $PWD/CHANGELOG.md --verbose --lerna-package $LERNA_PACKAGE_NAME'

If you use a custom --changelog-preset, you should change --preset value accordingly in the example above.

Lifecycle Scripts

// preversion:  Run BEFORE bumping the package version.
// version:     Run AFTER bumping the package version, but BEFORE commit.
// postversion: Run AFTER bumping the package version, and AFTER commit.

Lerna will run npm lifecycle scripts during lerna version in the following order:

  1. Detect changed packages, choose version bump(s)
  2. Run preversion lifecycle in root
  3. For each changed package, in topological order (all dependencies before dependents):
    1. Run preversion lifecycle
    2. Update version in package.json
    3. Run version lifecycle
  4. Run version lifecycle in root
  5. Add changed files to index, if enabled
  6. Create commit and tag(s), if enabled
  7. For each changed package, in lexical order (alphabetical according to directory structure):
    1. Run postversion lifecycle
  8. Run postversion lifecycle in root
  9. Push commit and tag(s) to remote, if enabled
  10. Create release, if enabled

changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

6.6.2 (2023-05-04)

Bug Fixes

  • deps: bump pacote to latest to remove install warning (#3624) (7c34521)

6.6.1 (2023-03-24)

Note: Version bump only for package @lerna/version

6.6.0 (2023-03-23)

Note: Version bump only for package @lerna/version

6.5.1 (2023-02-14)

Note: Version bump only for package @lerna/version

6.5.0 (2023-02-13)

Note: Version bump only for package @lerna/version

6.4.1 (2023-01-12)

Note: Version bump only for package @lerna/version

6.4.0 (2023-01-05)

Bug Fixes

  • version: recognize .prettierignore when formatting files (#3482) (4e2c7a9)

Features

6.3.0 (2022-12-26)

Features

  • version: support custom command for git tag (#2760) (6eac92f)
  • version: use npmClientArgs in npm install after lerna version (#3434) (e019e3f)

6.2.0 (2022-12-13)

Features

6.1.0 (2022-11-29)

Features

  • version: bump prerelease versions from conventional commits (#3362) (2288b3a)

6.0.3 (2022-11-07)

Bug Fixes

  • version: only apply prettier if it was explicitly installed (#3406) (0161bbe)

6.0.2 (2022-11-02)

Note: Version bump only for package @lerna/version

6.0.1 (2022-10-14)

Bug Fixes

  • run: allow for loading of env files to be skipped (#3375) (5dbd904)

6.0.0 (2022-10-12)

Note: Version bump only for package @lerna/version

6.0.0-alpha.2 (2022-10-12)

Note: Version bump only for package @lerna/version

6.0.0-alpha.1 (2022-10-09)

6.0.0-alpha.0 (2022-10-07)

Note: Version bump only for package @lerna/version

5.6.2 (2022-10-09)

Note: Version bump only for package @lerna/version

5.6.1 (2022-09-30)

Note: Version bump only for package @lerna/version

5.6.0 (2022-09-29)

Features

  • version: apply prettier to updated files, if applicable (#3348) (d63fc1f)

5.5.4 (2022-09-28)

Note: Version bump only for package @lerna/version

5.5.3 (2022-09-28)

Note: Version bump only for package @lerna/version

5.5.2 (2022-09-20)

Note: Version bump only for package @lerna/version

5.5.1 (2022-09-09)

Note: Version bump only for package @lerna/version

5.5.0 (2022-08-31)

Bug Fixes

  • version: only update existing lockfile deps (#3308) (f5c8480)

Features

5.4.3 (2022-08-16)

Bug Fixes

  • version: ignore npm lifecycle scripts on package lock update (#3295) (1ba2b8a)

5.4.2 (2022-08-14)

Bug Fixes

  • version: update package-lock at the root if it exists (#3290) (7f62bab)

5.4.1 (2022-08-12)

Bug Fixes

  • properly update dependencies lockfile v2 (#3275) (d7c398b)

5.4.0 (2022-08-08)

Note: Version bump only for package @lerna/version

5.3.0 (2022-07-27)

Bug Fixes

  • version: inherit stdio for lerna version lifecycle scripts (#3264) (9083a23)

5.2.0 (2022-07-22)

Features

  • init: default useNx and useWorkspaces to true for new lerna workspaces (#3255) (a0e83e5)

5.1.8 (2022-07-07)

Note: Version bump only for package @lerna/version

5.1.7 (2022-07-06)

Note: Version bump only for package @lerna/version

5.1.6 (2022-06-24)

Note: Version bump only for package @lerna/version

5.1.5 (2022-06-24)

Note: Version bump only for package @lerna/version

5.1.4 (2022-06-15)

Note: Version bump only for package @lerna/version

5.1.3 (2022-06-15)

Bug Fixes

5.1.2 (2022-06-13)

Bug Fixes

  • update all transitive inclusions of ansi-regex (#3166) (56eaa15)

5.1.1 (2022-06-09)

Bug Fixes

  • allow maintenance LTS node 14 engines starting at 14.15.0 (#3161) (72305e4)

5.1.0 (2022-06-07)

Note: Version bump only for package @lerna/version

5.1.0-alpha.0 (2022-05-25)

Note: Version bump only for package @lerna/version

5.0.0 (2022-05-24)

Note: Version bump only for package @lerna/version

4.0.0 (2021-02-10)

Bug Fixes

  • version: Ensure --create-release environment variables are present during initialization (2d0a97a)

Features

BREAKING CHANGES

  • The default export has been removed, please use a named export instead.
  • 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)

Bug Fixes

3.22.0 (2020-05-24)

Bug Fixes

  • conventional-commits: Support modern config builder functions (#2546) (7ffb297), closes #2138
  • publish: Avoid errors when files are ignored by git (#2445) (448f2ae), closes #2151
  • version: --atomic fallback when GIT_REDIRECT_STDERR is enabled (#2467) (c255d12)

Features

3.21.0 (2020-05-13)

Features

  • version: Ignore private packages completely with --no-private (a9b9f97)

3.20.2 (2020-01-02)

Bug Fixes

  • version: Loosen --atomic fallback to catch incompatible CLI versions (6f0e2bb), closes #2400

3.20.1 (2019-12-29)

Bug Fixes

  • version: Support git clients that do not support git push --atomic (2b9b210)

3.20.0 (2019-12-27)

Bug Fixes

3.18.5 (2019-11-20)

Bug Fixes

  • Auto-fix prettier formatting (5344820)

3.18.4 (2019-11-08)

Bug Fixes

  • version: Clarify --include-merged-tags description (b0bbfcf)

3.18.3 (2019-10-22)

Bug Fixes

  • version: Correct warning message (384cd15)
  • version: Workaround yargs bug with spurious -- arguments (46be9dc), closes #2315

3.18.2 (2019-10-21)

Bug Fixes

3.18.0 (2019-10-15)

Bug Fixes

  • options: Explicit --conventional-graduate (f73e6ed)
  • options: Explicit --conventional-prerelease (f3581ae)
  • options: Explicit --force-publish (343a751)
  • options: Explicit --ignore-scripts (efcb3bd)

3.16.5 (2019-10-07)

Note: Version bump only for package @lerna/version

3.16.4 (2019-07-24)

Note: Version bump only for package @lerna/version

3.16.2 (2019-07-22)

Note: Version bump only for package @lerna/version

3.16.1 (2019-07-19)

Note: Version bump only for package @lerna/version

3.16.0 (2019-07-18)

Bug Fixes

  • package-graph: Flatten cycles to avoid skipping packages (#2185) (b335763)

Features

3.15.0 (2019-06-09)

Features

  • version: Add --create-release=[gitlab|github] option (#2073) (4974b78)

3.14.2 (2019-06-09)

Bug Fixes

  • version: Remove unused dependency (285bd7e)

3.14.1 (2019-05-15)

Note: Version bump only for package @lerna/version

3.14.0 (2019-05-14)

Features

  • conventional-commits: Add conventional prerelease/graduation (#1991) (5d84b61), closes #1433 #1675
  • version: Add just-in-time queue management (290539b)

3.13.4 (2019-04-24)

Bug Fixes

  • version: Resolve prerelease for version without bump (#2041) (aa11325)
  • version: Search for complete tag prefix when composing GitHub releases (024a6ab), closes #2038

3.13.3 (2019-04-17)

Bug Fixes

3.13.2 (2019-04-08)

Bug Fixes

  • lifecycles: Avoid duplicating 'rooted leaf' lifecycles (a7ad9b6)

3.13.1 (2019-02-26)

Note: Version bump only for package @lerna/version

3.13.0 (2019-02-15)

Features

  • 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/version

3.12.0 (2019-02-14)

Bug Fixes

  • version: Log message when git repository validation is skipped (2c40ffd)

Features

  • version: Skip repository validation when git is unused (#1908) (b9e887e), closes #1869

3.11.1 (2019-02-11)

Bug Fixes

  • version: Exit with an error when --github-release is combined with --no-changelog (030de9d)
  • version: Passing --no-changelog should not disable root versioning (83c33a3)

3.11.0 (2019-02-08)

Bug Fixes

  • deps: Explicit npmlog ^4.1.2 (571c2e2)
  • deps: Remove unused libnpm (replaced by direct sub-packages) (1caeb28)

Features

  • version: Create Github releases with --github-release (#1864) (f84a631), closes #1513

3.10.8 (2019-02-01)

Bug Fixes

  • version: Fix negated option links in readme (0908212)

3.10.6 (2019-01-19)

Bug Fixes

  • options: Document negated boolean options explicitly (8bc9669)

3.10.5 (2019-01-11)

Note: Version bump only for package @lerna/version

3.10.1 (2019-01-09)

Bug Fixes

  • collect-updates: Avoid improper bumps from prompt selections (06a1cff), closes #1357

3.10.0 (2019-01-08)

Features

3.9.0 (2019-01-08)

Note: Version bump only for package @lerna/version

3.8.5 (2019-01-05)

Note: Version bump only for package @lerna/version

3.8.2 (2019-01-03)

Bug Fixes

  • version: Avoid recursive root lifecycle execution (089392d), closes #1844

3.8.1 (2018-12-31)

Note: Version bump only for package @lerna/version

3.8.0 (2018-12-21)

Bug Fixes

  • publish: Unhide options shared with version command (09fccd3)

3.7.2 (2018-12-21)

Bug Fixes

  • version: Prevent clobbering composed --yes option (f3816be)

3.7.1 (2018-12-20)

Note: Version bump only for package @lerna/version

3.7.0 (2018-12-19)

Features

  • version: Refresh package manifests after preversion lifecycle (7c7bf9a)

3.6.0 (2018-12-07)

Bug Fixes

  • pkg: Exclude mocks from package tarball (4017f37)

Features

3.5.0 (2018-11-27)

Bug Fixes

  • 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)

Features

  • version: Add --include-merged-tags option (#1712) (7ee05d7)

3.4.1 (2018-10-04)

Bug Fixes

  • conventional-commits: Upgrade angular preset, ensure header is not duplicated (159a0b0), closes #1696

3.3.2 (2018-09-12)

Bug Fixes

  • version: Allow --force-publish to work on tagged releases (7971bf3), closes #1667 #1671

3.3.1 (2018-09-11)

Note: Version bump only for package @lerna/version

3.3.0 (2018-09-06)

Note: Version bump only for package @lerna/version

3.2.0 (2018-08-28)

Bug Fixes

  • version: Make changes to packages in batched topological order (d799fbf)
  • version: Skip working tree validation when --no-git-tag-version passed (bd948cc), closes #1613

3.1.3 (2018-08-21)

Note: Version bump only for package @lerna/version

3.1.2 (2018-08-20)

Bug Fixes

  • Use packageGraph.rawPackageList instead of misleading instance.filteredPackages (2e2abdc)

3.1.0 (2018-08-17)

Bug Fixes

  • command: Detect composed commands more accurately (1e51b39)
  • command: Log lerna CLI version with less ambiguity (67494e7)
  • version: Throw errors if tree is unclean or duplicating tagged release (d8ee1cf)

3.0.6 (2018-08-16)

Bug Fixes

  • command: Silence goalpost logging when running a composed command (12b4280)
  • version: Pass --preid to selection prompt (23a30a0), closes #1214
  • version: Prioritize --preid over existing prerelease ID (#1568) (f2c470a)

3.0.5 (2018-08-15)

Bug Fixes

  • 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
  • version: Log skipped publish when composed (89645b7)

3.0.2 (2018-08-11)

Bug Fixes

  • conventional-commits: Pass --tag-version-prefix to changelog utilities (8ed7d83)
  • version: Allow config files to override defaults (bb1cfb5)
  • version: Positional bump supersedes --conventional-commits when choosing version (a74c866)

3.0.0 (2018-08-10)

Features

BREAKING CHANGES

    • --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 to git 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.