![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
changelog-maker
Advanced tools
A git log to CHANGELOG.md tool
changelog-maker is a formalisation of the Node.js CHANGELOG.md entry process but flexible enough to be used on other repositories.
changelog-maker will look at the git log of the current directory, pulling entries since the last tag. Commits with just a version number in the summary are removed, as are commits prior to, and including summaries that say working on <version>
(this is an io.js / Node ism).
After collecting the list of commits, any that have PR-URL: <url>
in them are looked up on GitHub and the labels of the pull request are collected, specifically looking for labels that start with semver
(the assumption is that semver-minor
, semver-major
labels are used to indicate non-patch version bumps).
Finally, the list is formatted as Markdown and printed to stdout.
Each commit will come out something like this (on one line):
* [[`20f8e7f17a`](https://github.com/nodejs/io.js/commit/20f8e7f17a)] -
**test**: remove flaky test functionality (Rod Vagg)
[#812](https://github.com/nodejs/io.js/pull/812)
Note:
changelog-maker
on the command-line, the default GitHub repo is computed from the package.json
that exists on cwd
, otherwise fallback to nodejs/node
, you can change this by supplying the user/org as the first argument and project as the second. e.g changelog-maker joyent node
.:
, this is treated as a special label and rendered in boldsemver*
labels on the pull request referred to in their PR-URL
have those labels printed out at the start of the summary, in bold, upper cased.PR-URL
data, if it matches the assumed repo (default: nodejs/node) then just a #
followed by the number, if another repo then a full user/project#number
.When printing to a console some special behaviours are invoked:
doc:
are rendered in greysemver*
label on the pull request referred to in their PR-URL
are rendered in bold greennpm i changelog-maker -g
changelog-maker [--plaintext|p] [--markdown|md] [--sha] [--group|-g] [--reverse] [--find-matching-prs] [--commit-url=<url/with/{ref}>] [--start-ref=<ref>] [--end-ref=<ref>] [github-user[, github-project]]
github-user
and github-project
should point to the GitHub repository that can be used to find the PR-URL
data if just an issue number is provided and will also impact how the PR-URL issue numbers are displayed
--format
: dictates what formatting the output will have. Possible options are: simple
, markdown
, plaintext
, messageonly
and sha
. The default is to print a simple
output suitable for stdout.
simple
: don't print full markdown output, good for console printing without the additional fluff.sha
: print only the 10-character truncated commit hashes.plaintext
: a very simple form, without commit details, implies --group
.markdown
: a Markdown formatted from, with links and proper escaping.messageonly
: displays the commit message only, implies --group
--sha
: same as --format=sha
.--plaintext
: same as --format=plaintext
.--markdown
: same as --format=markdown
.--messageonly
: same as --format=messageonly
.--group
: reorder commits so that they are listed in groups where the xyz:
prefix of the commit message defines the group. Commits are listed in original order within group.--reverse
: reverse the order of commits when printed, does not work with --reverse
--commit-url
: pass in a url template which will be used to generate commit URLs for a repository not hosted in Github. {ref}
is the placeholder that will be replaced with the commit, i.e. --commit-url=https://gitlab.com/myUser/myRepo/commit/{ref}
--start-ref=<ref>
: use the given git <ref>
as a starting point rather than the last tag. The <ref>
can be anything commit-ish including a commit sha, tag, branch name. If you specify a --start-ref
argument the commit log will not be pruned so that version commits and working on <version>
commits are left in the list.--end-ref=<ref>
: use the given git <ref>
as a end-point rather than the now. The <ref>
can be anything commit-ish including a commit sha, tag, branch name.--filter-release
: exclude Node-style release commits from the list. e.g. "Working on v1.0.0" or "2015-10-21 Version 2.0.0" and also "npm version X" style commits containing only an x.y.z
semver designator.--find-matching-prs
: use the GitHub API to find the pull requests that match commits that don't have the PR-URL
metadata in their message text. Without metadata, it may be necessary to also pass the org/user and repo name on the commandline (as the github-user
and github-project
arguments as demonstrated above, it may also be necessary to use --find-matching-prs=true
in this case).--quiet
or -q
: do not print to process.stdout
--all
or -a
: process all commits since beginning, instead of last tag.--help
or -h
: show usage and help.Tests require GitHub authentication in order to fetch pull request metadata. ghauth will generate, store and load a personal access token in your local user configuration when changelog-maker is run during normal operation. To run the tests, you will need to ensure that you have a token in place. There are two ways to do this:
Run node ./changelog-maker.js -a
to cause changelog-maker to fetch metadata on a commit with a PR-URL
.
Manually generate a personal access token with public_repo
scope. Then create a config.json file:
{
"user": "MY_GITHUB_USERNAME",
"token": "MY_SECRET_TOKEN"
}
user
is your username, and token
is the token you generated above. The location of config.json
depends on the OS, please see https://github.com/LinusU/node-application-config#config-location
changelog-maker is Copyright (c) 2015 Rod Vagg @rvagg and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.
FAQs
A git log to CHANGELOG.md tool
We found that changelog-maker demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 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
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.