cookpete / auto-changelog Goto Github PK
View Code? Open in Web Editor NEWCommand line tool for generating a changelog from git tags and commit history
License: MIT License
Command line tool for generating a changelog from git tags and commit history
License: MIT License
Don't think this is likely a bug, but probably just working as intended but when I run the command on an existing changelog file with entries, the last date and version is replaced with the new one. And commits are just merged on top of old ones.
Is there a way to keep the old entries. Basically append the new changlog entry (version/date and commits) on top of the old entries so all version entries are saved and separated by date and version.
Like this for example:
63013a4
63013a4
Again, let me say how much I love this tool. We've been using it for about a month and your responsiveness has been awesome.
One recent thing we've come up against is the inability to easily use it on git repos that contain more than one package because of version tag collisions. A common practice when housing more that one package in a single repo is to use a tag pattern like <package>-<version>
so that multiple packages can be versioned individually. The problem arrises with auto-changelog
when the changelog file is generated, because of the semver.valid()
test at https://github.com/CookPete/auto-changelog/blob/b6edd204a38e7eceaaa0c9e71c7e5a9e45cecdf9/src/releases.js#L11.
Have you come up against this or is this use case just not supported?
I'm using this tool to generate changelogs for projects that use conventional commits, and it works quite well. One missing piece, however, is the highlighting of breaking changes.
It would be really helpful to append that information to the output, so that it could be used in the template. I'm happy to give it a shot and open a PR, but thought it was best to start with an issue.
My thought is to check the lines of the body for /^breaking(\ change)?/i
and set a "breaking" property (boolean) on the commit object.
That regex currently only supports numeric issue IDs, which doesn't work with, for instance, Jira, which uses issue IDs like ABC-12345. There is a work-around involving crafting the issueUrl
to account for this, but it results in confusing issue links in the changelog.
P.S. I'd open a PR for this, but have absolutely no experience with Node.js (no dev env, etc)...
A commit may appear in the changelog twice if it is also listed as a merge. See v0.7.1 here for an example.
Guys,
When I use the package.json version it is displayed in the CHANGELOG.md with "v" symbol in front of it. I saw that you did that intentionally, however is there a way to remove it? I'm asking because all my other version (which I get from the tags) are without "v", and only the latest appears with it and that is causing some confusion.
Thank you in advance for your time!
Best,
Dimo
Dear Developer,
Up till today auto-changelog worked brilliant however after I changed some settings (among other things in the path variables) it stopped working. Can you please tell me the right setup to get your app to work. I tried the following.
What did i did
npm install -g auto-changelog
{ "name": "PTC_simulator", "scripts": {}, "auto-changelog": { "template": "keepachangelog", "unreleased": false, "commitLimit": 15 }, "dependencies": { "auto-changelog": "^1.8.0" } }
auto-changelog
in the repositoryHowever it gives me the bash: command not found
error. Is this due to a path variable that was removed or am I doing something else wrong?
Thanks in advance,
Greetings Rick,
Hey,
The auto-changelog works pretty fine except the fact that it only writes the first commit on every run, although there are 5 commits after that.
It throws no error so I've got no idea what could cause this.
Any ideas?
Thanks in advance!
I'm not 100% sure about this issue but actually i'm getting wrong links from auto-changelog
etc
I tried to add a custom template, and it seems to be being ignored as per the latest version. The command I was using is listened below:
CLI:
"version": "auto-changelog -p -t .templates/changelog.hbs"
Error:
Error: Template 'changelog-template.hbs' was not found
Hi guys,
One question regarding the release date.
When you run the following script: auto-changelog -u
, all the PRs which are not released (i.e. not in tag) appears under Unreleased version and NO date is displayed. which is perfect.
However when you change the script to auto-changelog -p
, the version from the package.json for the last upcoming release in the CHANGELOG.md is used as expected, but a date is shown for it. Is there a way to hide that date as actually there is not tag created for these PRs yet?
Thank you in advance for your help!
Best,
Dimo
Thanks for this tool.
i'm trying to use for my project but it seems to work only on a github project, i tried it on both a bitbucket and private git project but it didn't work.
Any ideas why ?
Could You make "author" parameter be available for Merges?
Hi guys,
We have a huge changelog and use your great tool for generating it. At the moment we use the following convention for naming our versions - 1.2.3 (i.e. without 'label v') taking it directly from the package.json.
However few years ago we created several tags with the 'v' label (by mistake). For that reason our latest unreleased version in the changelog now appears with the label 'v' which cause some confusing among the people.
Is there a way to remove it? Probably with some new command line argument?
Thank you in advance for your time and effort.
Best,
Dimo
Hi @cookpete,
I think there is an issue in the PRs that appears in the changelog. Here is the case.
When the auto-changelog is run, three entries will appear in the changelog. I guess this is not correct and we should have only one - the PR from point5 above.
Best,
Dimo
Hi!
We currently use auto-changelog (our changelog) and it works great for displaying the commits that are present in each release.
However sometimes the list of commits isn't entirely sufficient on its own, since:
As such, we'd like to be able to optionally include a release summary for certain releases (mostly new major versions), that can give a couple of paragraph explanation about the new release (explaining exciting new changes or linking to the migration guide etc), prior to the usual list of commit messages. We'd like to be able to include this in the changelog (rather than say as a separate docs/blog page) since the changelog is what is used by the bots that automatically open PRs to update people's dependencies, and is likely where manual visitors to the repo would also look first.
One way to implement this might be to use the commit message body of the commit that bumped the version.
For example this commit:
v9.0.0
Here is a summary
...would result in:
### Changelog
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
#### [v9.0.0](https://github.com/neutrinojs/neutrino/compare/v8.3.0...v9.0.0)
> 20 October 2018
Here is a summary
- Commit message foo
- Commit message bar
Does this feature sound reasonable / the best way of implementing a summary? :-)
Example: [email protected]:CookPete/auto-changelog.git
Hi!
For the https://github.com/mozilla-neutrino/neutrino-dev repository, after we released v8.2.0, we switched to treating master
as the next breaking release (v9; as yet unreleased), and have since released a v8.2.1 and v8.2.2 from a separate release/v8
branch.
auto-changelog successfully updated CHANGELOG.md
in that branch (run via a package.json
version
entry), however I've tried to find a way to update master
's changelog (since that's what people will look at when visiting the repository on GitHub), and can't find a way to do so.
It seems like as-is, when we release v9 the master
changelog and will end up skipping straight from v8.2.0 to v9.x.x.
Is this something that's possible to achieve at the moment? If not, what changes do you think might be required to do so?
Many thanks :-)
cc @eliperelman
It would be nice if you if possible ever use the last deps.
Else we can't use your nice module -_-
auto-changelog --issue-url https://www.redmine.org/issues/{id} is not working its still taking remote origin of git repo. Please verify this and let me know if i can fix this and i can open a PR.
For a project at work, we use a tool that tags releases in git with the format "packagename-version" so I tried auto-changelog
with --tag-prefix packagename-
and it works like a charm EXCEPT that it produces urls like https://bitbucket.org/<company>/<packagename>/compare/<versionA>%0D<versionB>
where <versionA>
and <versionB>
both are missing the tag prefix I provided, thus producing broken URLs.
This is currently holding me back from this otherwise awesome tool.
I want to generate only the changelog starting with a specific commit because the repo has a new major version and I don't care about the old major version changes. Any plan to support this feature?
Thank you.
Looks like since both the niceDate
function and the test itself are using new Date(string)
, which uses local time, the tests which include those code paths fail in some timezones (mine, PST).
Have you considered using a library like moment.js
? Guessing that could reduce your niceDate
function down to a couple lines of code, but not sure if you want that dependency...
This illustrates the problem and possible solution in the node repl:
> new Date('2015-10-03').getDate()
2
> new Date(2015, 9, 3).getDate()
3
> const moment = require('moment');
undefined
> moment('2015-10-03').format('D MMMM YYYY')
'3 October 2015'
Here's the output from node test
:
> [email protected] test /Users/jpayne/repos/auto-changelog
> cross-env NODE_ENV=test nyc mocha test
fetchCommits
✓ fetches commits
parseCommits
✓ parses commits
✓ parses bitbucket commit
✓ supports startingCommit option
✓ invalid startingCommit throws an error
getFixes
✓ returns null with no fixes
✓ parses a single fix
✓ parses fix in commit notes
✓ parses a commit that closes a pull request
✓ parses a commit that closes a bitbucket pull request
✓ parses a commit that closes a gitlab pull request
✓ parses multiple fixes
✓ parses fixes by issue URL
✓ parses multiple fixes by issue URL
✓ parses external repo issues
✓ supports issueUrl parameter
✓ supports issuePattern parameter
✓ supports issuePattern parameter with capture group
getMerge
✓ returns null on fail
GitHub
✓ parses a merge
✓ parses a squash merge
✓ parses a squash merge with no message
GitLab
✓ parses a merge
BitBucket
✓ parses a merge
fetchOrigin
✓ parses https://github.com/user/repo
✓ parses https://github.com:8080/user/repo
✓ parses [email protected]:user/repo.git
✓ parses https://gitlab.com/user/repo
✓ parses [email protected]:user/repo.git
✓ parses https://bitbucket.org/user/repo
✓ parses [email protected]:user/repo.git
✓ throws an error
parseReleases
✓ parses releases
✓ parses releases with no commit limit
✓ parses bitbucket releases
✓ supports a version override
getOptions
✓ parses commit limit correctly
✓ parses false commit limit correctly
run
✓ generates a changelog
✓ uses options from package.json
✓ uses version from package.json
✓ command line options override options from package.json
✓ does not error when using unreleased option
✓ does not error when using latest version option
✓ throws an error when no package found
✓ throws an error when no template found
✓ throws an error when given an invalid latest version
compileTemplate
✓ compiles using compact template
✓ compiles using keepachangelog template
✓ compiles using json template
✓ compiles using path to template file
✓ throws an error when no template found
cmd
✓ runs a command
niceDate
1) formats string into nice date
2) formats date into nice date
removeIndentation
✓ removes indentation
isLink
✓ returns true for links
✓ returns false for non-links
56 passing (195ms)
2 failing
1) niceDate
formats string into nice date:
AssertionError: expected '2 October 2015' to equal '3 October 2015'
+ expected - actual
-2 October 2015
+3 October 2015
at Context.<anonymous> (test/utils.js:15:39)
2) niceDate
formats date into nice date:
AssertionError: expected '2 October 2015' to equal '3 October 2015'
+ expected - actual
-2 October 2015
+3 October 2015
at Context.<anonymous> (test/utils.js:21:49)
-------------|----------|----------|----------|----------|----------------|
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
-------------|----------|----------|----------|----------|----------------|
All files | 100 | 95 | 100 | 100 | |
commits.js | 100 | 92.68 | 100 | 100 | 42,79,80 |
origin.js | 100 | 83.33 | 100 | 100 | 11 |
releases.js | 100 | 96.97 | 100 | 100 | 37 |
run.js | 100 | 100 | 100 | 100 | |
template.js | 100 | 100 | 100 | 100 | |
utils.js | 100 | 100 | 100 | 100 | |
-------------|----------|----------|----------|----------|----------------|
npm ERR! Test failed. See above for more details.
Let me know and I can open a PR.
with your new version 0.3.4 I run into the following error:
> auto-changelog --output HISTORY.md
<myownmodulepath>/node_modules/auto-changelog/lib/index.js:5
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
^
ReferenceError: regeneratorRuntime is not defined
at <myownmodulepath>/node_modules/auto-changelog/lib/index.js:5:46
at Object.<anonymous> (<myownmodulepath>/node_modules/auto-changelog/lib/index.js:29:2)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:389:7)
at startup (bootstrap_node.js:149:9)
with the previous version it runs fine.
node.js version: 6.11.3
os:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
First, I love that I was able to use this successfully OOTB! One problem, though...
Here's my current git log:
e3eddcd (HEAD -> master, origin/master) changelog for 0.1.1
79a3792 (tag: v0.1.1) Another change to README.md
58c31dd Generated first changelog
4112edd (tag: v0.1.0) Update README.md
ad72cef Initial commit
The command auto-changelog --template keepachangelog
worked as expected for the first two versions (v0.1.0
and v0.1.1
) and related commits, but after the last commit, running the command auto-changelog --template keepachangelog --unreleased
results in the following error/stacktrace:
TypeError: Invalid Version: null
at new SemVer (/usr/local/lib/node_modules/auto-changelog/node_modules/semver/semver.js:279:11)
at compare (/usr/local/lib/node_modules/auto-changelog/node_modules/semver/semver.js:566:39)
at eq (/usr/local/lib/node_modules/auto-changelog/node_modules/semver/semver.js:605:10)
at Function.diff (/usr/local/lib/node_modules/auto-changelog/node_modules/semver/semver.js:500:7)
at parseReleases (/usr/local/lib/node_modules/auto-changelog/lib/releases.js:37:37)
at _callee$ (/usr/local/lib/node_modules/auto-changelog/lib/run.js:84:52)
at tryCatch (/usr/local/lib/node_modules/auto-changelog/node_modules/regenerator-runtime/runtime.js:65:40)
at Generator.invoke [as _invoke] (/usr/local/lib/node_modules/auto-changelog/node_modules/regenerator-runtime/runtime.js:303:22)
at Generator.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/auto-changelog/node_modules/regenerator-runtime/runtime.js:117:21)
at step (/usr/local/lib/node_modules/auto-changelog/lib/run.js:25:191)
Am I misusing the --unreleased
flag?
Great tool! Would you be interested in adding a flag to modify the commit limit?
e.g.
auto-changelog --limit 5
auto-changelog --limit false
auto-changelog --no-limit
Thoughts?
Dear developers I just started using your plugin and I think it is amazing. Howver I can not get it to work with the git version tags. I would like to specify the versions by adding a v1.0.0 tag to a git commit.
I have the following package.json:
{
"name": "PTC_simulate",
"scripts": {
},
"auto-changelog": {
"template": "keepachangelog",
"unreleased": false,
"commitLimit": 15,
"package": false
}
}
This gives me the following Changelog:
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Generated by auto-changelog
.
bfde9c3
0bf4a0d
0ebf30b
2b7c4c6
38c8057
7cf4d1b
28e6b6d
709ca44
b129d70
484e1e8
c0a7ce0
b517e6a
e573651
d38bfa6
c4a989a
Thanks in advance,
Greetings,
Rick,
If I clone me repo with ssh://git@{host}/path/repo.git instead of https://{host}/path/repo.git the whole changelog is weird
In case of ssh://git@{host}/path/repo.git
All notable changes to this project will be documented in this file.
Generated by auto-changelog
.
All notable changes to this project will be documented in this file.
Generated by auto-changelog
.
9 May 2018
In case of https://{host}/path/repo.git
the change log is generated perfect
9 May 2018
6fe38ce
725081a
51b08ef
293aa7d
Tested on
Win7, Win10, Ubuntu and RHEL 7
Hi :-)
I was trying out the new .auto-changelog
feature, however was finding that includeBranch
wasn't working as expected, eg:
{
"includeBranch": "upstream/release/v7,upstream/release/v8"
}
It appears that since the string splitting occurs only on the CLI options parsing side, when using a config file the options need to be passed as an array instead, eg:
{
"includeBranch": [
"upstream/release/v7",
"upstream/release/v8"
]
}
Should the configs support the string form, or do the docs need to mention the difference? (Similar to how they mention camelcase)
Also, is schema validation of options something that has been considered?
Error when not informed message in commit
TypeError: Cannot read property '0' of null
in \node_modules\auto-changelog\lib\commits.js:159:33
Changing the getSubject
in commit.js
function as below the error does not occur
function getSubject(message) {
if (message.length === 0) return '--no commit message';
return message.match(/[^\n]+/)[0];
}
Hi :-)
Our weekly bot lockfile refresh PR (neutrinojs/neutrino#1206) is failing with:
lerna ERR! TypeError: process.stdout.clearLine is not a function
lerna ERR! at log (/home/travis/build/neutrinojs/neutrino/node_modules/auto-changelog/lib/utils.js:92:20)
lerna ERR! at _callee2$ (/home/travis/build/neutrinojs/neutrino/node_modules/auto-changelog/lib/run.js:179:28)
lerna ERR! at tryCatch (/home/travis/build/neutrinojs/neutrino/node_modules/regenerator-runtime/runtime.js:65:40)
lerna ERR! at Generator.invoke [as _invoke] (/home/travis/build/neutrinojs/neutrino/node_modules/regenerator-runtime/runtime.js:303:22)
lerna ERR! at Generator.prototype.(anonymous function) [as next] (/home/travis/build/neutrinojs/neutrino/node_modules/regenerator-runtime/runtime.js:117:21)
lerna ERR! at step (/home/travis/build/neutrinojs/neutrino/node_modules/auto-changelog/lib/run.js:126:191)
lerna ERR! at /home/travis/build/neutrinojs/neutrino/node_modules/auto-changelog/lib/run.js:126:437
lerna ERR! at new Promise (<anonymous>)
lerna ERR! at /home/travis/build/neutrinojs/neutrino/node_modules/auto-changelog/lib/run.js:126:99
lerna ERR! at run (/home/travis/build/neutrinojs/neutrino/node_modules/auto-changelog/lib/run.js:266:18)
lerna ERR! error Command failed with exit code 1.
(https://travis-ci.org/neutrinojs/neutrino/builds/453842930)
I think this is due to this change?
64ebb30#diff-2b4ca49d4bb0a774c4d4c1672d7aa781R8
Many thanks :-)
Defaulting to CHANGELOG.md
is lame, maybe auto-changelog -o file.md
or something would be nice.
Hi!
The compact template uses niceDate
, which outputs the date string in local time:
https://github.com/CookPete/auto-changelog/blob/6c25e0c9409386aecc4bd9b1dcdecf5422647bf8/src/utils.js#L18-L24
This means that if a developer in one timezone creates a changelog, then another developer in a different timezone updates it - then the dates of old releases can end up being changed if the commit times fall on a different day in the two timezones.
For example:
git clone https://github.com/mozilla-neutrino/neutrino-dev
cd neutrino-dev && yarn
yarn changelog
Expected:
Changelog doesn't change from the contents created by another developer who was in the US.
Actual:
Several dates change. For example 29 January 2018
changed to 30 January 2018
.
CC @eliperelman
$ auto-changelog --commit-limit false --template ./build/changelog-template.hbs --unreleased
ends with the error:
{ Error: Missing helper: "commit-list"
at Object.<anonymous> (/Users/uzimskacel/xxx/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js:19:13)
at eval (eval at createFunctionContext (/Users/uzimskacel/xxx/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:254:23), <anonymous>:8:105)
at prog (/Users/uzimskacel/xxx/node_modules/handlebars/dist/cjs/handlebars/runtime.js:221:12)
at execIteration (/Users/uzimskacel/xxx/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js:51:19)
at Object.<anonymous> (/Users/uzimskacel/xxx/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js:61:13)
at Object.eval (eval at createFunctionContext (/Users/uzimskacel/xxx/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:254:23), <anonymous>:6:31)
at main (/Users/uzimskacel/xxx/node_modules/handlebars/dist/cjs/handlebars/runtime.js:175:32)
at ret (/Users/uzimskacel/xxx/node_modules/handlebars/dist/cjs/handlebars/runtime.js:178:12)
at ret (/Users/uzimskacel/xxx/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js:526:21)
at _callee2$ (/Users/uzimskacel/xxx/node_modules/auto-changelog/lib/template.js:80:77)
description: undefined,
fileName: undefined,
lineNumber: undefined,
message: 'Missing helper: "commit-list"',
name: 'Error',
number: undefined }
When I remove
{{#commit-list commits heading='### Commits'}}
- {{subject}} {{#if href}}[`{{shorthash}}`]({{href}}){{/if}}
{{/commit-list}}
from ./build/changelog-template.hbs
, which is a copy of https://github.com/CookPete/auto-changelog/blob/master/templates/keepachangelog.hbs, error does not occur.
Hi!
Using auto-changelog 1.7.1, if I run:
auto-changelog --remote upstream --commit-limit false --include-branch upstream/release/v7,upstream/release/v8 --unreleased
...against https://github.com/mozilla-neutrino/neutrino-dev, then the "Unreleased" section is appended to the end of the CHANGELOG rather than the start.
Doesn't produce any errors or output.
git 2.9.3
node v6.4.0
Hey @cookpete :)
I just want to point you to Visual Studio Code Editor and the plugin https://github.com/DavidAnson/vscode-markdownlint. It brings some styling issues up when having the generated changelog open. For sure this is a question if you want to go into the direction to follow a standard markdown format. Basically the changelog looks fine and does what it should do. But maybe this is still of interest for you. :)
The fix should also be easy to implement as that plugin does only claim about vialoting the following rule:
https://github.com/DavidAnson/markdownlint/blob/v0.10.0/doc/Rules.md#md022
That's all :)
Cheers
Kai
Captured from #39, since it was brought up here.
@w33ble: My thought is to check the lines of the body for /^breaking(\ change)?/i and set a "breaking" property (boolean) on the commit object.
@cookpete I like your idea of a breaking pattern that sets a boolean to use in templates, but I think we should add a
breakingPattern
option rather than hardcode one that everyone has to use. Most users will be using this for existing projects that may have their own way of denoting a breaking change. I also think we should maybe create a new list (we currently have merges, fixes and commits) rather than set a boolean, which I think would be harder to use in a template.
TL;DR, Add a breakingPattern
option, use it to test the message
property and add a breaking
boolean property to the parsed commit output.
I have just started using this awesome pacakge here https://github.com/ahmadawais/shades-of-purple-vscode
This is my custom template
https://github.com/ahmadawais/shades-of-purple-vscode/blob/master/clTemplate.hbs#L1-L41
This is how I am using it
https://github.com/ahmadawais/shades-of-purple-vscode/blob/1f1aa2814992381673552a35945b7ed321609b55/package.json#L46
But the latest release changelog is empty
https://github.com/ahmadawais/shades-of-purple-vscode/blob/master/CHANGELOG.md
Whereas there are commits as you can see here
https://github.com/ahmadawais/shades-of-purple-vscode/releases
Help?
2.2.1
to 2.3.0
.This version is covered by your current version range and after updating it in your project the build failed.
node-fetch is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.
See CHANGELOG.
The new version differs by 4 commits ahead by 4, behind by 6.
5367fe6
v2.3.0 (#548)
d1ca2df
Workaround lack of global context in react-native (#545)
ecd3d52
Add support for AbortSignal to cancel requests (#539)
1daae67
Fix import style to workaround node < 10 and webpack issues. (#544)
See the full diff
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
To better follow http://keepachangelog.com would it be possible to add another filtered group of commits to merges, commits, fixes? maybe changes? and therefore would need a changes regex pattern --changes-pattern. Useful if you follow a defined commit pattern that is easy to parse out, like the AngularJS one thats referenced everywhere.
Therefore our templates can properly output:
Right now we have to combine Added and Changed together, since all commits not matching the issues-pattern are lumped together in commits.
This does not adhere to one of the guiding principles of keepachangelog
The same types of changes should be grouped.
The example format on the website shows how each type of change is to use keywords like added:
and map that to the appropriate commit-list.
## [0.0.5] - 2014-08-09
### Added
- Markdown links to version tags on release headings.
- Unreleased section to gather unreleased changes and encourage note
keeping prior to releases.
## [0.0.4] - 2014-08-09
### Added
- Better explanation of the difference between the file ("CHANGELOG")
and its function "the change log".
### Changed
- Refer to a "change log" instead of a "CHANGELOG" throughout the site
to differentiate between the file and the purpose of the file — the
logging of changes.
### Removed
- Remove empty sections from CHANGELOG, they occupy too much space and
create too much noise in the file. People will have to assume that the
missing sections were intentionally left out because they contained no
notable changes.
run on a gitlab repo, but all the links read github.com...
This would be similar to the --package
flag, only, instead of using the version from package.json
, the version would be specified explicitly. Use case is that I'm maintaining a bunch of non-Node.js
projects and want to avoid the additional commit of the CHANGELOG.md
modification. I guess I could create a dummy package.json
file, but that smells funky, and I would think the addition of the cli flag would be fairly straightforward. Thoughts?
This is more of a question than an issue. In my project I am tagging releases in a format like 2018-01-01_1.2.3_456
(a date, followed by a version 1.2.3
, followed by another release number 456
).
I love how auto-changelog
lists the merge requests, but they all fall into "unreleased" category since it appears it is not using any of our tags as a version number. (Only a couple of very old tags from our repo appear listed, which are indeed in format 1.2.3
).
Is there any way to specify the release tag format?
If not, a hint to where to do changes in the code would be also appreciated (I'll be happy to fork and work on the changes to contribute back with the feature).
Issue described in #43 , weird changelog generated with git version 1.6.1 has reoccured with the version 1.8.1 of auto-changelog.
Node 8.11,
Git 1.6.1,
Linux
Hey Pete,
I wrote some custom templates, that I want to reuse over several projects.
Therefore I added them to a public github repository.
Allowing to provide the template by url, would help a lot. e.g. https://raw.githubusercontent.com/...
Otherwise I would have to 1st save the template locally by using wget / curl or so, then generating the changelog and finally deleting the template again.
As the methods you use from fs package already support handling an URL, I expect just a minor modification in your code: trying to instantiate an URL Object from given template string.
https://nodejs.org/api/url.html#url_the_whatwg_url_api
So having a try catch around and if the above fails, just continue with the previous value.
I try to provide a PR.
Or do you have another approach?
I wanted to use this on my local machine repo, which is where most of my projects are.
It turns out that it doesn't work without a git remote
could you just put a option to bypass it if it's not there, you see changelogs mostly don't have anything to do with remotes in most use cases. I just wondered why this is a requirement.
Hi guys,
This is not a bug rather a question/enhancement.
Is there a way to hide the date label (i.e. {niceDate}) for Unreleased version? It always shows the today date and cause a difference in the file (want to put it under CI and commit it only when there is something new under Unreleased version)
Thanks,
Dimo
I'd like to add some handlebar helper to take some info from commits and point to custom url instead of GitHub
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.