-
#1840
057cca2Thanks @wotan-allfather! - Add--sinceflag toaddcommandThe
addcommand now supports a--sinceflag that allows you to specify which branch, tag, or git ref to use when detecting changed packages. This is useful for gitflow workflows where you have multiple target branches and thebaseBranchconfig option doesn't cover all use cases.Example:
changeset add --since=developIf not provided, the command falls back to the
baseBranchvalue in your.changeset/config.json. -
#1845
2b4a66aThanks @Andarist! - Delegate OTP prompting to the package manager instead of handling it in-process. This allows Changesets to use the package manager's native web auth support. -
#1774
667fe5aThanks @bluwy! - Support importing customcommitoption ES module. Previously, it usedrequire()which only worked for CJS modules, however now it usesimport()which supports both CJS and ES modules. -
#1839
73b1809Thanks @leochiu-a! - Add a--message(-m) flag tochangeset add(and defaultchangeset) so the changeset summary can be provided from the command line. When--messageis present, the summary prompt is skipped while the final confirmation step is kept. -
#1806
0e8e01eThanks @luisadame! - Changeset CLI can now be run from the nested directories in the project, where the.changesetdirectory has to be found in one of the parent directories
-
#1849
9dc3230Thanks @Andarist! - Compute the terminal's size lazily to avoid spurious stderr output in non-interactive mode -
#1857
2a73025Thanks @mixelburg! - Fix confusing prompt labels when entering changeset summary after external editor fallback -
#1842
6df3a5eThanks @RodrigoHamuy! - Allow private packages to depend on skipped packages without requiring them to also be skipped. Private packages are not published to npm, so it is safe for them to have dependencies on ignored or unversioned packages. -
#1776
503fcaaThanks @bluwy! - Support absolute paths inchangeset status --output <path> -
Updated dependencies [
667fe5a,1772598,b6f4c74,6df3a5e,6df3a5e,27fd8f4]:- @changesets/apply-release-plan@7.1.0
- @changesets/config@3.1.3
- @changesets/get-release-plan@4.0.15
- @changesets/read@0.6.7
-
#1437
aa68d54Thanks @with-heart! - Tweaked a hint text printed when one confirms an empty set of packages to be released -
Updated dependencies [
cc28222,e520bf5,13dace8]:- @changesets/config@3.1.2
- @changesets/apply-release-plan@7.0.14
- @changesets/get-release-plan@4.0.14
- @changesets/read@0.6.6
- Updated dependencies [
957f24e]:- @changesets/apply-release-plan@7.0.13
- #1712
a3563b0Thanks @benmccann! - Switch to maintained fork ofexternal-editor
-
#1693
6352819Thanks @Andarist! - Fixed an issue withworkspace:^andworkspace:~dependency ranges not being semantically treated as, respectively,^CURRENT_VERSIONand~CURRENT_VERSION. This led to dependent packages being, at times, bumped too often when their dependencies with those ranges were bumped. -
Updated dependencies [
6352819]:- @changesets/assemble-release-plan@6.0.9
- @changesets/get-release-plan@4.0.13
-
#1668
65d6632Thanks @Andarist! - Fixed a crash in pre mode when trying to version private packages when tagging for private package is disabled -
Updated dependencies [
65d6632]:- @changesets/assemble-release-plan@6.0.8
- @changesets/get-release-plan@4.0.12
-
#1589
de8bebcThanks @remorses, @vzt7! - Fixed a crash in prerelease mode when a package misses the version field in itspackage.json -
#1619
c1e8a78Thanks @manucorporat! - Support../inpublishConfig.directorywhen publishing packages -
Updated dependencies [
de8bebc]:- @changesets/assemble-release-plan@6.0.7
- @changesets/get-release-plan@4.0.11
-
#1636
f73f84aThanks @Netail! - Correctly resolve new changesets withsinceoption when the.changesetdirectory is not directly in the git root -
Updated dependencies [
f73f84a]:- @changesets/read@0.6.5
- @changesets/git@3.0.4
- @changesets/get-release-plan@4.0.10
- @changesets/apply-release-plan@7.0.12
-
#1620
b15e629Thanks @Netail! - Correctly fetch new changesets with since if the git option diff.relative has been set to true -
Updated dependencies [
b15e629]:- @changesets/git@3.0.3
- @changesets/apply-release-plan@7.0.11
- @changesets/read@0.6.4
- @changesets/get-release-plan@4.0.9
- #1470
29f34a3Thanks @JounQin! - Support scoped registries configured usingpackage.json#publishConfig
- Updated dependencies [
b9df596]:- @changesets/config@3.1.1
- @changesets/apply-release-plan@7.0.10
- @changesets/get-release-plan@4.0.8
- #1453
84a4a1bThanks @bennypowers! - Added a new config option to opt-out from formatting with Prettier usingprettier: false.
- Updated dependencies [
84a4a1b,84a4a1b]:- @changesets/types@6.1.0
- @changesets/config@3.1.0
- @changesets/write@0.4.0
- @changesets/apply-release-plan@7.0.9
- @changesets/assemble-release-plan@6.0.6
- @changesets/changelog-git@0.2.1
- @changesets/get-dependents-graph@2.1.3
- @changesets/get-release-plan@4.0.7
- @changesets/pre@2.0.2
- @changesets/read@0.6.3
- @changesets/should-skip-package@0.1.2
-
#1562
a0f87f1Thanks @Netail, @cefn! - Fixed changelog application when executing usingnpxand similar tools -
Updated dependencies [
a0f87f1]:- @changesets/apply-release-plan@7.0.8
- Updated dependencies [
f0270f6]:- @changesets/config@3.0.5
- @changesets/apply-release-plan@7.0.7
- @changesets/get-release-plan@4.0.6
-
#1485
baf5644Thanks @bluwy! - Ignore error if failed to find changed packages inchangeset add -
#1489
7bf751cThanks @marcalexiei! - Use custom errors when exiting add command due to missing tool -
#1466
ccce743Thanks @marcalexiei! - Add error message and exit when there are no versionable packages -
#1514
962ab91Thanks @nicoalonsop! - Update spawndamnit to fix cross-spawn vulnerability -
Updated dependencies [
7323704,26c8ba9,82cacb2,962ab91]:- @changesets/config@3.0.4
- @changesets/git@3.0.2
- @changesets/assemble-release-plan@6.0.5
- @changesets/read@0.6.2
- @changesets/apply-release-plan@7.0.6
- @changesets/get-release-plan@4.0.5
-
#1458
400ab7bThanks @benmccann! - Moved@types/semvertodevDependencies -
#1462
689e541Thanks @benmccann! - removeoutdentdependency
-
#1417
bc75c1aThanks @trivikr! - Replacechalkwithpicocolorsto reduce install size -
#1445
52c302aThanks @bluwy! - Remove unused@babel/runtimedependency -
#1446
5150fc1Thanks @benmccann! - Switched frompreferred-pmtopackage-manager-detectorin order to reduce installation size -
Updated dependencies [
bc75c1a,52c302a]:- @changesets/get-dependents-graph@2.1.2
- @changesets/logger@0.1.1
- @changesets/read@0.6.1
- @changesets/assemble-release-plan@6.0.4
- @changesets/should-skip-package@0.1.1
- @changesets/apply-release-plan@7.0.5
- @changesets/get-release-plan@4.0.4
- @changesets/write@0.3.2
- @changesets/git@3.0.1
- @changesets/pre@2.0.1
- @changesets/config@3.0.3
-
#1047
d108fa6Thanks @patzick! - Fixed a crash that could occur when depending on a tagged version of another workspace package. -
#1400
dd6e5bbThanks @Andarist! - Fixed a crash that prevented the CLI from running in a scenario when a workspace depends on the root workspace -
Updated dependencies [
d108fa6,dd6e5bb,dd6e5bb]:- @changesets/apply-release-plan@7.0.4
- @changesets/config@3.0.2
- @changesets/get-dependents-graph@2.1.1
- @changesets/assemble-release-plan@6.0.3
- @changesets/get-release-plan@4.0.3
-
#1392
f295b3eThanks @bluwy! - Replacemeowdependency withmrito reduce the number of transitive dependencies -
#1390
6a3452eThanks @bluwy! - Displaychangeset status --verbosein list form and removetty-tabledependency
-
#1370
5e9d33aThanks @Andarist! - Fixed a regression that causedchangeset versionto fail on packages having a dev dependency on a skipped package. -
Updated dependencies [
5e9d33a]:- @changesets/get-dependents-graph@2.1.0
- @changesets/assemble-release-plan@6.0.2
- @changesets/config@3.0.1
- @changesets/get-release-plan@4.0.2
- @changesets/apply-release-plan@7.0.3
-
#1361
954a16aThanks @jakebailey! - Version 2.25.0 introduced theprivatePackageconfiguration option with default{ version: false, tag: false }; due to a bug, these options were not respected in all commands, leading to commands likechangeset tagstill tagging private packages. This has been fixed, and all packages now respect this option. -
#1369
d729d8cThanks @Andarist! -changeset tagshould now correctly skip tags that exist on the remote -
Updated dependencies [
954a16a]:- @changesets/assemble-release-plan@6.0.1
- @changesets/apply-release-plan@7.0.2
- @changesets/get-release-plan@4.0.1
- #1357
18c966aThanks @Andarist! - Fixed an issue withchangeset statusexecuted withoutsinceargument. It should now correctly use the configured base branch as the default value.
-
#1354
69be7dcThanks @Andarist! - Fixed an issue withchangeset statusincorrectly returning an error status in two cases:- for changed ignored packages
- for changed private packages when
privatePackage.versionwas set tofalse
-
#1351
c6da182Thanks @TheHolyWaffle! - Fix an issue with not applying a custom.prettierrcconfiguration withprettier@>= 3.1.1 -
Updated dependencies [
c6da182]:- @changesets/apply-release-plan@7.0.1
- @changesets/write@0.3.1
- #1267
86cfff1Thanks @Andarist! - Make./bin.jsavailable throughpackage.json#exportsto fix compatibility withchangesets/action.
-
#1185
a971652Thanks @Andarist! -package.json#exportshave been added to limit what (and how) code might be imported from the package. -
#1236
dfd4ccaThanks @camertron! - Avoid using short commit IDs
-
#1053
90a870aThanks @paescuj! - Replace the dependencyis-ciwithci-info. -
Updated dependencies [
a971652,dfd4cca]:- @changesets/assemble-release-plan@6.0.0
- @changesets/get-dependents-graph@2.0.0
- @changesets/apply-release-plan@7.0.0
- @changesets/get-release-plan@4.0.0
- @changesets/changelog-git@0.2.0
- @changesets/config@3.0.0
- @changesets/errors@0.2.0
- @changesets/logger@0.1.0
- @changesets/types@6.0.0
- @changesets/write@0.3.0
- @changesets/read@0.6.0
- @changesets/git@3.0.0
- @changesets/pre@2.0.0
-
#1176
41988ceThanks @joshwooding! - Bumpsemverdependency to v7.5.3 -
Updated dependencies [
41988ce]:- @changesets/apply-release-plan@6.1.4
- @changesets/assemble-release-plan@5.2.4
- @changesets/get-dependents-graph@1.3.6
- @changesets/get-release-plan@3.0.17
- @changesets/config@2.3.1
- #1115
feddc88Thanks @Andarist! - Callpnpm publishdirectly from the directory of the published package. This allowspnpmto correctly handle configuredpublishConfig.directory.
-
#1033
521205dThanks @Andarist! - A new config-levelchangedFilePatternsoption has been added. You can configure it with an array of glob patterns like here:// .changeset/config.json { "changedFilePatterns": ["src/**"] }
Files that do not match the configured pattern won't contribute to the "changed" status of the package to which they belong. This both affects
changesets addandchangeset status.
- Updated dependencies [
598136a,521205d,521205d,598136a,598136a,521205d]:- @changesets/git@2.0.0
- @changesets/config@2.3.0
- @changesets/types@5.2.1
- @changesets/apply-release-plan@6.1.3
- @changesets/read@0.5.9
- @changesets/assemble-release-plan@5.2.3
- @changesets/get-release-plan@3.0.16
- @changesets/changelog-git@0.1.14
- @changesets/get-dependents-graph@1.3.5
- @changesets/pre@1.0.14
- @changesets/write@0.2.3
- Updated dependencies [
6cc4300]:- @changesets/apply-release-plan@6.1.2
- @changesets/write@0.2.2
-
#997
4d4d67bThanks @JakeGinnivan! - Add error message when running changesets in a repo with workspaces configured but no packages yet -
#985
8d0115eThanks @mino01x! - Fixed an issue with private packages with versions being included in the CLI prompt despite theprivatePackages.version: falsesetting.
-
#662
8c08469Thanks @JakeGinnivan! - Private packages can now be tagged in the same way public packages do when they are published to npm.To enable set
privatePackages: { version: true, tag: true }in your config.json.You can also now opt private packages out of versioning entirely by setting
privatePackages: false.
-
#953
98d63e0Thanks @alexamy! - Add a new line at the end of the default config file generated when invokingchangeset init. -
#949
64585eaThanks @Andarist, @BPScott! - Fixed the issue that caused transitive dependents of dev dependents to be bumped when a package got bumped and when using___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.updateInternalDependents: "always". To illustrate this with an example:pkg-a - version: 1.0.0 pkg-b - devDependencies['pkg-a']: 1.0.0 pkg-c - dependencies['pkg-b']: 1.0.0With a changeset for
pkg-athepkg-ccould have been sometimes incorrectly released. -
Updated dependencies [
8c08469,8c08469,64585ea]:- @changesets/git@1.5.0
- @changesets/config@2.2.0
- @changesets/types@5.2.0
- @changesets/assemble-release-plan@5.2.2
- @changesets/apply-release-plan@6.1.1
- @changesets/read@0.5.8
- @changesets/get-release-plan@3.0.15
- @changesets/changelog-git@0.1.13
- @changesets/get-dependents-graph@1.3.4
- @changesets/pre@1.0.13
- @changesets/write@0.2.1
- Updated dependencies [
c140171]:- @changesets/apply-release-plan@6.1.0
- @changesets/write@0.2.0
- Updated dependencies [
b023e4b]:- @changesets/assemble-release-plan@5.2.1
- @changesets/get-release-plan@3.0.14
-
#900
7d998eeThanks @sdirosa! - Fixed an issue with generating changelogs not being skipped when thechangelogconfig option was set tofalse. -
#720
0fd56e1Thanks @bhovhannes! - Private packages without aversionfield are no longer listed when adding a changeset. -
#844
8627ec1Thanks @Andarist! - Attempt to logstdoutwhen publish fails ifstderris 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
- 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
-
#858
dd9b76fThanks @dotansimha! - Added a new config flag forchangesets version --snapshotmode:--snapshot-prerelease-template -
#858
dd9b76fThanks @dotansimha! - Added a new config option:snapshot.prereleaseTemplatefor customizing the way snapshot release numbers are being composed.
-
#858
dd9b76fThanks @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 calledsnapshot.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
-
#843
101b1cbThanks @caohuilin! - Fixed the printed filename in the verbose output ofchangeset status. -
#857
7febb59Thanks @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
84e46d1Thanks @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
- #796
745b771Thanks @JakeGinnivan! - Upgradedtty-tableto fix deprecation warnings coming from its transitive dependency.
-
#811
c54c25dThanks @samrose3! - Improved accessibility of the CLI prompts by using selected/unselected indicators that don't rely solely on the colors. -
#767
d6bfcc5Thanks @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
- #768
c87eba6Thanks @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 containgetAddMessageand/orgetVersionMessage. This allows you to configure how the commit message is generated, if[skip ci]gets included, etc.
-
#776
ad7506dThanks @janosh! -changeset initwill now configurebaseBranch: "main"in the.changeset/config.jsonas the default value. -
#770
eb86652Thanks @alizeait! -changeset addandchangeset statusshould 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
-
#760
5a2a59aThanks @Andarist! - Fixed an issue with logging non-stringified Buffers in case of publish errors. -
#769
3e8e672Thanks @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
-
#690
27a5a82Thanks @Andarist! - Added a new.changeset/config.jsonoption: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.
-
#706
0812858Thanks @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
15c461dThanks @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
d14cf79Thanks @Andarist! - Fixed an issue that caused created CHANGELOG files not being formatted in the same way as the updated ones (this could happen when callingchangeset versionfor the very first time for a package). -
#751
59c7ebcThanks @Rugvip! - Fixed an issue where dependent packages would sometimes not get bumped properly when exiting prerelease mode. -
#703
15c461dThanks @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
-
#698
9e14a9aThanks @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
6f9c9d6Thanks @Andarist! - Dependencies specified using a tag will no longer result in printing incorrect errors in the console.
-
#740
957e39cThanks @akphi! - Fixed an issue with failing to parse changesets containing a completely empty summary. -
#693
1be201fThanks @luciaquirke! - Fixed an issue withnonerelease 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
- #701
b9b6453Thanks @Andarist! - Added support for a--no-git-tagCLI flag that can be used withchangeset publishto skip creating git tags for published packages. This is mostly useful when publishing snapshot releases.
-
#713
82be80eThanks @zthxxx! - Fixed an issue with not being able to reenter exited pre mode. -
#708
ab8f2b2Thanks @Andarist! - Updatedis-cidependency that helps us to check if Changesets are executed in the CI environment. -
#710
4272cb0Thanks @Andarist! - Errors received fromnpm 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
-
#676
d8f0e68Thanks @Andarist! - Improved compatibility with npm 7+ since they've started to print errors to thestderr(where previously they were printed tostdout) when usingnpm publish --json. -
#676
d8f0e68Thanks @Andarist! - Fixed an internal issue that preventednpm 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
fe8db75Thanks @fz6m! - Upgraded@manypkg/get-packagesdependency 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
-
#634
2b49c39Thanks @joeldenning! - The newchangeset tagcommand 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 publishis executed, runningchangeset tagis not needed.Note that it is expected that
changeset versionis run beforechangeset tag, so that thepackage.jsonversions 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 respectivepackage.json.
-
#585
74dda8cThanks @javier-garcia-meteologica! - Add support forworkspace:^andworkspace:~dependency ranges. -
#660
5413f3eThanks @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 runningchangeset add && changeset versionin 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
- #626
bc611cfThanks @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.
-
#582
e89e28aThanks @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
-
#542
de2b4a5Thanks @Andarist! - A newupdateInternalDependentsexperimental 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
6353abfThanks @Andarist! - Stop asking for changeset confirmation when it has been provided using an external editor.
- 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
- #559
bb7106dThanks @Andarist! - Added new--openflag to theaddcommand. It opens the created changeset with an external editor.
- Updated dependencies [
8b9ac07]:- @changesets/assemble-release-plan@4.1.1
12f9a43#507 Thanks @zkochan! - New setting added: bumpVersionsWithWorkspaceProtocolOnly. When it is set totrue, versions are bumped independencies, only if those versions are prefixed by the workspace protocol. For instance,"foo": "workspace:^1.0.0".
- 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
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.
-
412b4b9#504 Thanks @vitorbal! -changeset statuscommand 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 configurefetch-depth: 0for youractions/checkoutwhen using Changesets GitHub action.
c6d38b5#469 Thanks @camdub! - Handle JSON errors for unpublished packages on the github package registry
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.npmrcfiles put in the root directory.
00e2602#473 Thanks @zzarcon! - Upgradedmeowdependency to benefit from itsyarg-parserdependency upgrade that contains a security fix.
e33e4ca#458 Thanks @emmenko! - Allow glob expressions to be provided for thelinkedandignoreoptions
-
a60c0e1#465 Thanks @Andarist! - Fixed the printed description of howprecommand can be used. -
Updated dependencies [
f4973a2,e33e4ca]:- @changesets/types@3.2.0
- @changesets/config@1.4.0
-
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
-
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
-
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, usingpublishConfig.directoryfield
-
868eb1e#434 Thanks @mitchellhamilton! - Add--no-git-checkstopnpm publishinchangeset publishto resolve issues with publishing on CI -
Updated dependencies [
1dd3117,a57d163]:- @changesets/git@1.0.6
- @changesets/types@3.1.1
-
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
-
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 theversioncommand. 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 theignorearray in the config file with the name of the packages:{ ... "ignore": ["pkg-a", "pkg-b"] ... }or you can pass the package names to the
--ignoreflag when using cli:yarn changeset version --ignore pkg-a --ignore --pkg-b
- 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
-
6d0790a#359 Thanks @ajaymathur! - Add support for snapshot flag to version command. Usage:changeset version --snapshot [tag]. The updated version of the packages looks like0.0.0[-tag]-YYYYMMDDHHMMSSwhere 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 whatnpm versiongenerates, so for examplev2.8.0.
- Updated dependencies [
6d0790a]:- @changesets/apply-release-plan@3.1.0
- @changesets/assemble-release-plan@2.1.0
-
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 withupdateInternalDependenciesset to minor. -
Updated dependencies [
90f3b65]:- @changesets/apply-release-plan@3.0.3
-
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
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.
- 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
-
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
- 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
-
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
-
04ddfd7#305 Thanks @Noviny! - Add link to changelog in readme -
b49e1cf#306 Thanks @Andarist! - Ignorenode_moduleswhen 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
-
41e2e3d#292 Thanks @acheronfail! - Use@changesets/writefor writing changesets internally -
cc8c921#290 Thanks @mitchellhamilton! - Use@manypkg/get-packagesinstead ofget-workspacesinternally -
cc8c921#290 Thanks @mitchellhamilton! - Don't showall packagesin list of selected packages in major and minor questions inaddcommand after the question is answered -
Updated dependencies [
41e2e3d,cc8c921,cc8c921,cc8c921,cc8c921,cc8c921,2363366,41e2e3d,41e2e3d,cc8c921,cc8c921]:- @changesets/types@1.0.0
- @changesets/git@1.0.0
- @changesets/pre@1.0.0
- @changesets/get-release-plan@1.0.0
- @changesets/apply-release-plan@1.0.0
- @changesets/parse@0.3.2
- @changesets/write@0.1.0
- @changesets/config@1.0.0
- @changesets/assemble-release-plan@1.0.0
- @changesets/read@0.4.2
ca934d7#282 Thanks @tarang9211! - Add all packages option to major and minor selects
-
2adfe66#288 Thanks @mitchellhamilton! - Stop runningnpm profile getwhen using non-npm registries -
Updated dependencies []:
- @changesets/apply-release-plan@0.4.2
-
184a653#278 Thanks @mitchellhamilton! - Use a single prompt for the semver version type when there is only a single package in the repo inchangeset add
-
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
-
fe0d9192#236 Thanks @Andarist! - When in pnpm-managed project use pnpm for publishing. -
fe0d9192#236 Thanks @Andarist! - Read also pnpm workspace packages when searching for packages.
-
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
-
bca8865#221 Thanks @mitchellhamilton! - Added support forbaseBranchoption which specifies what branch Changesets should use when determining what packages have changed -
bca8865#221 Thanks @mitchellhamilton! - Added support for--sinceoption to thestatuscommand which shows the release plan since the git ref(branch, tag, commit, etc.) specified with--sinceand deprecate--sinceMasteroption
-
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
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
a0b5dba#209 Thanks @ryanbraganza! - Skip OTP check during isCI
8f0a1ef#183 Thanks @mitchellhamilton! - Add support for prereleases. Prereleases work with two new commands,pre enterandpre exitalong with changes toversionandexit. For more information, see the docs on prereleases.
-
8f0a1ef#183 Thanks @mitchellhamilton! - AddInternalErrorfor 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
-
a679b1d#204 Thanks @Andarist! - RespectpublishConfig.accessin workspace package.jsonsPreviously, every package in your repository had one 'public' or 'restricted' setting.
Now, if a workspace has
publishConfig.accessin its package.json, we will prioritize it over the global changesets config. -
51a0d76#182 Thanks @ajaymathur! - Updated the package to use the new@changesets/loggerfor logging.
-
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 packagesPreviously, 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
publicorrestricted. -
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
- Remove console log
- When 2fa token is wrong (ie, it has expired) reprompt instead of failing
-
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.
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.
-
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
-
f63b652#176 Thanks @mitchellhamilton! - Change the log type of the default config writing message fromerrortoinfobecause the message isn't an error -
df35f32#179 Thanks @ryanbraganza! - Remove dependency on uuid -
94de7c1#173 Thanks @ajaymathur! - Catch errors from git being absent and continue on as best possible -
72babcb#178 Thanks @mitchellhamilton! - Fix changelog generator options not being provided -
Updated dependencies [
72babcb]:- @changesets/apply-release-plan@0.2.2
- @changesets/git@0.2.3
-
89c0894 #167 Thanks @Noviny! - Fix broken
--since-masterflag (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
-
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
-
62873042 #153 Thanks @mitchellhamilton! - Make init write the default config file if it doesn't exist with a special message if an old config file exists
-
85f837a7 #150 Thanks @mitchellhamilton! - Fix init command from crashing because it was trying to access a config that doesn't exist
-
709493b4 - Fix version always removing legacy changesets even when the commit option is false
-
16cb2ff3 #151 Thanks @mitchellhamilton! - Include changelog directory in published files
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
We have removed command line arguments that overrwrite the config. The following commands can no longer be passed in:
updateChangelogisPublicskipCIcommit
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.
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.
- Run
yarn changeset initto create a config file in the new format at.changeset/config.json - If you're using changelogs, move
getReleaseLineandgetDependencyReleaseLineto their own module and set the changelog option to the path to the module. If you're not using changelogs, set the changelog option tofalse. In the future, we will be providing packages to write changelogs for common use cases - Set
accessto"public"ifpublishOptions.publicistrue, otherwise set it to"private" - If you use
linked, copy your linked package groups from the JS config to the the JSON file - If you use
commitandskipCIinversionOptionsorpublishOptions, set commit totrue, 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. - Delete
.changeset/config.js
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. 😁
bumphas been renamed toversionreleasehas been renamed topublish
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.
- 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.
- 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
- a15abbf9 - Previous release shipped unbuilt code - fixing that
- c46e9ee7 - Use 'spawndamnit' package for all new process spawning
- 5b28c527 - Fix 2FA check on release
- 6f8eb05a - Updated readme
- 6d119893 - Move
gitmodule to be its own external module
-
e55fa3f0 #92 Thanks @highvoltag3! - Catch Promise rejection on SIGINT and exit gracefully
-
94267ff3 #106 Thanks @mitchellhamilton! - Improve 2FA support for publishing:
- Prompt for an OTP code when required
- Add
--otpoption to release command
-
a700de81 #104 Thanks @Noviny! - Fix auto-generated documentation to point outwards to changesets repo to stop it going stale
-
94267ff3 #106 Thanks @mitchellhamilton! - Inline last usages of bolt
-
d4bbab4e #91 Thanks @mitchellhamilton! - Convert some internals to TypeScript
-
Updated dependencies [cbb2c953]:
- get-workspaces@0.4.0
-
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.
-
20da7747 #66 Thanks @Noviny! - Update package.json field so each links into its own package
-
29ff34ed #82 Thanks @mitchellhamilton! - Limit the number of rows the package selection question takes up so that the question is still visible in repos with a very large number of packages
-
ef9be2df #81 Thanks @mitchellhamilton! - Fix tables in status command from flowing over to the next line
-
91000292 #78 Thanks @mitchellhamilton! - Fix misaligned CLI messages
-
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.
- 6dc510f4 #62 Thanks @mitchellhamilton! - Add butterfly emoji prefix to CLI output
-
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
- 67db935d - Fix release without built files
-
c6f1c7b7 #46 Thanks @mitchellhamilton! - Convert a file to TypeScript
-
9fe9ecff #45 Thanks @Noviny! - Print out the last changes.md path in terminal as last step of adding a changeset
-
61ac9ce7 #42 Thanks @mitchellhamilton! - Make "All changed packages" option first in package list
-
Updated dependencies [355b4d00]:
- get-workspaces@0.2.0
-
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
- 6929624b #27 Thanks @mitchellhamilton! - Add linked packages/lockstep
- 9435d886: Fix binary and published files
-
51c8b0d6: Remove
noChangelogflag in favor ofupdateChangelogflag (default behaviour remains the same).If you were using this custom flag, you will need to replaces
noChangelog: truewithupdateChangelog: 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 runchangeset addbuild-releases version=>changeset bumpbuild-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
getReleaseLinefromconst 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.
-
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-workspacesfunction 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
-
[patch]c87337f:
- The version command now removes empty folders before it starts. This should prevent a race condition in CI
-
[patch]f7b030a:
- Fixes potential infinite loop in parseChangesetCommit
-
[patch]494c1fe:
- Update git commit message to match previous tooling.
-
[major][44ec8bf" d](https://bitbucket.org/changesets/atlaskit-mk-2/commits/44ec8bf" d):
Changesets now use local file system - this has several effects:
- Changesets will no longer automatically create a commit. You will need to add and commit the files yourself.
- Changesets are easier to modify. You should ONLY modify the changes.md file (Not changes.json).
- 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 --skipCIBreaking: Changeset and version commands now accept
--commitflag which makes them commit automatically (previously this was the default behaviour). Otherwise, these commands simply make the file-system changes.yarn build-releases changeset --commitWe also introduce the
intitializecommand. See the package README.md for more details about this.
- [patch] Bumps bolt version to get some bug fixes around publishing 493f5f7
- [patch] Pulls in fix in bolt causing publishing to fail when running a yarn subprocess (see boltpkg/bolt #189) 2b36121
- [patch] Fixes bug where empty summaries would cause a changeset to not get found 25b30bf
- [minor] Allows passing --public flag for publishing scoped packages 159c28e
- [minor] Changes changelogs to be opt out rather than opt in f461788
- [major] Completely refactors build-releases to be externally consumable 8458ef7](https://bitbucket.org/changesets/atlaskit-mk-2/commits/8458ef7)
- [patch] Bug fix and better error messages for changeset error 7f09b86
- [patch] update flow dep, fix flow errors 722ad83
- [minor] Adds tagging to releases 34c64fd
- [minor] Splits out and exposes flattenChangesets function 5ee5f74
- [minor] Lots of new features (consider this package unstable and only for use internally) 7cdf2e6



