Skip to content

Latest commit

History

History
1331 lines (849 loc) 路 83.2 KB

CHANGELOG.md

File metadata and controls

1331 lines (849 loc) 路 83.2 KB

@changesets/cli

2.24.3

Patch Changes

  • Updated dependencies [b023e4b]:
    • @changesets/assemble-release-plan@5.2.1
    • @changesets/get-release-plan@3.0.14

2.24.2

Patch Changes

  • #900 7d998ee Thanks @sdirosa! - Fixed an issue with generating changelogs not being skipped when the changelog config option was set to false.
  • #720 0fd56e1 Thanks @bhovhannes! - Private packages without a version field are no longer listed when adding a changeset.
  • #844 8627ec1 Thanks @Andarist! - Attempt to log stdout when publish fails if stderr is empty and JSON error can't be retrieved from none of those.

  • Updated dependencies [7d998ee, 7d998ee]:

    • @changesets/config@2.1.1
    • @changesets/apply-release-plan@6.0.4
    • @changesets/get-release-plan@3.0.13

2.24.1

Patch Changes

  • Updated dependencies [f64bc1b]:
    • @changesets/git@1.4.1
    • @changesets/apply-release-plan@6.0.3
    • @changesets/read@0.5.7
    • @changesets/get-release-plan@3.0.12

2.24.0

Minor Changes

  • #858 dd9b76f Thanks @dotansimha! - Added a new config flag for changesets version --snapshot mode: --snapshot-prerelease-template
  • #858 dd9b76f Thanks @dotansimha! - Added a new config option: snapshot.prereleaseTemplate for customizing the way snapshot release numbers are being composed.

Patch Changes

  • #858 dd9b76f Thanks @dotansimha! - A possibility to use the calculated version for snapshot releases is now stable 馃コ All snapshot-related config parameters are now grouped under a single config property called snapshot.

    To migrate, make sure to update your config.json.

    Old usage (still works, but comes with a deprecated warning):

    {
      "___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
        "useCalculatedVersionForSnapshots": true
      }
    }

    New usage:

    {
      "snapshot": {
        "useCalculatedVersion": true
      }
    }
  • Updated dependencies [dd9b76f, dd9b76f, dd9b76f]:

    • @changesets/config@2.1.0
    • @changesets/git@1.4.0
    • @changesets/assemble-release-plan@5.2.0
    • @changesets/types@5.1.0
    • @changesets/apply-release-plan@6.0.2
    • @changesets/get-release-plan@3.0.11
    • @changesets/read@0.5.6
    • @changesets/changelog-git@0.1.12
    • @changesets/get-dependents-graph@1.3.3
    • @changesets/pre@1.0.12
    • @changesets/write@0.1.9

2.23.2

Patch Changes

  • #871 e174172 Thanks @NicoKam! - Fixed filtering of the ignored packages when adding a changeset.

2.23.1

Patch Changes

  • #843 101b1cb Thanks @caohuilin! - Fixed the printed filename in the verbose output of changeset status.
  • #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.
  • #744 84e46d1 Thanks @mskelton! - Ignored packages are no longer listed when adding a changeset.

  • Updated dependencies [2827c7a, 7b1c0c1, 7febb59]:

    • @changesets/config@2.0.1
    • @changesets/apply-release-plan@6.0.1
    • @changesets/get-release-plan@3.0.10

2.23.0

Minor Changes

  • #796 745b771 Thanks @JakeGinnivan! - Upgraded tty-table to fix deprecation warnings coming from its transitive dependency.

Patch Changes

  • #811 c54c25d Thanks @samrose3! - Improved accessibility of the CLI prompts by using selected/unselected indicators that don't rely solely on the colors.
  • #767 d6bfcc5 Thanks @Andarist! - Improve the error message when a package referenced in a changeset can't be found. The message will now also include the changeset's ID.

  • Updated dependencies [d6bfcc5]:

    • @changesets/assemble-release-plan@5.1.3
    • @changesets/get-release-plan@3.0.9

2.22.0

Minor Changes

  • #768 c87eba6 Thanks @rohit-gohri! - Allow "commit" option to be more configurable. You can now point to a module (using a module name or a relative path) that might contain getAddMessage and/or getVersionMessage. This allows you to configure how the commit message is generated, if [skip ci] gets included, etc.

Patch Changes

  • #776 ad7506d Thanks @janosh! - changeset init will now configure baseBranch: "main" in the .changeset/config.json as the default value.
  • #770 eb86652 Thanks @alizeait! - changeset add and changeset status should now properly handle the situation where Changesets are managed from a directory different than the root of the repository.

  • Updated dependencies [c87eba6, eb86652, c87eba6, c87eba6]:

    • @changesets/types@5.0.0
    • @changesets/git@1.3.2
    • @changesets/apply-release-plan@6.0.0
    • @changesets/config@2.0.0
    • @changesets/assemble-release-plan@5.1.2
    • @changesets/changelog-git@0.1.11
    • @changesets/get-dependents-graph@1.3.2
    • @changesets/get-release-plan@3.0.8
    • @changesets/pre@1.0.11
    • @changesets/read@0.5.5
    • @changesets/write@0.1.8

2.21.1

Patch Changes

  • #760 5a2a59a Thanks @Andarist! - Fixed an issue with logging non-stringified Buffers in case of publish errors.
  • #769 3e8e672 Thanks @Andarist! - Fixed an infinite loop involving a fixed group of packages and a package within that group that was both ignored and dependent on another package from that group.

  • Updated dependencies [3e8e672]:

    • @changesets/assemble-release-plan@5.1.1
    • @changesets/get-release-plan@3.0.7

2.21.0

Minor Changes

  • #690 27a5a82 Thanks @Andarist! - Added a new .changeset/config.json option: fixed. It can be used to group packages that should always be released together. If any package from a group is going to be released then all packages from that group will be released together (with the same version).

    This is similar to what people often know from Lerna as this is how their fixed/locked mode works.

Patch Changes

  • #706 0812858 Thanks @Andarist! - Fixed an issue with "none" releases causing package versions being bumped during snapshot releases. In addition to when you create "none" release types explicitly Changesets might create them implicitly in some situations, for example under some circumstances this issue caused snapshot releases to be created sometimes for ignored packages.
  • #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).
  • #751 59c7ebc Thanks @Rugvip! - Fixed an issue where dependent packages would sometimes not get bumped properly when exiting prerelease mode.
  • #703 15c461d Thanks @Andarist! - Fixed an issue with dependant packages being always bumped when their * dependency was bumped.

  • Updated dependencies [0812858, 15c461d, 27a5a82, 27a5a82, d14cf79, 27a5a82, 0d1debd, 59c7ebc, 15c461d]:

    • @changesets/assemble-release-plan@5.1.0
    • @changesets/apply-release-plan@5.0.5
    • @changesets/types@4.1.0
    • @changesets/config@1.7.0
    • @changesets/changelog-git@0.1.10
    • @changesets/get-release-plan@3.0.6
    • @changesets/get-dependents-graph@1.3.1
    • @changesets/git@1.3.1
    • @changesets/pre@1.0.10
    • @changesets/read@0.5.4
    • @changesets/write@0.1.7

2.20.0

Minor Changes

  • #698 9e14a9a Thanks @zthxxx! - Reworked the CLI output when adding a changeset. This includes fixing broken formatting in certain terminal width, reducing visual noise and making other small adjustments.
  • #704 6f9c9d6 Thanks @Andarist! - Dependencies specified using a tag will no longer result in printing incorrect errors in the console.

Patch Changes

  • #740 957e39c Thanks @akphi! - Fixed an issue with failing to parse changesets containing a completely empty summary.
  • #693 1be201f Thanks @luciaquirke! - Fixed an issue with none release type sometimes overriding other release types and thus preventing a release from happening.

  • Updated dependencies [6f9c9d6, 77c1cef, 1be201f]:

    • @changesets/get-dependents-graph@1.3.0
    • @changesets/git@1.3.0
    • @changesets/assemble-release-plan@5.0.5
    • @changesets/config@1.6.4
    • @changesets/apply-release-plan@5.0.4
    • @changesets/read@0.5.3
    • @changesets/get-release-plan@3.0.5

2.19.0

Minor Changes

  • #701 b9b6453 Thanks @Andarist! - Added support for a --no-git-tag CLI flag that can be used with changeset publish to skip creating git tags for published packages. This is mostly useful when publishing snapshot releases.

Patch Changes

  • #713 82be80e Thanks @zthxxx! - Fixed an issue with not being able to reenter exited pre mode.
  • #708 ab8f2b2 Thanks @Andarist! - Updated is-ci dependency that helps us to check if Changesets are executed in the CI environment.
  • #710 4272cb0 Thanks @Andarist! - Errors received from npm profile get --json, that is used to check if 2FA is required, will now always be printed.

  • Updated dependencies [82be80e, e4c4b29]:

    • @changesets/pre@1.0.9
    • @changesets/assemble-release-plan@5.0.4
    • @changesets/get-release-plan@3.0.4

2.18.1

Patch Changes

  • #676 d8f0e68 Thanks @Andarist! - Improved compatibility with npm 7+ since they've started to print errors to the stderr (where previously they were printed to stdout) when using npm publish --json.

  • #676 d8f0e68 Thanks @Andarist! - Fixed an internal issue that prevented npm publish --json's output to be handled properly. This makes sure that unrelated JSONs printed by lifecycle scripts don't interfere with our logic.

  • #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/apply-release-plan@5.0.3
    • @changesets/assemble-release-plan@5.0.3
    • @changesets/config@1.6.3
    • @changesets/get-dependents-graph@1.2.4
    • @changesets/get-release-plan@3.0.3
    • @changesets/git@1.2.1
    • @changesets/pre@1.0.8
    • @changesets/types@4.0.2
    • @changesets/read@0.5.2
    • @changesets/write@0.1.6

2.18.0

Minor Changes

  • #634 2b49c39 Thanks @joeldenning! - The new changeset tag command has been added. It can be used to create git tags for all packages.

    This is helpful in situations where a different tool is used to publish packages instead of Changesets. For situations where changeset publish is executed, running changeset tag is not needed.

    Note that it is expected that changeset version is run before changeset tag, so that the package.json versions are updated before the git tags are created. This command also doesn't take any configuration into account - it simply create tags for all packages with whatever version that is currently in their respective package.json.

Patch Changes

  • #585 74dda8c Thanks @javier-garcia-meteologica! - Add support for workspace:^ and workspace:~ dependency ranges.

  • #660 5413f3e Thanks @tmkx! - Fixed an issue with adding [undefined] to the generated changelog when the commit adding a changeset file could not be found. This could have happened when running changeset add && changeset version in a single command and when using the default changelog generator.

  • Updated dependencies [2b49c39, 74dda8c]:

    • @changesets/git@1.2.0
    • @changesets/apply-release-plan@5.0.2
    • @changesets/get-dependents-graph@1.2.3
    • @changesets/read@0.5.1
    • @changesets/assemble-release-plan@5.0.2
    • @changesets/config@1.6.2
    • @changesets/get-release-plan@3.0.2

2.17.0

Minor Changes

  • #626 bc611cf Thanks @Andarist! - From now on, changeset files starting with a dot (e.g. .ignored-temporarily.md) will be be ignored and kept around after versioning. This allows you to prepare a changeset for something that isn't supposed to be released immediately. An example use case could involve code hidden behind a feature flag.

Patch Changes

  • #582 e89e28a Thanks @Andarist! - Add support for publishConfig.registry

  • Updated dependencies [bc611cf, e89e28a]:

    • @changesets/read@0.5.0
    • @changesets/types@4.0.1
    • @changesets/get-release-plan@3.0.1
    • @changesets/apply-release-plan@5.0.1
    • @changesets/assemble-release-plan@5.0.1
    • @changesets/config@1.6.1
    • @changesets/get-dependents-graph@1.2.2
    • @changesets/git@1.1.2
    • @changesets/pre@1.0.7
    • @changesets/write@0.1.5

2.16.0

Minor Changes

  • #542 de2b4a5 Thanks @Andarist! - A new updateInternalDependents experimental option has been added. It can be used to add dependent packages to the release (if they are not already a part of it) with patch bumps. To use it you can add this to your config:

    {
      "___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
        "updateInternalDependents": "always"
      }
    }

    This option accepts two values - "always" and "out-of-range" (the latter matches the current default behavior).

  • #562 6353abf Thanks @Andarist! - Stop asking for changeset confirmation when it has been provided using an external editor.

Patch Changes

  • Updated dependencies [de2b4a5, de2b4a5]:
    • @changesets/config@1.6.0
    • @changesets/types@4.0.0
    • @changesets/apply-release-plan@5.0.0
    • @changesets/assemble-release-plan@5.0.0
    • @changesets/get-release-plan@3.0.0
    • @changesets/get-dependents-graph@1.2.1
    • @changesets/git@1.1.1
    • @changesets/pre@1.0.6
    • @changesets/read@0.4.7
    • @changesets/write@0.1.4

2.15.0

Minor Changes

  • #559 bb7106d Thanks @Andarist! - Added new --open flag to the add command. It opens the created changeset with an external editor.

Patch Changes

  • Updated dependencies [8b9ac07]:
    • @changesets/assemble-release-plan@4.1.1

2.14.1

Patch Changes

2.14.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/apply-release-plan@4.2.0
    • @changesets/assemble-release-plan@4.1.0
    • @changesets/config@1.5.0
    • @changesets/get-dependents-graph@1.2.0
    • @changesets/types@3.3.0

2.13.1

Patch Changes

  • 0d5b9e1 #518 Thanks @zkochan! - From now on, to fix issues with some auto-save configurations in IDEs, the editor won't be re-opened if one saves an empty summary. In such a scenario the CLI will prompt again for the summary to be written in the terminal.

2.13.0

Minor Changes

  • 412b4b9 #504 Thanks @vitorbal! - changeset status command no longer errors when no packages have been changed.

  • 24d7bc9 #495 Thanks @RoystonS! - Automatically deepen shallow clones in order to determine the correct commit at which changesets were added. This helps Git-based changelog generators to always link to the correct commit. From now on it's not required to configure fetch-depth: 0 for your actions/checkout when using Changesets GitHub action.

Patch Changes

2.12.0

Minor Changes

  • c6d38b5 #469 Thanks @camdub! - Handle JSON errors for unpublished packages on the github package registry

2.11.2

Patch Changes

  • b4e4b93 #448 Thanks @vlad-zhukov! - Packages are now published from cwd (usually the root of the repository) rather than from the package directories. This respects .npmrc files put in the root directory.

