Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
@postman/yankee
Advanced tools
Easy release management with YAML changelogs
# As a global command:
npm install --global @postman/yankee
# …or locally for an npm project:
npm install --save-dev @postman/yankee
yankee [<path>]
yankee --help
The file Changelog.yaml
is the single source of information about your releases. It should be an object with one key per release and an optional unreleased:
key at the top. Here’s an example:
unreleased:
new features:
- The cool new flag `--verbose`.
2.0.1:
date: 1992-02-09
fixed bugs:
- Got rid of a nasty IO bug.
- Improved the docs.
2.0.0:
date: 1982-03-15
breaking changes:
- API redesign. See the readme for details.
1.0.0:
date: 1970-01-01
note: Initial release.
When you call yankee
, we’ll determine what version number comes next and update the file accordingly. We’ll replace unreleased:
with the new version and add a date:
property with the current day right below that.
If the unreleased:
object contains the key breaking changes:
, we’ll make it a major release (X.y.z). If it contains the key new features:
, we’ll make a minor bump (x.Y.z). Otherwise, make sure your unreleased:
changelog has the key fixed bugs:
- we’ll release it as a patch (x.y.Z).
The version number against which we’ll be bumping is the first key in your Changelog.yaml
except unreleased:
. If there’s no other key, we’ll always tag the release as 1.0.0.
If you call yankee
without any options, we’ll only output the version number, so that it’s easy for you to process with scripts.
[path]
The path to your project directory. Should contain a Changelog.yaml
. Default: $(pwd)
.
-n, --npm
Attempt to update the version
field in package.json
and npm-shrinkwrap.json
.
-c, --commit
Commit changes. The commit message will be the raw version number.
-t, --tag
Tag the commit with an annotated tag. The tag name will be the raw version number preceeded with a “v”. Implies --commit
.
-h, --help
You’re looking at it.
Here a simple example using cat
and here docs. When creating your package, you start off with a simple changelog:
$ cat << --- > Changelog.yaml
unreleased:
note: Initial release.
---
When you’re ready for a 1.0.0 release, just call yankee
:
$ yankee
1.0.0
$ cat Changelog.yaml
1.0.0:
date: 2016-05-20
note: Initial release.
Working on new stuff, update the changelog accordingly:
$ cat << --- > Changelog.yaml
unreleased:
new features:
- Cool new stuff!
$(cat Changelog.yaml)
---
When ready for a release, yankee
will figure out what the release number should be:
$ yankee
1.1.0
$ cat Changelog.yaml
1.1.0:
date: 2016-05-20
new features:
- Cool new stuff!
1.0.0:
date: 2016-05-20
note: Initial release.
FAQs
Easy release management with YAML changelogs
We found that @postman/yankee demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 192 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.