Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

CHANGELOG.md entries are too long to maintain, and their length is what makes every PR conflict expensive

Open Beginner friendly
#809 0 comments 0 reactions 0 assignees View on GitHub

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

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

enhancement

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from lanl/PyBNF

All issues in lanl/PyBNF

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.