2.11.1

Patch Changes

2.11.0

Minor Changes

  • e33e4ca #458 Thanks @emmenko! - Allow glob expressions to be provided for the linked and ignore options

Patch Changes

  • a60c0e1 #465 Thanks @Andarist! - Fixed the printed description of how pre command can be used.

  • Updated dependencies [f4973a2, e33e4ca]:

    • @changesets/types@3.2.0
    • @changesets/config@1.4.0

2.10.3

Patch Changes

  • d1d987c #455 Thanks @Andarist! - Fixed an issue with linked package being bumped when its dev dependency from the linked set was bumped during the versioning.

  • 9d99bd1 #446 Thanks @Andarist! - Fixed an issue with dependent packages not being updated to their highest bump type in pre mode sometimes. This could happen when dependent packages were only versioned because of their dependencies being upgraded and not because of a dedicated changeset for those dependent packages.

    For the very same reason linked packages were also not always bumped correctly in pre mode to the highest bump type in a linked group.

  • Updated dependencies [ab98fe3, d1d987c, 9d99bd1]:

    • @changesets/assemble-release-plan@4.0.0
    • @changesets/get-release-plan@2.0.1

2.10.2

Patch Changes

  • d531dbd #412 Thanks @Feiyang1! - Fixed an issue with the same package specified as a different dependency type with different range types not being updated correctly for all of them.

  • Updated dependencies [d531dbd]:

    • @changesets/assemble-release-plan@3.0.1

2.10.1

Patch Changes

  • efd01d9 #437 Thanks @Blasz! - Fix version command not committing when commit config option is set

2.10.0

Minor Changes

  • dca4a91 #357 Thanks @zkochan! - Open an editor when no message is given when creating a changeset

  • a57d163 #428 Thanks @dotansimha! - Added support for publishing from a subdirectory of packages, using publishConfig.directory field

Patch Changes

  • 868eb1e #434 Thanks @mitchellhamilton! - Add --no-git-checks to pnpm publish in changeset publish to resolve issues with publishing on CI

  • Updated dependencies [1dd3117, a57d163]:

    • @changesets/git@1.0.6
    • @changesets/types@3.1.1

2.9.2

Patch Changes

2.9.1

Patch Changes

  • 377f5c3 #393 Thanks @Andarist! - Fixed an issue with experimental flags being written to disk as part of the default config when initializing Changesets.

  • Updated dependencies [377f5c3, 377f5c3]:

    • @changesets/config@1.3.0

2.9.0

Minor Changes

  • 9006375 #392 Thanks @Andarist! - Changed condition based on which single-package repositories are identified when creating tags after successful publish. It is now based on whether we have recognized the repository to be managed by monorepo tooling or not.

  • 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 [00e768e, addd725, 9dcc364, 9dcc364]:
    • @changesets/assemble-release-plan@3.0.0
    • @changesets/apply-release-plan@4.0.0
    • @changesets/get-release-plan@2.0.0
    • @changesets/config@1.2.0
    • @changesets/types@3.1.0

2.8.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
    
  • 6d0790a #359 Thanks @ajaymathur! - Add support for tag flag to publish command. Usage: changeset publish --tag <tag>. This will publish the packages under passed npm tag.

  • 5dc389f #376 Thanks @Andarist! - Changed what git tag is generated for single-package repositories after successful publish. The package name is being skipped and the scheme matches what npm version generates, so for example v2.8.0.

Patch Changes

  • Updated dependencies [6d0790a]:
    • @changesets/apply-release-plan@3.1.0
    • @changesets/assemble-release-plan@2.1.0

2.7.2

Patch Changes

  • 8040173 #368 Thanks @Andarist! - When logging successful releases and creating tags include an information about those being git tags.

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

  • Updated dependencies [90f3b65]:

    • @changesets/apply-release-plan@3.0.3

2.7.1

Patch Changes

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

  • Updated dependencies [52a88ce]:

    • @changesets/apply-release-plan@3.0.1

2.7.0

Minor Changes

  • 2b49d66 #358 Thanks @Blasz! - Add new config option 'updateInternalDependencies' that can be set to 'minor' to only update internal dependencies in the same release if the dependency was minor released or above. Defaults to 'patch' which is the existing behaviour.

Patch Changes

  • Updated dependencies [89f0c49, 2b49d66, 09f62f9]:
    • @changesets/git@1.0.5
    • @changesets/apply-release-plan@3.0.0
    • @changesets/types@3.0.0
    • @changesets/config@1.1.0
    • @changesets/assemble-release-plan@2.0.4
    • @changesets/get-release-plan@1.0.4
    • @changesets/pre@1.0.4
    • @changesets/read@0.4.6
    • @changesets/write@0.1.3

2.6.5

Patch Changes

  • d570a24 #328 Thanks @zkochan! - Use pnpm inside a pnpm workspace. Previously, pnpm was detected properly only in projects that use one lockfile per project. However, by default pnpm creates a single lockfile per workspace.

  • Updated dependencies [d678da5]:

    • @changesets/assemble-release-plan@2.0.2

2.6.4

Patch Changes

  • Updated dependencies [1706fb7]:
    • @changesets/apply-release-plan@2.0.1
    • @changesets/assemble-release-plan@2.0.1
    • @changesets/config@1.0.3
    • @changesets/errors@0.1.4
    • @changesets/get-release-plan@1.0.3
    • @changesets/git@1.0.3
    • @changesets/logger@0.0.5
    • @changesets/pre@1.0.3
    • @changesets/read@0.4.5
    • @changesets/types@2.0.1
    • @changesets/write@0.1.2

2.6.3

Patch Changes

  • 9cdfa36 #318 Thanks @Noviny! - Typo fix in prerelease warning message

  • Updated dependencies [44555b4, c3cc232, 011d57f, 011d57f, 011d57f, 011d57f]:

    • @changesets/apply-release-plan@2.0.0
    • @changesets/assemble-release-plan@2.0.0
    • @changesets/types@2.0.0
    • @changesets/get-release-plan@1.0.2
    • @changesets/config@1.0.2
    • @changesets/git@1.0.2
    • @changesets/pre@1.0.2
    • @changesets/read@0.4.4
    • @changesets/write@0.1.1

2.6.2

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/apply-release-plan@1.0.1
    • @changesets/assemble-release-plan@1.0.1
    • @changesets/config@1.0.1
    • @changesets/errors@0.1.3
    • @changesets/get-release-plan@1.0.1
    • @changesets/git@1.0.1
    • @changesets/logger@0.0.4
    • @changesets/parse@0.3.3
    • @changesets/pre@1.0.1
    • @changesets/read@0.4.3
    • @changesets/test-utils@0.0.4
    • @changesets/types@1.0.1

2.6.1

Patch Changes

2.6.0

Minor Changes

Patch Changes

  • 2adfe66 #288 Thanks @mitchellhamilton! - Stop running npm profile get when using non-npm registries

  • Updated dependencies []:

    • @changesets/apply-release-plan@0.4.2

2.5.2

Patch Changes

  • 184a653 #278 Thanks @mitchellhamilton! - Use a single prompt for the semver version type when there is only a single package in the repo in changeset add

    changeset add command with single package repo

2.5.1

Patch Changes

  • 1282ef6 #263 Thanks @mitchellhamilton! - Fixed a bug where only the unreleased pre-release changesets were taken into account when calculating the new version, not previously released changesets.

  • Updated dependencies [1282ef6]:

    • @changesets/assemble-release-plan@0.3.1
    • @changesets/apply-release-plan@0.4.1

2.5.0

Minor Changes

Patch Changes

  • cc64ad52 #254 Thanks @Andarist! - Added GitHub Actions support to CI detection.

  • 4af2a78b #232 Thanks @harrysolovay! - Change format of the automatic commit messages to be in line with conventional commits.

  • ef6402c9 #252 Thanks @Andarist! - Avoid trailing newline for single-line changesets to avoid double newline between release lines when generating final markdown for changelog.

  • Updated dependencies [fe0d9192, ef6402c9, fe0d9192, 503154db]:

    • get-workspaces@0.6.0
    • @changesets/apply-release-plan@0.4.0
    • get-dependents-graph@0.2.0
    • @changesets/get-release-plan@0.4.0
    • @changesets/git@0.4.0
    • @changesets/pre@0.2.0
    • @changesets/read@0.4.1

2.4.1

Patch Changes

2.4.0

Minor Changes

  • bca8865 #221 Thanks @mitchellhamilton! - Added support for baseBranch option which specifies what branch Changesets should use when determining what packages have changed

  • bca8865 #221 Thanks @mitchellhamilton! - Added support for --since option to the status command which shows the release plan since the git ref(branch, tag, commit, etc.) specified with --since and deprecate --sinceMaster option

Patch Changes

  • bca8865 #221 Thanks @mitchellhamilton! - Moved error advising users to run changeset init when a .changeset directory from the add command to all commands except init

  • bca8865 #221 Thanks @mitchellhamilton! - Fixed old changesets not being read in status command

  • Updated dependencies [bca8865, bca8865, bca8865, bca8865]:

    • @changesets/get-release-plan@0.3.0
    • @changesets/read@0.4.0
    • @changesets/config@0.3.0
    • @changesets/git@0.3.0
    • @changesets/apply-release-plan@0.3.1

2.3.3

Patch Changes

  • 9cd1eaf #214 Thanks @Noviny! - Remove unused dependencies
  • Updated dependencies [9cd1eaf, b17ed74]:
    • @changesets/logger@0.0.3
    • @changesets/pre@0.1.1
    • @changesets/test-utils@0.0.3
    • @changesets/git@0.2.5
    • @changesets/config@0.2.4

2.3.2

Patch Changes

  • 7c1269de Thanks @Noviny! - Fix previous version not having correctly built dists

2.3.1

Patch Changes

