Skip to content

Latest commit

 

History

History
218 lines (151 loc) · 20 KB

CHANGELOG.md

File metadata and controls

218 lines (151 loc) · 20 KB

Changelog

[0.12.0]

Enhancements

  • e2c83dc (#318 by @jbolda) Add exports to package.json for improved capability and an enhanced experience when developed covector and testing locally.
  • ce43ad7 (#319 by @jbolda) Add logger instance to allow custom loggers based on the usage context. It enables different structured logs for the CLI vs within a GitHub Action, as well as for local development and testing.

Dependencies

  • Upgraded to @covector/files@0.8.0
  • Upgraded to @covector/command@0.8.0

Changes Supporting Covector Development

  • ce43ad7 (#319 by @jbolda) Switch to Vitest for the test runner. This improves speed and enables improved ability to update to current standards. Additionally, we use pino-test with the changes to the logger to more specifically check log output. Along with this, we switch multiple test fixtures to run commands that would return more standard output across OS which reduces test flakiness.

[0.11.0]

  • 9e111fc (#304 by @jbolda) Add currentVersion property to more easily refer to the version before a bump.
  • 9202dca (#307 by @jbolda) Use additional git log flags, --diff-filter=ACM --remove-empty, to filter out previous versions of files with non-unique (across all shas) file names.

Dependencies

  • Upgraded to @covector/files@0.7.2
  • Upgraded to @covector/command@0.7.1

[0.10.3]

Dependencies

  • Upgraded to @covector/files@0.7.1

[0.10.2]

Enhancements

  • 7498ecc(#289) Implement zod for config file schema parsing and checking. It will throw an error if the config.json has entries that do not match the schema.

Dependencies

  • Upgraded to @covector/files@0.7.0

[0.10.1]

Enhancements

  • de4f709(#285) Consider getPublishedVersion can be either a string or an object.

Dependencies

  • Upgraded to @covector/files@0.6.2
  • Upgraded to @covector/command@0.7.0

[0.10.0]

Dependencies

  • 7b6201c(#264) Bump Typescript to v4.9, and deeply update types in the lower level functions to start.

New Features

  • 0b33560(#244) Add changelog tags (section or category) to group different change files.

[0.9.0]

  • Package file objects now include the dependencies keyed by the name with an array including the dependency type. This information is now passed to the commands pipeline.
  • Update multiple devDeps, semver, yargs, inquirer, and packages in our action. This is primarily internal upgrades and don't affect external APIs.
  • When collecting git log metadata for change files, running it in parallel caused occasional no-op which increasingly became more flaky with more files. Adjust this to run it serially which should be a neglible difference.
    • bf94c90 undefined commits in changelog, git log needs to be run serially (#261) on 2023-01-16
  • Remove the to-vfile package as a dependency. This allows us to focus our file reference to our specific needs, and one less dependency to maintain. With this change, we also converted a handful of promises into generators for better compatibility and control with effection.
  • Upgrade to effection v2. This is primarily an internal improvement, but will enable future features such as fetching from an endpoint to check if a version of a package was published. It also brings an updated dependency to gracefully shutdown windows processes.

[0.8.2]

  • Include a copy of the license in each package.
    • Bumped due to a bump in all.
    • fa5c061 chore: add license files to packages (#225) on 2021-09-24

[0.8.1]

  • The ability to adjust the Github Release git tag was previously added, and the fallback used only worked for JavaScript packages. This fix uses the package nickname instead which will work for any package manager.
    • e4eb944 fix: github release tag using package nickname (#218) on 2021-07-02

[0.8.0]

  • Allow one to specify the releaseTag that determines the Github Release tag used. This also let's you specify false to explicitly skip creating a Github Release for the package. resolves #203, resolves #204.
    • 6742580 feat: publish existing draft GitHub Release (#211) on 2021-06-18
  • Extract out types into separate package to remove issues with circular dependencies.
    • 519da36 chore: set paths / references for TS and add types package (#213) on 2021-06-26

[0.7.0]

  • Adjust output from assemble and covector to expose the template that is piped into each command. This allows us to set it as an output in the github action.
    • 5797e79 feat: github action output template pipe (#208) on 2021-05-18
  • Assemble considers preMode and will return pre* bumps to be used in apply.
    • e388cc7 feat: prerelease mode and publishing (#180) on 2021-05-13
  • Implement errorOnVersionRange which allows one to set a range which, when satisfied, will fail a covector status or covector version. This guardrail can help prevent a package from accidentally being bumped to the next major version.
    • e388cc7 feat: prerelease mode and publishing (#180) on 2021-05-13
  • Improve types on generator based shell commands. This won't affect the published assets, but improve use to downstream TS users (and covector).
    • e388cc7 feat: prerelease mode and publishing (#180) on 2021-05-13
  • This switches to using Typescript project references to build (previously rollup). It should affect the underlying packages or use.
    • a9aedb1 chore: build workflow updates (#175) on 2021-04-07
    • 5506b19 feat: add preview command to covector (#187) on 2021-05-05
    • e388cc7 feat: prerelease mode and publishing (#180) on 2021-05-13
  • Pass head branch name into covector for running preview in action Tag gets piped into template in assemble Fix published boolean bug in command
    • 2bdc840 feat: Add dist-tag for preview publishing... and fix the published boolean bug (#200) on 2021-05-13
  • Add support for yaml based package files. Add support for generic file whose only content is a version number.
    • e8c98f5 feat: yaml and generic file support (#196) on 2021-05-07
  • Throw an error if we receive a malformed change file or one that is otherwise missing any changes. Closes #201.
    • 073202b fix: throw error on empty change file (#205) on 2021-05-12

[0.6.1]

  • Mock out full Github Release flow to help in testing the Github Action. Adjust command pipe to function to fix undefined being piped to Github Release body.
    • Bumped due to a bump in @covector/command.
    • a7e1b20 fix: mock out full GitHub release flow (#172) on 2021-03-27

[0.6.0]

  • Roll up bumps from children recursively to bump parents unlimited levels deep. These bumps are done as a patch bump as they are automatic. Any parent bumps that would result in a minor or major change will likely include breaking changes in the package itself. This would imply that a specific change file would be included for it as well, as opposed to relying on a bump from a child.
    • 1ff1290 feat: roll up all bumps as a patch (#170) on 2021-03-25
  • Split up config merge function into two functions, one for version and one for publish, et al. This makes the types easier to reason about.
    • 66539a8 fix: GitHub release pipe (#164) on 2021-03-24

[0.5.0]

  • Convert covector to typescript.
    • cf9a893 feat: typescript covector main with rollup (#63) on 2020-07-02
    • 39acdc9 feat: convert over @covector/files to typescript with rollup [partial] (#65) on 2020-07-06
    • 1090afd feat: typescript going green (#153) on 2021-03-17

[0.4.1]

  • Fix additional bump types to be a no-op bump.
    • 15431f0 fix: additional bump type is no-op (#149) on 2021-02-22

[0.4.0]

  • Allow running functions as a command instead of assuming everything runs in a shell. This is mostly for internal use to be used within the Github Action.
    • 6dc90bf feat: reorder GitHub release step (#136) on 2021-02-09
  • Throw a hard error on an invalid bump types. If you specify something other than major, minor, or patch. You will receive an error in the status and version commands. Also adds a new config option, additionalBumpTypes, which allows specifying other bump types (that are ignored in versioning) but do not throw an error. This allows one to always require a change file even if the code does not require a version bump. This is generally easier to enforce then conditionally requiring a change file.
  • Some workflows require different actions for different packages. Most of this can be codified into config. However there are cases where you may need to run a command for a dynamic set of packages.
  • Add missing workspace dependencies. These were likely only functioning due to hoisting.

[0.3.0]

  • Allow multiple publish sequences. Any command beginning with publish will invoke the related getPublishedVersion, e.g. publishNPM would look for and check getPublishedVersionNPM. This allows separation of concerns and re-run-ability for multiple deploy targets.
    • ed3698d feat: allow multiple publishes (#113) on 2020-07-19

[0.2.5]

  • Deep clone changes that are getting passed into the changelog. We were editing references and those edits were showing up in erroneous places.
    • 38fba3c fix: deepclone change entries to prevent referencial edits (#109) on 2020-07-17
  • Allow running commands from the cwd within the config.
    • b95249e feat: allow command to run from cwd (#108) on 2020-07-17

[0.2.4]

  • Stringify remaining portion of change file. Previously we were just looping on paragraph which would miss links.
    • Bumped due to a bump in @covector/assemble.
    • afc5ceb fix: stringify remaining change file (#103) on 2020-07-15

[0.2.3]

  • Throw an error if a change file is added that targets a package that does not exist in the config.
    • 48c1c99 feat: throw error on non-existant package, closes #57 (#102) on 2020-07-14

[0.2.2]

  • Pass split versions through to pipe.
    • Bumped due to a bump in @covector/assemble.
    • 6370826 fix: pass split versions through to pipe (#96) on 2020-07-11

[0.2.1]

  • Assemble process was async and the pkgFile needed a proper await. Switch to a generator to yield in the loop.
    • 1bb67ea fix: missing publish pipe (#94) on 2020-07-10

[0.2.0]

  • Note in sub-bullets when a bump was due to a dependency (and that helps note where there summary text is from as well.)
    • de3248d feat: dep bump note in changelog (#87) on 2020-07-10
  • Pull and set git meta information on change files as an array of commits. This can then be piped into changelogs.
    • Bumped due to a bump in covector.
    • cc19486 feat: new command package and piped git info (#78) on 2020-07-09
    • de3248d feat: dep bump note in changelog (#87) on 2020-07-10
  • Allow complex commands specified as an object. This let's one specify a dryRunCommand that is executed in --dry-run mode instead (so no accidental publishes!) or to set pipe to true that the output is returned from the main covector function. The pipe likely won't be used directly, but can be consumed within the action to create a Github Release, etc.
    • Bumped due to a bump in covector.
    • 3ca050c feat: advanced commands (#71) on 2020-07-06
  • Version commands used to only run on changes, but ignore parents. Reconfigure that we resolve the parents and run commands on both direct changes and changes through a dependency.
    • Bumped due to a bump in covector.
    • 3ca050c feat: advanced commands (#71) on 2020-07-06
  • Add config option to specify an asset that is uploaded on publish to the Github Release.
    • 3f6e0b3 feat: add config option to specify assets to upload at publish (#86) on 2020-07-10

[0.1.0]

  • Add option to execute commands in "--dry-run" mode which will output the anticipated commands without running them and additional relevant information (such as the command pipe).
  • Allow use of any arbitrary command as defined in the configuration.
  • Allow arrays for commands and run pre/post versions of each command.
  • Pipe pkgFile to the publish commands. This let's one pull the version command (which is useful for git tags).

[0.0.4]

  • Pass cwd down to assemble config merging. It reads package files and needs the dir.
  • Package files should be referenced based on the "nickname" as noted in the config. The name in the package file is not a unique value.