Gathering detailed insights and metrics for conventional-changelog-core
Gathering detailed insights and metrics for conventional-changelog-core
Gathering detailed insights and metrics for conventional-changelog-core
Gathering detailed insights and metrics for conventional-changelog-core
Generate changelogs and release notes from a project's commit messages and metadata.
npm install conventional-changelog-core
Typescript
Module System
Min. Node Version
Node Version
NPM Version
conventional-changelog: v7.1.1
Updated on Jul 10, 2025
conventional-changelog-conventionalcommits: v9.1.0
Updated on Jul 10, 2025
conventional-changelog-writer: v8.2.0
Updated on Jul 09, 2025
conventional-commits-parser: v6.2.0
Updated on Jun 09, 2025
conventional-recommended-bump: v11.2.0
Updated on Jun 07, 2025
conventional-changelog: v7.1.0
Updated on Jun 07, 2025
TypeScript (77.48%)
JavaScript (20.23%)
Handlebars (2.29%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
ISC License
8,156 Stars
1,786 Commits
729 Forks
54 Watchers
3 Branches
152 Contributors
Updated on Jul 11, 2025
Latest Version
9.0.0
Package Id
conventional-changelog-core@9.0.0
Unpacked Size
25.71 kB
Size
7.68 kB
File Count
8
NPM Version
10.8.2
Node Version
18.20.6
Published on
Feb 16, 2025
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
You are probably looking for the cli module. Or use one of the plugins if you are already using the tool: grunt/gulp/atom.
1$ npm install --save conventional-changelog-core
1import conventionalChangelogCore from 'conventional-changelog-core'; 2 3conventionalChangelogCore() 4 .pipe(process.stdout); // or any writable stream
Returns a readable stream.
Note: options.transform
, options.pkg.transform
and writerOpts.transform
are different. If you have a better naming suggestion, please send a PR.
Type: promise
, function
or object
This should serve as default values for other arguments of conventionalChangelogCore
so you don't need to rewrite the same or similar config across your projects. Any value in this could be overwritten.
If this is a promise (recommended if async), it should resolve with the config.
If this is a function, it expects a node style callback with the config object.
If this is an object, it is the config object. The config object should include context
, gitRawCommitsOpts
, parserOpts
and writerOpts
.
Type: object
Type: string
Default: closest package.json.
The location of your "package.json".
Type: function
Default: pass through.
A function that takes package.json
data as the argument and returns the modified data. Note this is performed before normalizing package.json data. Useful when you need to add a leading 'v' to your version or modify your repository url, etc.
Type: boolean
Default: false
Should the log be appended to existing data.
Type: number
Default: 1
How many releases of changelog you want to generate. It counts from the upcoming release. Useful when you forgot to generate any previous changelog. Set to 0
to regenerate all.
Type: boolean
Default: false
If set, unstable release tags will be skipped, e.g., x.x.x-rc.
Type: function
Default: function() {}
A debug function. EG: console.debug.bind(console)
Type: function
Default: options.debug
A warn function. EG: grunt.verbose.writeln
Type: function
Default: get the version (without leading 'v') from tag and format date.
A transform function that applies after the parser and before the writer.
This is the place to modify the parsed commits.
####### commit
The commit from conventional-commits-parser.
####### cb
Callback when you are done.
####### this
this
arg of transform handler of a stream.
Type: boolean
Default: true
if a different version than last release is given. Otherwise false
.
If this value is true
and context.version
equals last release then context.version
will be changed to 'Unreleased'
.
NOTE: You may want to combine this option with releaseCount
set to 0
to always overwrite the whole CHANGELOG. conventional-changelog
only outputs a CHANGELOG but doesn't read any existing one.
Specify a package in lerna-style monorepo that the CHANGELOG should be generated for.
Lerna tags releases in the format foo-package@1.0.0
and assumes that packages
are stored in the directory structure ./packages/foo-package
.
Specify a prefix for the git tag that will be taken into account during the comparison.
For instance if your version tag is prefixed by version/
instead of v
you would specify --tagPrefix=version/
See the conventional-changelog-writer docs. There are some defaults or changes:
Default: normalized host found in package.json
.
Default: version found in package.json
.
Default: extracted from normalized package.json
repository.url
field.
Default: extracted from normalized package.json
repository.url
field.
Default: The whole normalized repository url in package.json
.
Type: array
All git semver tags found in the repository. You can't overwrite this value.
Type: string
Default: previous semver tag or the first commit hash if no previous tag.
Type: string
Default: current semver tag or 'v'
+ version if no current tag.
Type: object
Your package.json
data. You can't overwrite this value.
Type: boolean
Default: true
if previousTag
and currentTag
are truthy.
Should link to the page that compares current tag with previous tag?
See the git-raw-commits docs. There are some defaults:
Default: '%B%n-hash-%n%H%n-gitTags-%n%d%n-committerDate-%n%ci'
Default: based on options.releaseCount
.
Default: true
if options.append
is truthy.
Type: function
Default: options.debug
See the conventional-commits-parser docs.
Default: options.warn
See the conventional-changelog-writer docs. There are some defaults:
Finalize context is used for generating above context.
NOTE: If you overwrite this value the above context defaults will be gone.
Type: function
Default: options.debug
Default: options.append
Default: options.outputUnreleased
This module has options append
and releaseCount
. However, it doesn't read your previous changelog. Reasons being:
So, when you build a parent module, you need to read the old logs and append or prepend to them based on options.append
. However, if options.releaseCount
is 0
you need to ignore any previous logs. Please see conventional-github-releaser as an example.
Arguments passed to conventionalChangelogCore
will be mutated.
MIT
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
30 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10
Reason
no binaries found in the repo
Reason
license file detected
Details
Reason
1 existing vulnerabilities detected
Details
Reason
Found 2/25 approved changesets -- score normalized to 0
Reason
detected GitHub workflow tokens with excessive permissions
Details
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Score
Last Scanned on 2025-07-07
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More