npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

relnote

v0.0.2

Published

format `git log` into something like a release announcement if commit log messages follow a particular convention.

Readme

relnote

A command line script to format git log into something like a release announcement if commit log messages follow a particular convention.

N.B. This is probably not very useful to anyone else besides me at the moment.

usage

% cd my/git/repo
% relnote <range>

...sends a template rendered with git-log info to stdout. range is a git log range like 0.4.0..0.4.1 or anything else git log understands. The output is not particularly useful, unless the commit log messages produced follow a convention (see below).

Pipe to your text editor for polishing, like:

% relnote 0.1.2..0.1.3 | bbedit

or to a file, like:

% relnote 0.0.1..0.0.2 > path/to/github/wiki/repo/Release-Notes-0.0.2

install

npm i -g relnote

commit log conventions

Log messages are categorized as one or more of the following, or "skipped", with some examples below:

bugfix

patterns: anywhere in the message like [fix issue #123] or starting any line like "fix issue #123"

examples:

  • fix issue #123 the quick brown fox
  • fix bug 123 the quick brown fox
  • fix bz 123 the quick brown fox
  • fix #123 the quick brown fox
  • the quick brown [fix issue #123] fox jumped

features

patterns: starting any line like "feature:" or "new:"

examples:

  • feature: the quick brown fox
  • feature - the quick brown fox
  • new: the quick brown fox

notes

patterns: starting any line like "note!", "important:", or "breaks:" etc

  • note! the quick brown fox
  • important: the quick brown fox
  • breaks: the quick brown fox
  • deprecates: the quick brown fox

thank yous

patterns: starting any line like "thanks"

examples:

  • thanks to the quick brown fox
  • thank you @quick @brown @fox

The rationale is to be compatible with [GitHub Flavored Markdown](GitHub Flavored Markdown) autolinking, and encourage a style that is scanable and readable like hand-edited release notes.

The phrase "starting any line" means for a commit log message like this:

    Merge my big branch

    new feature: fox even quicker, jumpier, browner
    fixed issue #123 brown fox was slow
    note: breaks compatibility with blue foxes
    thanks @meganfox

...where "new", "fixed", "note", and "thanks" are preceeded by newlines, the example commit will be referenced in each category.

See also the source, and the tests.

customization

Edit ./templates/plain.md to change the template or reference your own. Add [handlebars](See http://handlebarsjs.com/) helpers in ./templates/helpers.js or somewhere else, and reference them in the template.

Todo: parameterize template and helper, including specifying via http.

note

[GitHub Flavored Markdown](GitHub Flavored Markdown) will autolink lots of stuff. GFM patterns are compatible with the ones above, and should be used where possible for wiki pages and commit messages viewed on github.com.

Using the full sha hashes because the GFM lib expects them.

Regardless, I've commented out html rendering (uncommenting/adding a listener will re-enable it). Figure we'll just pipe to $EDITOR and paste onto the gh wiki.

See also man git-notes as a way to add notes seperate from the a commit.

License

Copyright (c) 2012 Yahoo! Inc. All rights reserved. Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.