bottlerocket-os / bottlerocket-os/bottlerocket

[PROPOSAL] Switch changelog from a single linear to individual files per major.minor version

Open
#2,206 1 comment 0 reactions 0 assignees View on GitHub
area/tools status/icebox type/documentation
Dominant language
Rust
Stars
9.7k
Forks
586
Avg merge
1d 11h
Merged PRs (30d)
11

Description

**What I'd like:**
Bottlerocket just released version 1.8.0. 🥳

Looking over the changelog, I noticed it's getting pretty big - 2045 lines right now and it will continue to grow over time. Perhaps it's worth considering moving from the single file to a changelog directory with individual files per major/minor release. Example:

```
/changelogs
+ changelog-1.8.markdown
+ changelog-1.7.markdown
+ changelog-1.6.markdown
...
```

Note that patches are rolled up into a single file (for example,` changelog-1.7.markdown` would contain changes for 1.7.0, 1.7.1, and 1.7.2).

This has a few advantages:
- Automation for changelog generation would be easier to build on a per-file basis.
- Linking to a particular version is potentially more predictable (hash linking is currently consistent, but it could easily get messy).
- A project website could render individual files into HTML more easily than all the changes bundled together
- The changelog file would no longer grow ad infinitum.

**Any alternatives you've considered:**
- A changelog per every version (including patches): Doesn't give a good picture of the features in a release if the most current changelog is a patch.
- A changelog per major version: Would have basically the same downsides as the current changelog but it would be theoretically capped in growth.
- Keep as-is but write a script that slices out each version: This seems like throwing code at a simple problem.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.