Going to list off a bunch of ideas of how to make our pending file much nicer, and generally the process flow of using our pending file. I'm still very much in favour of switching to pending _files_ which get compiled into the changelog on release - however that sounds more of post-launch idea.
In the meantime this thing is hard to read and much of the labelling is totally counter intuitive to me and generally a bit of headache to use.
Here are some of the idea's I'd improve to quell my pending anxieties around this file
PENDING.md -> CHANGELOG_PENDING.mdupdate pending whereas it's a bit confusing and I'd rather see things like changelog update which would only really make sense if we had the renamed file proposedGaia category and just use SDKGaia CLI (gaiacli) should just be CLIGaia REST API (gaiacli advanced rest-server) just REST LASTLY maybe I'm totally crazy, but using stars (*) as bullet points makes me feel uneasy, I'm a much bigger fan of the dash bullet point (-) -> this is of course minor
I Agree with Changelog_Pending, and only the release creator including links. (Including them was my bad, just wanted to show the script worked. In hindsight, there are better ways to do that lol)
I agree with the changing categories. I also think we should add the following categories:
Go API (or alternatively SDK API), and Security. (We should get in the habit of making a separate security updates section, which should be important for downstream users)
Not really sure I agree with * vs - personally, but since you have a preferrence, I'm fine with changing to -.
How about dropping PENDING.md altogether and coming up with a convention for machine-readable tags to be used in PR/commit messages?
Such tags could be parsed by a script at release time that will eventually generate a changelog.
Agreed on all counts @rigelrozanski. re; * vs -, agree to use - as * are typically used for ordered lists. To add to that, the markdown should be valid overall. It was annoying to see tabs and spaces of 2 and 4 spaces used all over the place.
MR tags, I like the idea but it may be harder to enforce or easier to end up missing a few changes, no?
Well, many projects have commit messages guidelines. Certainly committers/mergers would need to comply.
@alessio RE: MR tags
This was one of proposed solutions previously with the team surrounding this issue, we decided that it would be less complicated, more explicit to simply introduce a folder we new files for each changelog entry which get added to the changelog during release. Of course, I also really like the commit message idea, wish I could remember the reasons we decided against it (also can't find the old issue... CC @ebuchman)
I think that by adding entries to the description field on commits (where there can be multiple lines) we would probably pretty easily parse the commits to create the changelog entries
Although really cool, all this is of course post-launch
Looks like somebody has had this idea already: https://github.com/saschagrunert/git-journal
Although briefly skimming their work, I think it may be better to quickly generate our own repo to do this in golang, and have it more suited to our needs
What is the latest on this @rigelrozanski? Can we close this?
do not close - many issues still relevant and unaddressed - thanks for the ping
I wrote a small thing to maintain changelogs in YAML format:
Great. I do like @alessio's proposal. It prevents some margin of error.
@alessio this looks great - let's fix our changelog situation once and for all. I like the idea of populating changelog entries and then compiling them for a release through a tool like the one you've created - I think the biggest recommendation is adding pending changelog entries as unique files in a pending directory instead of a yaml file - this could save oodles of time ..... the amount of time I have to fix merge conflicts for pending log entries is _outragous_
the cool thing about using a utility to perform these edits is it would justify having pending changelog entries in a hidden folder (which could still be accessed by the changelog utility)
I mean, I have no preferences really. We could either use my tool (BTW, feel free to test it, break it, crack it, improve it, open PRs, migrate it under cosmos/ - whatever toasts your bread is fine for me) or adopt another solution. I'm up for anything really - the current state of things is horrible, horrible...