Détail du package

@changesets/apply-release-plan

changesets5.5mMIT7.0.12

Takes a release plan and applies it to packages

readme

A tool to manage versioning and changelogs
with a focus on multi-package repositories


npm package View changelog

The changesets workflow is designed to help when people are making changes, all the way through to publishing. It lets contributors declare how their changes should be released, then we automate updating package versions, and changelogs, and publishing new versions of packages based on the provided information.

Changesets has a focus on solving these problems for multi-package repositories, and keeps packages that rely on each other within the multi-package repository up-to-date, as well as making it easy to make changes to groups of packages.

How do we do that?

A changeset is an intent to release a set of packages at particular semver bump types with a summary of the changes made.

The @changesets/cli package allows you to write changeset files as you make changes, then combine any number of changesets into a release, that flattens the bump-types into a single release per package, handles internal dependencies in a multi-package-repository, and updates changelogs, as well as release all updated packages from a mono-repository with one command.

How do I get started?

If you just want to jump in to using changesets, the Intro to using changesets and @changesets/cli docs are where you should head.

If you want a detailed explanation of the concepts behind changesets, or to understand how you would build on top of changesets, check out our detailed-explanation.

We also have a dictionary.

Integrating with CI

While changesets can be an entirely manual process, we recommend integrating it with how your CI works.

To check that PRs contain a changeset, we recommend using the changeset bot, or if you want to fail builds on a changesets failure, run yarn changeset status in CI.

To make releasing easier, you can use this changesets github action to automate creating versioning pull requests, and optionally publishing packages.

Documentation

Cool Projects already using Changesets for versioning and changelogs

Thanks/Inspiration

  • bolt - Brought us a strong concept of how packages in a mono-repo should be able to interconnect, and provided the initial infrastructure to get inter-package information.
  • Atlassian - The original idea/sponsor of the changesets code, and where many of the ideas and processes were fermented. It was originally implemented by the team behind atlaskit.
  • lerna-semantic-release - put down many of the initial patterns around updating packages within a multi-package-repository, and started us thinking about how to manage dependent packages.
  • Thinkmill - For sponsoring the focused open sourcing of this project, and the version two rearchitecture.

changelog

@changesets/apply-release-plan

7.0.12

Patch Changes

  • Updated dependencies [f73f84a]:
    • @changesets/git@3.0.4

7.0.11

Patch Changes

  • Updated dependencies [b15e629]:
    • @changesets/git@3.0.3

7.0.10

Patch Changes

  • Updated dependencies [b9df596]:
    • @changesets/config@3.1.1

7.0.9

Patch Changes

  • Updated dependencies [84a4a1b]:
    • @changesets/types@6.1.0
    • @changesets/config@3.1.0
    • @changesets/should-skip-package@0.1.2

7.0.8

Patch Changes

  • #1562 a0f87f1 Thanks @Netail, @cefn! - Add an ability to pass in contextDir of the running script (like the @changesets/cli) so the changelog modules can be alternatively resolved using it

7.0.7

Patch Changes

  • Updated dependencies [f0270f6]:
    • @changesets/config@3.0.5

7.0.6

Patch Changes

7.0.5

Patch Changes

  • #1445 52c302a Thanks @bluwy! - Remove unused @babel/runtime dependency

  • Updated dependencies [52c302a]:

    • @changesets/should-skip-package@0.1.1
    • @changesets/git@3.0.1
    • @changesets/config@3.0.3

7.0.4

Patch Changes

  • #1047 d108fa6 Thanks @patzick! - Fixed a crash that could occur when depending on a tagged version of another workspace package.

  • Updated dependencies [dd6e5bb]:

    • @changesets/config@3.0.2

7.0.3

Patch Changes

  • Updated dependencies []:
    • @changesets/config@3.0.1

7.0.2

Patch Changes

  • #1361 954a16a Thanks @jakebailey! - Version 2.25.0 introduced the privatePackage configuration option with default { version: false, tag: false }; due to a bug, these options were not respected in all commands, leading to commands like changeset tag still tagging private packages. This has been fixed, and all packages now respect this option.

7.0.1

Patch Changes

7.0.0

Major Changes

  • #1185 a971652 Thanks @Andarist! - package.json#exports have been added to limit what (and how) code might be imported from the package.

Minor Changes

Patch Changes

  • Updated dependencies [a971652]:
    • @changesets/get-version-range-type@0.4.0
    • @changesets/config@3.0.0
    • @changesets/types@6.0.0
    • @changesets/git@3.0.0

6.1.4

Patch Changes

6.1.3

Patch Changes

6.1.2

Patch Changes

  • #983 6cc4300 Thanks @Andarist! - Improved compatibility with the alpha releases of Prettier v3 by awaiting the .format result since it's a promise in that version.

6.1.1

Patch Changes

  • Updated dependencies [8c08469, 8c08469]:
    • @changesets/git@1.5.0
    • @changesets/config@2.2.0
    • @changesets/types@5.2.0

6.1.0

Minor Changes

  • #905 c140171 Thanks @Andarist! - The local version of Prettier is going to be preferred from now on when writing formatted .md files back to disk. At the same time the version of Prettier that we depend on has been upgraded.

6.0.4

Patch Changes

  • #900 7d998ee Thanks @sdirosa! - Fixed an issue with generating changelogs not being skipped when the changelog config option was set to false.

  • Updated dependencies [7d998ee]:

    • @changesets/config@2.1.1

6.0.3

Patch Changes

  • Updated dependencies [f64bc1b]:
    • @changesets/git@1.4.1

6.0.2

Patch Changes

  • Updated dependencies [dd9b76f, dd9b76f, dd9b76f]:
    • @changesets/config@2.1.0
    • @changesets/git@1.4.0
    • @changesets/types@5.1.0

6.0.1

Patch Changes

  • #857 7febb59 Thanks @dotansimha! - Fixed an issue with dependency ranges still using pre-existing range modifiers instead of fixed package versions when performing a snapshot release. This ensures that installs of snapshot versions are always reproducible.

  • Updated dependencies [2827c7a, 7b1c0c1]:

    • @changesets/config@2.0.1

6.0.0

Major Changes

  • #768 c87eba6 Thanks @rohit-gohri! - This module is no longer responsible for commiting files - this responsibility has been moved entirely to @changesets/cli.

Patch Changes

  • Updated dependencies [c87eba6, eb86652, c87eba6]:
    • @changesets/types@5.0.0
    • @changesets/git@1.3.2
    • @changesets/config@2.0.0

5.0.5

Patch Changes

  • #703 15c461d Thanks @Andarist! - Fixed an issue with * dependency ranges not being replaced in premode. Those have to replaced with exact versions because prereleases don't satisfy wildcard ranges. A published prerelease package with such dependency range left untouched won't install correct prerelease dependency version.

  • #749 d14cf79 Thanks @Andarist! - Fixed an issue that caused created CHANGELOG files not being formatted in the same way as the updated ones (this could happen when calling changeset version for the very first time for a package).

  • Updated dependencies [27a5a82, 27a5a82]:

    • @changesets/types@4.1.0
    • @changesets/config@1.7.0
    • @changesets/git@1.3.1

5.0.4

Patch Changes

  • Updated dependencies [77c1cef]:
    • @changesets/git@1.3.0
    • @changesets/config@1.6.4

5.0.3

Patch Changes

  • #667 fe8db75 Thanks @fz6m! - Upgraded @manypkg/get-packages dependency to fix getting correct packages in pnpm workspaces with exclude rules.

  • Updated dependencies [fe8db75, 9a993ba]:

    • @changesets/config@1.6.3
    • @changesets/git@1.2.1
    • @changesets/types@4.0.2

5.0.2

Patch Changes

5.0.1

Patch Changes

  • Updated dependencies [e89e28a]:
    • @changesets/types@4.0.1
    • @changesets/config@1.6.1
    • @changesets/git@1.1.2

5.0.0

Major Changes

  • #542 de2b4a5 Thanks @Andarist! - The accepted Config type has been changed - a new experimental option (updateInternalDependents) was added to it.

Patch Changes

  • Updated dependencies [de2b4a5]:
    • @changesets/config@1.6.0
    • @changesets/types@4.0.0
    • @changesets/git@1.1.1

4.2.0

Minor Changes

  • 12f9a43 #507 Thanks @zkochan! - New setting added: bumpVersionsWithWorkspaceProtocolOnly. When it is set to true, versions are bumped in dependencies, only if those versions are prefixed by the workspace protocol. For instance, "foo": "workspace:^1.0.0".

Patch Changes

  • Updated dependencies [12f9a43]:
    • @changesets/config@1.5.0
    • @changesets/types@3.3.0

4.1.0

Minor Changes

  • fd53ca2 #395 Thanks @jonathanmorley! - Use JSON.stringify to update package.jsons without including modifications from prettier.

4.0.0

Major Changes

  • addd725 #383 Thanks @Feiyang1! - Added an experimental flag onlyUpdatePeerDependentsWhenOutOfRange. When set to true, we only bump peer dependents when peerDependencies are leaving range.

Minor Changes

  • 9dcc364 #371 Thanks @Feiyang1! - Added support for ignoring packages in the version command. The version of ignored packages will not be bumped, but their dependencies will still be bumped normally. This is useful when you have private packages, e.g. packages under development. It allows you to make releases for the public packages without changing the version of your private packages. To use the feature, you can define the ignore array in the config file with the name of the packages:

    {
      ...
      "ignore": ["pkg-a", "pkg-b"]
      ...
    }

    or you can pass the package names to the --ignore flag when using cli:

    yarn changeset version --ignore pkg-a --ignore --pkg-b

Patch Changes

  • Updated dependencies [addd725, 9dcc364]:
    • @changesets/config@1.2.0
    • @changesets/types@3.1.0

3.1.0

Minor Changes

  • 6d0790a #359 Thanks @ajaymathur! - Add support for snapshot flag to version command. Usage: changeset version --snapshot [tag]. The updated version of the packages looks like 0.0.0[-tag]-YYYYMMDDHHMMSS where YYYY, MM, DD, HH, MM, and SS is the date and time of when the snapshot version is created. You can use this feature with the tag option in the publish command to publish packages under experimental tags from feature branches. To publish a snapshot version of a package under an experimental tag you can do:

    # Version packages to snapshot version
    changeset version --snapshot
    # Publish packages under experimental tag, keeping next and latest tag clean
    changeset publish --tag experimental

3.0.3

Patch Changes

  • 90f3b65 #373 Thanks @Blasz! - Fix patch bumped dependencies not being updated in dependents package.json when leaving semver range with updateInternalDependencies set to minor.

3.0.2

Patch Changes

  • 8fe77b6 #366 Thanks @Blasz! - Fix release version commit including dev dependent packages with release type 'none'

3.0.1

Patch Changes

  • 52a88ce #361 Thanks @Blasz! - Fix dependency release lines being output when they were skipped via the updateInternalDependencies config option

3.0.0

Major Changes

  • 2b49d66 #358 Thanks @Blasz! - Add new updateInternalDependencies config option to disable auto bumping of internal dependencies in the same release if the dependency was only patch bumped

Patch Changes

  • Updated dependencies [89f0c49, 2b49d66, 09f62f9]:
    • @changesets/git@1.0.5
    • @changesets/types@3.0.0
    • @changesets/config@1.1.0

2.0.2

Patch Changes

  • 3dbab2e #343 Thanks @zkochan! - Self-references should be skipped when bumping versions. A self-reference is a dev dep that has the same name as the package. Some projects use self-references as a convenient way to require files using relative paths from the root directory.

2.0.1

Patch Changes

  • 1706fb7 #321 Thanks @mitchellhamilton! - Fix TypeScript declarations

  • Updated dependencies [1706fb7]:

    • @changesets/config@1.0.3
    • @changesets/get-version-range-type@0.3.2
    • @changesets/git@1.0.3
    • @changesets/types@2.0.1

2.0.0

Major Changes

  • 011d57f #313 Thanks @zkochan! - Bumping devDependencies no longer bumps the packages that they depend on.

    This is a pretty big "quality of life" update, which means we will do fewer releases of packages overall, as there is no change of installed packages.

    This has been made a breaking change as it changes the behavior of what will be published. It should only be for the better, but we didn't want to surprise you with it.

  • 011d57f #313 Thanks @zkochan! - Updates to devDependencies are not affecting the end users of a package. So we are not listing these changes in the changelog file.

