Comments (31)
Also Changehub
from keep-a-changelog.
@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.
Hi everyone!
we are working on a tool to work with the keepachangelog format. All comments and feedback are welcome !
from keep-a-changelog.
@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.
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.
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.
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.
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.
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.
this is a tutorial w an interesting technique for solving the problem.
https://github.com/coders-kitchen/tut-releaseNotesFromTags
from keep-a-changelog.
I'm working on a service for parsing and subscribing on release notes. This is my pet-project.
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.
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.
@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.
@svetlyak40wt you are absolutely right! We are working on it. Cheers!
from keep-a-changelog.
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.
@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.
@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.
@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.
@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.
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.
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.
Is there a tool that can convert a CHANGELOG to an Atom/RSS feed ?
from keep-a-changelog.
Thanks @cookpete, but auto-changelog
seems to generate a changelog, not to be able to eat a standard CHANGELOG.md
from keep-a-changelog.
@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.
TYVM @colindean, that sounds promising and would fit very well in my current stack !
from keep-a-changelog.
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.
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.
You don't want to generate RSS youself, belive me :)
from keep-a-changelog.
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.
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.
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)
- Inconsistency in the use of the period at the end of changes HOT 3
- I recommend this date format HOT 2
- Nu Html Checker: Improve Html Quality HOT 4
- Webbkoll: Security suggestions
- PageSpeed Insights: Accessibility
- PageSpeed Insights: Performance HOT 1
- Types of changes - Set order HOT 1
- Types of changes - Add missing types to the example CHANGELOG.md HOT 1
- use GitHub labels or split off to separate repo to differentiate between issues HOT 2
- Bad link to web designer HOT 1
- [question] about changelog "rules"
- Broken link to ISO 8601 date standard HOT 2
- [question] changelog structure HOT 2
- Changelog ideas
- Parser, converter and json/yaml with dictionary
- Keep a Changelog link in example changelog is out of date HOT 4
- Seemingly GitHub links are broken HOT 3
- Link to ISO date standard is broken; has a trailing ")" HOT 3
- Version 1.1.1 not visible at website keepachangelog.com HOT 2
- Changelog available sections HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from keep-a-changelog.