2.3.0

Minor Changes

Patch Changes

  • 8f0a1ef #183 Thanks @mitchellhamilton! - Add InternalError for errors which are unexpected and if they occur, an issue should be opened. The CLI catches the error and logs a link for users to open an issue with the error and versions of Node and Changesets filled in

  • 8f0a1ef #183 Thanks @mitchellhamilton! - Always publish packages if they don't exist on npm rather than only if they are a greater version than the latest version on npm

  • Updated dependencies [8f0a1ef, 8f0a1ef, 8f0a1ef, 8f0a1ef, 8f0a1ef]:

    • @changesets/assemble-release-plan@0.3.0
    • @changesets/apply-release-plan@0.3.0
    • @changesets/get-release-plan@0.2.0
    • @changesets/types@0.4.0
    • @changesets/errors@0.1.2
    • @changesets/pre@0.1.0
    • @changesets/config@0.2.3
    • get-dependents-graph@0.1.2
    • get-workspaces@0.5.2
    • @changesets/git@0.2.4
    • @changesets/logger@0.0.2
    • @changesets/parse@0.3.1
    • @changesets/read@0.3.1
    • @changesets/test-utils@0.0.2

2.2.0

Minor Changes

  • a679b1d #204 Thanks @Andarist! - Respect publishConfig.access in workspace package.jsons

    Previously, every package in your repository had one 'public' or 'restricted' setting.

    Now, if a workspace has publishConfig.access in its package.json, we will prioritize it over the global changesets config.

  • 51a0d76 #182 Thanks @ajaymathur! - Updated the package to use the new @changesets/logger for logging.

Patch Changes

  • 5ababa0 #201 Thanks @ajaymathur! - Updated to use the Error classes from the @changesets/errors package

  • 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 [51a0d76, 5ababa0, a679b1d, 5ababa0, da11ab8]:

    • @changesets/logger@0.0.1
    • @changesets/test-utils@0.0.1
    • @changesets/config@0.2.2
    • @changesets/apply-release-plan@0.2.3
    • get-workspaces@0.5.1
    • @changesets/types@0.3.1
    • @changesets/errors@0.1.1

2.1.2

Patch Changes

  • Remove console log
  • When 2fa token is wrong (ie, it has expired) reprompt instead of failing

2.1.1

Patch Changes

  • 71a0193 #197 Thanks @Noviny! - Close off error when running publish where individual packages have pre or post hooks.

    Under the previous behaviour, JSON parsing the response to publish failed, causing git tags to not be created.

2.1.0

Minor Changes

  • 8dce96f #187 Thanks @gardnerjack! - Added --empty flag to the add command for empty changeset files. New tests for adding, writing, parsing, and reading empty changesets.

Patch Changes

  • 7e2fc8e #184 Thanks @Noviny! - Fix message on warning if 'add' command is run before changesets has been initialised.

  • Updated dependencies [8dce96f]:

    • @changesets/parse@0.3.0
    • @changesets/read@0.3.0
    • @changesets/get-release-plan@0.1.3

2.0.4

Patch Changes

2.0.3

Patch Changes

  • 89c0894 #167 Thanks @Noviny! - Fix broken --since-master flag (which was broken by the move to v2 changesets)

  • Updated dependencies [89c0894]:

    • @changesets/git@0.2.2
    • @changesets/get-release-plan@0.1.2
    • @changesets/read@0.2.2

2.0.2

Patch Changes

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

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

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

    • @changesets/get-release-plan@0.1.1
    • @changesets/apply-release-plan@0.2.1
    • @changesets/assemble-release-plan@0.2.1
    • get-dependents-graph@0.1.1
    • @changesets/git@0.2.1
    • @changesets/parse@0.2.1
    • @changesets/read@0.2.1
    • @changesets/types@0.3.0
    • @changesets/config@0.2.1

2.0.1

Patch Changes

2.0.0

Welcome to version 2 馃帀馃

Quickest summary of the most exciting changes:

馃 Changesets (the written files) have a new format! They are now human readable/writeable

馃 The config options have been completely rethought to be clearer and more concise

馃 Changesets has been significantly decomposed, allowing an easier time building tools on top of it

Major Changes

Changed command line argument names

We have removed command line arguments that overrwrite the config. The following commands can no longer be passed in:

  • updateChangelog
  • isPublic
  • skipCI
  • commit

This has been done to avoid overloading the number of ways you can pass options, as within any single repository, there should be a single consistent way in which these values are always provided.

Changed how Config works

The Changesets config is now written in JSON with fewer options. The new defaults are shown below.

{
  "$schema": "https://unpkg.com/@changesets/config/schema.json",
  "changelog": "@changesets/cli/changelog",
  "commit": false,
  "linked": [],
  "access": "private"
}

Reasoning: Having a JSON config makes it easier to build other tools on changesets because the config can be read without executing user code that could potentially be unsafe. It also means we can have easy autocompletion and descriptions in editors that don't go out of date like the comments in the JS config along with being able to packagise changelog entry generators.

Migrating
  1. Run yarn changeset init to create a config file in the new format at .changeset/config.json
  2. If you're using changelogs, move getReleaseLine and getDependencyReleaseLine to their own module and set the changelog option to the path to the module. If you're not using changelogs, set the changelog option to false. In the future, we will be providing packages to write changelogs for common use cases
  3. Set access to "public" if publishOptions.public is true, otherwise set it to "private"
  4. If you use linked, copy your linked package groups from the JS config to the the JSON file
  5. If you use commit and skipCI in versionOptions or publishOptions, set commit to true, all commits will include a skip ci message. if you have a use case for only using commit on one command or not including a skip ci message by default, contact us and we will talk about re-implementing these features.
  6. Delete .changeset/config.js

Changelog generation functions have minor changes

In addition to how these functions are defined (see changes to config), the data that is passed through to these functions is notably different to what it was before. For the most part, the changelog functions simply receive richer information, based on the new changelog format.

BREAKING: The release objects and dependency release objects now use release.newVersion for the latest version, instead of the previous release.version.

The @changesets/types package includes exports for both GetReleaseLine as well as GetDependencyReleaseLine.

If you were using the default changelog generation scripts, you won't need to worry. Otherwise, we recommend updating your command and manually running version to ensure you are still getting the changelogs you expect.

Looking further forward We are already aware that we want to change how people write these generation functions, including opening up more flexibility, and access to things such as the underlying release plan. This will likely require a breaking change in the future, but we thought we were changing enough this release that we didn't want too much turmoil. 馃榿

Renamed commands

  • bump has been renamed to version
  • release has been renamed to publish

This is a reversion to the changes made in 1.0.0.

Reasoning: We switched the names because we wanted to avoid confusion with the related tasks in npm. While technically it removed confusion that this was doing the same thing as npm version, or npm publish, the new terms did not convey easily grokkable meanings. As we weren't benefiting from the new names, we have decided to revert to names that have more meaning within the community, even though these commands do slightly more than this.

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 [ca8ff585, 296a6731]:
    • @changesets/get-release-plan@0.1.0
    • @changesets/apply-release-plan@0.2.0
    • @changesets/assemble-release-plan@0.2.0
    • @changesets/config@0.2.0
    • get-dependents-graph@0.1.0
    • get-workspaces@0.5.0
    • @changesets/git@0.2.0
    • @changesets/parse@0.2.0
    • @changesets/read@0.2.0
    • @changesets/types@0.2.0

1.3.3

Patch Changes

  • a15abbf9 - Previous release shipped unbuilt code - fixing that

1.3.1

Patch Changes

  • c46e9ee7 - Use 'spawndamnit' package for all new process spawning
  • 5b28c527 - Fix 2FA check on release
  • 6f8eb05a - Updated readme
  • 6d119893 - Move git module to be its own external module

1.3.0

Minor Changes

Patch Changes

1.2.0

Minor Changes

  • 16fde2e0 #75 Thanks @mitchellhamilton! - Use enquirer instead of inquirer for asking questions because it's smaller, faster and prettier. Change bump type questions from asking for each bump type individually per package to asking users to two questions where the user selects what packages should have major and minor bumps and the packages left are assumed to be patch bumps. This dramatically cuts down the amount of time it takes to create a changeset with a large number of packages.

    example of using the CLI with the new questions

Patch Changes

1.1.5

Patch Changes

  • 7fa42641 #61 Thanks @Noviny! - When bumping, run prettier over the changelog file.

    If you want this option turned off, add `disabledLanguage: ["markdown"] to your prettier config.

1.1.4

Patch Changes

  • 83ba6d3f - Convert various modules to TypeScript

  • a966701d - Add repository information to package.json

  • c00e65ef - Fix bug where unprovided command line options overrode the config file, leading to incorrect states

  • 8d2e700c - Remove unused function parseChangesetCommit

  • 7399648d - Make ids human readable

  • Updated dependencies [83ba6d3f]:

    • get-workspaces@0.3.0

1.1.3

Patch Changes

  • 67db935d - Fix release without built files

1.1.2

Patch Changes

1.1.1

Patch Changes

  • b93d04a2 - Consume get-workspaces as dependency

  • 079eabae #33 Thanks @mitchellhamilton! - Fix a bug with linked packages where it would break if there was a linked package that didn't have a changeset

  • Updated dependencies [b93d04a2]:

    • get-workspaces@0.1.0

1.1.0

Minor Changes

1.0.1

Patch Changes

  • 9435d886: Fix binary and published files

1.0.0

Major Changes

  • 51c8b0d6: Remove noChangelog flag in favor of updateChangelog flag (default behaviour remains the same).

    If you were using this custom flag, you will need to replaces noChangelog: true with updateChangelog: false

  • 51c8b0d6: Rename commands from @atlaskit/build-releases

    We are no longer mirroring the names from npm/yarn commands, so it is easy to write package scripts for each command without footguns. The functionality of the commands remains the same. In addition, the binary has been changed to changeset.

    The new names are:

    • build-releases initialize => changeset init (for ecosystem consistency)
    • build-releases changeset => changeset (default command). You can also run changeset add
    • build-releases version => changeset bump
    • build-releases publish => changeset release

    The function of these commands remains unchanged.

    • 51c8b0d6: Change format of changelog entries

    Previously changelog entries were in the form of:

    ## 2.1.0
    
    - [patch] Allows passing --public flag for publishing scoped packages [159c28e](https://bitbucket.org/changesets/atlaskit-mk-2/commits/159c28e)
    - [minor] Changes changelogs to be opt out rather than opt in [f461788](https://bitbucket.org/changesets/atlaskit-mk-2/commits/f461788)

    which doesn't take into account the importance of particular entries. We are moving to an ordered system for changelog entries, and to match this, we are updating the headings we use to the following format:

    ## 2.1.0
    
    ### Minor
    
    - Allows passing --public flag for publishing scoped packages [159c28e](https://bitbucket.org/changesets/atlaskit-mk-2/commits/159c28e)
    
    ### Patch
    
    - [minor] Changes changelogs to be opt out rather than opt in [f461788](https://bitbucket.org/changesets/atlaskit-mk-2/commits/f461788)

    This changes the format of the default getReleaseLine from

    const getReleaseLine = async (changeset, versionType) => {
      const indentedSummary = changeset.summary
        .split("\n")
        .map(l => `  ${l}`.trimRight())
        .join("\n");
    
      return `- [${versionType}] ${changeset.commit}:\n\n${indentedSummary}`;
    };

    to

    const getReleaseLine = async (changeset, type) => {
      const [firstLine, ...futureLines] = changeset.summary
        .split("\n")
        .map(l => l.trimRight());
    
      return `- ${changeset.commit}: ${firstLine}\n${futureLines
        .map(l => `  ${l}`)
        .join("\n")}`;
    };

    You will end up with some odd changelog entries if you do not update your release line.

Minor Changes

  • 51c8b0d6: Support non-bolt repositories

    Changesets have been expanded to support:

    • bolt repositories
    • yarn workspaces-based repositories
    • single package repositories.

    Currently not supported: bolt repositories with nested workspaces.

    To do this, functions that call out to bolt have been inlined, and obviously marked within the file-system. In addition, the get-workspaces function has undergone significant change, and will be extracted out into its own package soon.

    This is to support other tools wanting this level of interoperability.

    If plans to modularize bolt proceed, we may go back to relying on its functions.

    This should have no impact on use.

    • 51c8b0d6: Add 'select all' and 'select all changed' options, to make mass-bumping easier.
    • eeb4d5c6: Add new command: status - see Readme for more information

@atlaskit/build-releases - legacy changelog

3.0.3

  • [patch]c87337f:

    • The version command now removes empty folders before it starts. This should prevent a race condition in CI

3.0.2

  • [patch]f7b030a:

    • Fixes potential infinite loop in parseChangesetCommit

3.0.1

  • [patch]494c1fe:

    • Update git commit message to match previous tooling.

3.0.0

  • [major][44ec8bf" d](https://bitbucket.org/changesets/atlaskit-mk-2/commits/44ec8bf" d):

    Changesets now use local file system - this has several effects:

    1. Changesets will no longer automatically create a commit. You will need to add and commit the files yourself.
    2. Changesets are easier to modify. You should ONLY modify the changes.md file (Not changes.json).
    3. There will be a new directory which is .changeset, which will hold all the changesets.

    Apart from these changes, your process using this should not have changed.

    Changeset now accepts skipCI flag, where previously release commits automatically skipped CI. i.e.

    yarn build-releases version --skipCI
    

    Breaking: Changeset and version commands now accept --commit flag which makes them commit automatically (previously this was the default behaviour). Otherwise, these commands simply make the file-system changes.

    yarn build-releases changeset --commit
    

    We also introduce the intitialize command. See the package README.md for more details about this.

2.1.3

  • [patch] Bumps bolt version to get some bug fixes around publishing 493f5f7

2.1.2

  • [patch] Pulls in fix in bolt causing publishing to fail when running a yarn subprocess (see boltpkg/bolt #189) 2b36121

2.1.1

  • [patch] Fixes bug where empty summaries would cause a changeset to not get found 25b30bf

2.1.0

  • [minor] Allows passing --public flag for publishing scoped packages 159c28e
  • [minor] Changes changelogs to be opt out rather than opt in f461788

2.0.0

1.28.2

  • [patch] Bug fix and better error messages for changeset error 7f09b86

1.28.1

  • [patch] update flow dep, fix flow errors 722ad83

1.28.0

  • [minor] Adds tagging to releases 34c64fd

1.27.0

  • [minor] Splits out and exposes flattenChangesets function 5ee5f74

1.26.0

  • [minor] Lots of new features (consider this package unstable and only for use internally) 7cdf2e6