Giter Site home page Giter Site logo

Comments (31)

Anahkiasen avatar Anahkiasen commented on May 22, 2024 3

Also Changehub

from keep-a-changelog.

svetlyak40wt avatar svetlyak40wt commented on May 22, 2024 2

@Lucas-C actually, AllMyChanges is a service for end users who want to track software changed. It is for subscription. All you need it to add your library's changelog there. Just paste a github URL if it is opensource, or URL pointing to a changelog, if it is closed.

For example, here is a plain text changelog of AMCH: http://allmychanges.com/CHANGELOG.md and here is it's parsed version which you can subscribe on: https://allmychanges.com/p/web/allmychanges/

from keep-a-changelog.

tinchoz49 avatar tinchoz49 commented on May 22, 2024 1

Hi everyone!

we are working on a tool to work with the keepachangelog format. All comments and feedback are welcome :bowtie: !

https://github.com/geut/chan

from keep-a-changelog.

cookpete avatar cookpete commented on May 22, 2024 1

@Lucas-C auto-changelog is pretty flexible and supports custom handlebars templates. I'm sure it would be possible to generate a changelog in RSS format. If not I'd be interested in adding it as a feature.

from keep-a-changelog.

tjaneczko avatar tjaneczko commented on May 22, 2024 1

Just released https://github.com/brightcove/kacl for automating changelog releases for node projects. It pairs really nicely with gh-release for fully automated releasing by just running npm version.

from keep-a-changelog.

ianfixes avatar ianfixes commented on May 22, 2024 1

Just to add to the noise here, I wrote https://github.com/ianfixes/keepachangelog_manager_gem

As far as I can tell, it's the only one of these tools that's focused on automating the release process of these changelogs -- the point in time at which the Unreleased section is reset and all the stuff that was in there gets put under an official semver-format version.

In other words, the release process becomes scriptable:

#!/bin/bash

# assuming you've just merged a pull request on GitHub, this script 
# releases your code and updates the relevant files with the new version

# pull down the merged commit
git pull --rebase

# Update the changelog to a new patch version
NEW_VERSION=$(bundle exec keepachangelog_manager.rb --increment-patch)
# could also explicitly set one of the fields:
# NEW_VERSION=$(bundle exec keepachangelog_manager.rb --minor=3)

echo "Do any other steps related to releasing $NEW_VERSION"
git add CHANGELOG.md  # and any other files
git commit -m "v$NEW_VERSION" bump"
git tag -a v$NEW_VERSION -m "Released version $NEW_VERSION"
git push && git push --tags

from keep-a-changelog.

olivierlacan avatar olivierlacan commented on May 22, 2024

Thanks for gathering those. Will do. :-)

On Apr 4, 2015, at 07:05, Nate Goldman [email protected] wrote:

This is not strictly an issue, but FYI a few folks have been making tools based around the conventions established so far by this project. Here are a few I have participated in or found:

https://github.com/bcomnes/changelog-init
https://github.com/ngoldman/changelog-parser
https://github.com/ngoldman/gh-release
https://github.com/bigwhoop/trellog
https://github.com/contentful-labs/keepachangelog
Might be helpful/beneficial to link to these in the README.


Reply to this email directly or view it on GitHub.

from keep-a-changelog.

markchalloner avatar markchalloner commented on May 22, 2024

I have also just pushed a github plugin for semantic versioning that looks for a changelog:

https://github.com/markchalloner/git-semver

from keep-a-changelog.

cookpete avatar cookpete commented on May 22, 2024

I’d like to add auto-changelog to the mix, which is something I’ve been working on recently with this schema in mind. It parses your git log and attempts to build a somewhat sensible changelog from what it finds.

from keep-a-changelog.

r1ddl3m37h15 avatar r1ddl3m37h15 commented on May 22, 2024

this is a tutorial w an interesting technique for solving the problem.
https://github.com/coders-kitchen/tut-releaseNotesFromTags

from keep-a-changelog.

svetlyak40wt avatar svetlyak40wt commented on May 22, 2024

I'm working on a service for parsing and subscribing on release notes. This is my pet-project.

http://allmychanges.com

It is more generic than changehub.io and is not tied to github's releases, though is able to parse not only plain-text files, but also github's releases, html pages, ios and google stores and even group commit messages around version numbers.

from keep-a-changelog.

stackold avatar stackold commented on May 22, 2024

Since changehub was never fully launched, not in proper function at least, we created a Stackrecord. It's a GitHub based web hosting service for changelogs that sticks to keepachangelog guidelines. Registration is free and open, the project is currently in beta phase. The Stackrecord also offers an API and a CLI application.

from keep-a-changelog.

svetlyak40wt avatar svetlyak40wt commented on May 22, 2024

@stackrecord it whould be nice to have https://raw.githubusercontent.com/stackrecord/stack-cli/master/CHANGELOG.md in the format suggested by keep a changelog. Right now it is not markdown et all.

And it will be cool to have http://stackrecord.com/CHANGELOG.md as I do at https://allmychanges.com/CHANGELOG.md :)

from keep-a-changelog.

stackold avatar stackold commented on May 22, 2024

@svetlyak40wt you are absolutely right! We are working on it. Cheers!

from keep-a-changelog.

sam3d avatar sam3d commented on May 22, 2024

Hey guys! Been working on changelogapp. It functions as both a command line application to parse, manipulate and stringify keepachangelog changelogs, and as an npm module. This is a hobby project that I believe is mildly similar to @stackrecord, would love for you to check it out and hear your thoughts! 😊

from keep-a-changelog.

svetlyak40wt avatar svetlyak40wt commented on May 22, 2024

@samholmes1337 changelogapp looks interesting. Does it store data in the intermediate json file, or parses a markdown each time when it need to add a section or a new version?

from keep-a-changelog.

svetlyak40wt avatar svetlyak40wt commented on May 22, 2024

@samholmes1337 I'll add the changelogapp to the https://allmychanges.com/help/changelog-generators/ if you don't mind. I think it very useful tool which will help people to keep a right formatting which is good for my project too :)

from keep-a-changelog.

sam3d avatar sam3d commented on May 22, 2024

@svetlyak40wt it just parses the markdown every time a new addition or change is made, trying to make the implementation as clean as possible. And yeah that'd be awesome please do!

from keep-a-changelog.

mbrand12 avatar mbrand12 commented on May 22, 2024

@samholmes1337

Just checked it out, it is a awesome idea.

It might also help guide a person how to keep a changelog. For example the generator might contain examples or suggestion where to place the changes (weather to place them to changed or removed etc, or what changed or added means etc.), so that users might be informed of a convention but not forced to comply to it.

Adding the option to generate github compare links as well would be a good addition.

from keep-a-changelog.

colindean avatar colindean commented on May 22, 2024

I've written a rudimentary Java library for parsing keepachangelog format:

https://github.com/colindean/keepachangelog-parser-java

I'm still intending to hone it and working on the edge cases (e.g. unreleased and yanked) and making it a little more configurable. I intend to write a Gradle plugin which uses this library to transform CHANGELOG.md into a changelog.json or somesuch as a build artifact.

Edit 2017-06-06: Added support for unreleased and yanked, released library on Jcenter.

from keep-a-changelog.

duraki avatar duraki commented on May 22, 2024

Hello, I wrote a git for changelog.

It's called devist ; a ruby git-like app that helps you keep proper changelog files.

Although this tool does not follow all rules of keepachangelog it's still inspired from it. The format has been specifically crafted to be visible in raw and md format, and the tool offer export to HTML as well as various other options and features.

Head out to website to get started.

Also, it's open source so catch up with a star. - https://github.com/duraki/devist

from keep-a-changelog.

Lucas-C avatar Lucas-C commented on May 22, 2024

Is there a tool that can convert a CHANGELOG to an Atom/RSS feed ?

from keep-a-changelog.

Lucas-C avatar Lucas-C commented on May 22, 2024

Thanks @cookpete, but auto-changelog seems to generate a changelog, not to be able to eat a standard CHANGELOG.md

from keep-a-changelog.

colindean avatar colindean commented on May 22, 2024

@Lucas-C keepachangelog-parser-java provides a decent interface on top of keepachange-formatted markdown. You could combine that with an RSS library like Rome to generate a feed. Rome has a quick tutorial on how to use it.

It'd probably look something like this pseudo-Java typed by hand and not checked and my Java 8 is rusty:

import cx.cad.keepachangelog.ChangelogParser;
import com.rometools.rome.feed.synd.*;

ChangelogData data = ChangelogParser.parse(markdownTextAsStringOrFile);
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType(feedType);

feed.setTitle("Changelog feed for " + data.getProjectName());
feed.setLink("http://example.com/somewhere/"+data.getProjectName()+".rss");
feed.setDescription(data.getDescription());

SortedSet<ChangelogEntry> changelogEntries = data.getEntries();

SortedSet<SyndEntry> entries = changelogEntries.map( (changelogEntry) -> {
  SyndEntry entry = new SyndEntryImpl();
  entry.setTitle(changelogEntry.getVersion() + (changelogEntry.isYanked() ? "[YANKED]" : "");
  //entry.setLink(""); // may not make sense in this context?
  entry.setPublishedDate(changelogEntry.getDate());
  entry.setDescription(changelogEntry.getDescription());
  SyndContent description = new SyndContentImpl();
  String sectionText = formatChangelogEntrySectionText(changelogEntry.getSections());
  description.setType("text/plain");
  description.setValue(sectionText);
  return entry;
});

feed.setEntries(entries);

Writer writer = new FileWriter(fileName);
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed,writer);
writer.close();

System.out.println("The feed has been written to the file ["+fileName+"]");

function String formatChangelogEntrySectionText(SortedSet<ChangelogSection> sections) {
   //implementation left as an exercise for the reader
}

Honestly, I've wanted to do something like this for a long time. I don't know when I'll have time to do it, though!

from keep-a-changelog.

Lucas-C avatar Lucas-C commented on May 22, 2024

TYVM @colindean, that sounds promising and would fit very well in my current stack !

from keep-a-changelog.

svetlyak40wt avatar svetlyak40wt commented on May 22, 2024

Is there a tool that can convert a CHANGELOG to an Atom/RSS feed ?

Allmychange.com is able to parse almost any changelog format and produce a single RSS feed for all projects you are tracking.

However, I've abandoned the project last year. Wan't to rewrite it from Python to Common Lisp some day. That will be fun!

from keep-a-changelog.

Lucas-C avatar Lucas-C commented on May 22, 2024

Thanks @svetlyak40wt ! I had seen it in this thread above, and it looks awesome.
Plus it is open-source, so it could be use internally in a company.
However it looks a bit heavyweight as it requires Redis & MySQL whereas I just want to generate a RSS feed XML file from a changelog Markdown file : https://github.com/AllMyChanges/allmychanges.com#how-to-setup

from keep-a-changelog.

svetlyak40wt avatar svetlyak40wt commented on May 22, 2024

You don't want to generate RSS youself, belive me :)

from keep-a-changelog.

akshaybabloo avatar akshaybabloo commented on May 22, 2024

Pitching in one I just pushed to PyPi creates a CHANGELOG.md based on keep-a-changelog -> https://github.com/akshaybabloo/release-exporter

from keep-a-changelog.

nedtwigg avatar nedtwigg commented on May 22, 2024

I recently shipped spotless-changelog. If you happen to have used the spotless code formatter, it's the same idea, but for the keepachangelog format. There's a gradle plugin, and also a separate library if you want to just grab the parser on its own.

The workflow for the gradle plugin is that as you update the [Unreleased] section, it calculates the appropriate next version by parsing the unreleased fixes / new features / breaking changes. When you run gradlew changelogPush, it sets the correct version, builds the jar, publishes to mavenCentral, bumps the changelog, commits the bumped changelog, tags, and pushes. I've been using it for about two weeks to work out the kinks and get to 1.0, and its made our releases so much easier. (release announcement on twitter if you'd like to signal boost)

I think it would be great if the keepachangelog site aggregated tools compatible with keepachangelog. It's the difference between "you should indent with two spaces and always use semicolons!" vs prettier, gofmt, rustfmt, google-java-format, etc.

from keep-a-changelog.

tomodian avatar tomodian commented on May 22, 2024

Yet another changelog parser which works nicely on monorepo.
https://github.com/tomodian/release

We have nearly a hundred CHANGELOG.md files in our monorepo, so it was impossible to maintain the versions manually. The release cli saves my time, a lot.

It's written in Go, so please try it and love to hear your feedbacks!

from keep-a-changelog.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.