Skip to content

fix: honour changelog --max-releases for projects without pyproject.toml - #468

Merged
has2k1 merged 1 commit into
mainfrom
refactor/config-reload
Oct 29, 2026
Merged

has2k1 merged 1 commit into
mainfrom
refactor/config-reload

Conversation

@has2k1

@has2k1 has2k1 commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

This PR stops the project-metadata read from reloading great-docs.yml and replacing the configuration held in memory. With a pyproject.toml the metadata was cached during construction, so the reload never mattered. Without one, as in Go and Rust projects, every read discarded values set in memory: great-docs changelog --max-releases 3 fetched the configured number of releases, 50 by default.

Reading the project metadata reloaded `great-docs.yml` from disk and
replaced the configuration held in memory. With a `pyproject.toml` the
metadata is cached after the first read, which happens while `GreatDocs`
is constructed, so the reload had no effect. Without one, as in Go and
Rust projects, every read reloaded the file and discarded any value set
in memory since.

`great-docs changelog --max-releases N` sets N in memory and then looks
up the GitHub repository, which reads the metadata. For a project without
`pyproject.toml` the value was lost and the command fetched the
configured number of releases, 50 by default.

Configuration changed in memory is now kept, so `--max-releases` is
honoured for projects without `pyproject.toml`. Nothing else relied on
the reload: `great-docs init` reloads the configuration itself after
writing the file.
@github-actions

Copy link
Copy Markdown

📚 Preview this PR's docs locally

Fetch the just-built site and open it in your browser:

# this exact build
great-docs preview --run 40878448871

# or always the latest build for this PR
great-docs preview --pr 468
Auth & tips
  • Requires great-docs: pip install great-docs (or run via pipx/uvx).
  • Auth: run gh auth login then add --use-gh, or set GITHUB_TOKEN (needs Actions: read).
  • Jump to a page: add --path reference/index.html.
  • Latest vs exact: --pr <n> grabs the newest build; --run <id> pins this one.
  • Re-download: --refresh ignores the local cache.

@has2k1
has2k1 merged commit fd7fdfe into main Oct 29, 2026
9 checks passed
@has2k1
has2k1 deleted the refactor/config-reload branch October 29, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant