Skip to content
This repository was archived by the owner on Oct 23, 2022. It is now read-only.

Start tracking a changelog #171

Closed
3 tasks
aphelionz opened this issue May 22, 2020 · 9 comments · Fixed by #400
Closed
3 tasks

Start tracking a changelog #171

aphelionz opened this issue May 22, 2020 · 9 comments · Fixed by #400
Assignees

Comments

@aphelionz
Copy link
Contributor

Can be in any format as long as it serves the purpose.

Inspiration

Issue can be closed when:

  • Changelog format is chosen
  • Changelog is created and / or stubbed out
  • Changelog protocol is written in CONTRIBUTING.md
@koivunej
Copy link
Collaborator

TIL there are specs for changelogs.

standard-version seems all encompassing tooling, which would require conventional commits and so on. GNU examples include stuff like * sort.el (sort-subr): Return nil. as a positive example which makes me think they were programmatically produced like the standard-version.

The second links acknowledges the unparseability but splits to added/changed/deprecated/removed/fixed/security.

A more straightforward alternative used in rust-libp2p would be: each PR should include a new line to CHANGELOG.md, which is like $submodule: header [PR NNNN](https://github.com/libp2p/rust-libp2p/pull/NNNN). I think this is the only one related to github PR workflow as it assumes there is useful discussion in the pull requests themselves and would thus work instead of adding an additional editorialization phase, like rust does. "editorialization phase" as in during releasing people the people working on the release go throught the changes and write the release notes. Note the similar structure though, unordered list items linking the PR.

Of the above I'd lean towards the style used by rust-libp2p.

@vmx
Copy link
Contributor

vmx commented May 25, 2020

The advantage of conventional commits is, that you normally also end up with a nice/clean history on Git. You could e.g. easily see breaking changes in the history and look at the diff what they are about without getting back and forth in the changelog.

Though a down-side is that it puts extra work to the people that merge code as contributions from external contributors might need to change the commit message before merging (though this can be done through the GitHub UI when mergeing).

@aphelionz
Copy link
Contributor Author

Thanks @vmx. We'll consider that. I agree and my issue with conventional commits is enforcement. If we can get a git hook in place to slap people's wrists so I don't have to that would be fine, but I have to admit I'm not able (and perhaps not willing) to be a watchdog in that regard. 🤔

@aphelionz
Copy link
Contributor Author

Another question, would it make sense to write a changelog entry number 0 that details what we have so far? Perhaps call it reloease 0.1.1 or something?

@vmx
Copy link
Contributor

vmx commented May 25, 2020

but I have to admit I'm not able (and perhaps not willing) to be a watchdog in that regard.

If manual changelog entries are needed, someone would need to watchdog those too.

@aphelionz
Copy link
Contributor Author

I can automate that with GitHub Pull requests templates that include a checkbox i.e.

  • verify that all checks pass
  • get approval from contributor
  • squash commits
  • Edit changelog.md

@vmx
Copy link
Contributor

vmx commented May 25, 2020

Checking the conventional commit message could also be a checkbox :) It could even be checked by CI if it has the correct syntax, the semantics of course would still need to be checked by a human.

@aphelionz aphelionz self-assigned this May 25, 2020
@aphelionz
Copy link
Contributor Author

Ok, copy that. I'll take a first crack at all this and report back!

This was referenced Sep 23, 2020
@koivunej
Copy link
Collaborator

The #400 has my proposal for this, which is essentially the simplest form I've been keeping in unixfs/CHANGELOG.md.

bors bot added a commit that referenced this issue Oct 6, 2020
400: Start tracking changelog r=aphelionz a=koivunej

Closes #171:

- CONTRIBUTING.md description, algorithm for choosing the CHANGELOG file
- pull_request_template.md
- CHANGELOG.md and unixfs/CHANGELOG.md preparation with `# Next`

Co-authored-by: Joonas Koivunen <joonas@equilibrium.co>
@bors bors bot closed this as completed in 05b2a82 Oct 6, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants