CHANGELOG.md entries are too long to maintain, and their length is what makes every PR conflict expensive
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- markdown
- Domain
- documentation, release
Research direction
Start with CHANGELOG.md and dev/release-1.8.0-prompt.md, then review the referenced records in docs/adr/ and issue #800. Define the new-entry guidance so entries are one or two sentences with issue, PR, and ADR references, while leaving released sections unchanged; done means the rule is clear for the fragment migration and future releases.
Written by the indexing model from the issue text.
Description
Summary
Keep a Changelog entries are one line. Ours average 145 words and reach 828. Every entry is a paragraph inserted at the top of a shared section, which is what makes the conflicts in #800 expensive to resolve by hand. Expensive hand resolution is what produced the duplicate ### Added that #800 reports, so this is not a separate cosmetic complaint. It is the multiplier on that problem.
Measurements
Taken at f8d1dd2e.
| measurement | value |
|---|---|
| top-level entries | 324 |
| words per entry | mean 145, median 91, max 828 |
| entries over 200 words | 104 |
[Unreleased] section |
1,151 lines and 15,005 words, a third of the file |
| whole file | 3,330 lines, 313 KB |
| growth since v1.6.0 on 2026-07-05 | 350 lines to 3,330 lines |
The content is already written down somewhere better
docs/adr/ holds 145 records. ADR-0142, ADR-0144 and ADR-0145 run about 2,500 words each and cover the same three changes their changelog entries cover in 200 to 400 words. The seeds, the checkpoint curves and the McNemar p-values are ADR material. Repeating a compressed version of them in the changelog gives a reader neither the short answer nor the full one.
Nothing consumes the file
CHANGELOG.md is not in the docs build, not in packaging metadata, and not read by publish.yml. Its only readers are people and dev/release-1.8.0-prompt.md. A file that no tool reads and no person can finish reading is not doing its job.
Proposed rule
A changelog entry is one or two sentences saying what changed and what a reader has to do differently, plus references to the issue, the PR and the ADR. The rationale, the measurements and the alternatives considered stay in the ADR.
Scope is new entries only. Released sections are the record of what shipped and stay as they are.
Why this is worth doing before the fragment migration
#800 is heading toward one changelog fragment per change. A one-line entry needs no custom towncrier template and no wrapping rules, so adopting the rule first makes that migration smaller. Short entries also shrink every conflict hunk in the meantime.
References
- #800 for the conflict problem and the fragment fix
- Dominant language
- Python
- Stars
- 25
- Forks
- 25
- Avg merge
- 2h 24m
- Merged PRs (30d)
- 85
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lanl/PyBNF
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
A transient error from the BioNetGen download turns a whole test matrix leg red before any test runs Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 65/100
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 65/100
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Similar issues
-
bug confirmed issue
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
open-webui/open-webui#30750 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
good first issue
Difficulty 1/5 Under an hour Newbie friendliness 90/100