Minor Changes

  • c3cc232 #311 Thanks @zkochan! - Added support for workspace ranges. They are now correctly kept and updated when applying a release plan.

Patch Changes

  • 44555b4 #315 Thanks @maraisr! - Allows prettier to know about filepaths so it can apply file overrides

  • Updated dependencies [011d57f]:

    • @changesets/types@2.0.0
    • @changesets/config@1.0.2
    • @changesets/git@1.0.2

1.0.1

Patch Changes

  • 04ddfd7 #305 Thanks @Noviny! - Add link to changelog in readme

  • b49e1cf #306 Thanks @Andarist! - Ignore node_modules when glob searching for packages. This fixes an issue with package cycles.

  • Updated dependencies [04ddfd7, e56928b, b49e1cf]:

    • @changesets/config@1.0.1
    • @changesets/get-version-range-type@0.3.1
    • @changesets/git@1.0.1
    • @changesets/types@1.0.1

1.0.0

Major Changes

Patch Changes

0.4.2

Patch Changes

  • Updated dependencies [d08c3b3]:
    • @changesets/get-version-range-type@0.3.0

0.4.1

Patch Changes

  • Updated dependencies [1282ef6]:
    • @changesets/get-version-range-type@0.2.0

0.4.0

Minor Changes

Patch Changes

  • ef6402c9 #252 Thanks @Andarist! - Ensure there is a newline between release lines so the final markdown preserves correct formatting.

  • 503154db #257 Thanks @Noviny! - Move catch statement so errors are less spammy

  • Updated dependencies [fe0d9192, fe0d9192]:

    • get-workspaces@0.6.0
    • @changesets/git@0.4.0

0.3.1

Patch Changes

  • Updated dependencies [bca8865, bca8865]:
    • @changesets/config@0.3.0
    • @changesets/git@0.3.0

0.3.0

Minor Changes

Patch Changes

  • Updated dependencies [8f0a1ef]:
    • @changesets/types@0.4.0
    • @changesets/config@0.2.3
    • get-workspaces@0.5.2
    • @changesets/git@0.2.4

0.2.3

Patch Changes

  • a679b1d #204 Thanks @Andarist! - Correctly handle the 'access' flag for packages

    Previously, we had access as "public" or "private", access "private" isn't valid. This was a confusing because there are three states for publishing a package:

    • private: true - the package will not be published to npm (worked)
    • access: public - the package will be publicly published to npm (even if it uses a scope) (worked)
    • access: restricted - the package will be published to npm, but only visible/accessible by those who are part of the scope. This technically worked, but we were passing the wrong bit of information in.

    Now, we pass the correct access options public or restricted.

  • da11ab8 #205 Thanks @mitchellhamilton! - Don't update ranges set to */x/X when versioning

  • Updated dependencies [5ababa0, a679b1d]:

    • @changesets/config@0.2.2
    • get-workspaces@0.5.1
    • @changesets/types@0.3.1

0.2.2

Patch Changes

  • 72babcb #178 Thanks @mitchellhamilton! - Fix changelog generator options not being provided

  • Updated dependencies []:

    • @changesets/git@0.2.3

0.2.1

Patch Changes

  • 1ff73b7 #156 Thanks @mitchellhamilton! - Fix commits not being obtained for old changesets

  • 8c43fa0 #155 Thanks @Noviny! - Add Readme

  • 0320391 #163 Thanks @Noviny! - Reordered dependencies in the package json (this should have no impact)

  • Updated dependencies [8c43fa0, 0320391, 1ff73b7]:

    • @changesets/get-version-range-type@0.1.1
    • @changesets/git@0.2.1
    • @changesets/types@0.3.0
    • @changesets/config@0.2.1

0.2.0

Minor Changes

  • 296a6731 - Safety bump: Towards the end of preparing changesets v2, there was a lot of chaos - this bump is to ensure every package on npm matches what is found in the repository.

Patch Changes

  • Updated dependencies [296a6731]:
    • @changesets/config@0.2.0
    • @changesets/get-version-range-type@0.1.0
    • get-workspaces@0.5.0
    • @changesets/git@0.2.0
    • @changesets/types@0.2.0

0.1.2

Patch Changes

  • a15abbf9 - Previous release shipped unbuilt code - fixing that

0.1.0

Minor Changes