Skip to content

doc: dependencies apart, a release's changelog since the previous release - #121

Merged
Kinflou merged 4 commits into
mainfrom
doc/dependencies-and-release-changelogs
Nov 2, 2026
Merged

Kinflou merged 4 commits into
mainfrom
doc/dependencies-and-release-changelogs

Conversation

@Kinflou

@Kinflou Kinflou commented Nov 1, 2026

Copy link
Copy Markdown
Member

CLI half of core#163 / generation#104.

Dependency bug, root cause. A built version's root tree stores every compiled schema (schema_<n>): the package's own, its dependencies' (localdeps::greeting) and std's (std::http). comline doc loaded them all with history::load_schemas, and model_frozen built its index with no dependency names, so every schema counted as an own module. Now frozen() passes the vendored dependency names (dep_<name> entries, plus std) and the model lists them apart in dependencies, by reach. The same fix makes each version's schemas its own alone, which also stops the unreleased state from always looking changed (built schemas held std's, the working tree's didn't).

Release changelogs. A release now carries its changes since the previous release, compared directly between the two built trees (span: release); its page shows that, headed e.g. 0.1.0 to 0.2.0. A dev build (or the unreleased state) past the first build after a release carries its changes since that release (since_release), linked from its page under its step. Steps are still computed on the trimmed list, so the compare page composes them as before. The cache key names every commit a version's changelogs start from.

Tests. a_release_changelog_covers_everything_since_the_previous_release (release, dev build, release from the same files: the second release lists the dev build's changes; compare.js counts the change once) and dependencies_are_listed_apart_by_reach (std::http reached, std::validators not, no std pages, hosted links, plain brand).

Pins: comline-core on core#163, comline-codegen + doc renderers on generation#104 (abba324, the commit the generators pin), comline-rust#92, comline-typescript#111.

…ease

- A built version's frozen schemas hold its dependencies' and std's: they
  were documented as the package's own modules. The model now lists them
  apart (core#163), each with only what the package reaches, and a
  version's schemas for changelogs are its own alone (they held every
  dependency, so the unreleased state always looked changed).
- A release carries its changes since the previous release, compared
  directly between the two trees; a dev build (and the unreleased state)
  past the first build after a release, its changes since that release.
  Steps stay on the trimmed list, which the compare page composes; the
  cache key names every commit a version's changelogs start from.
- Pins: comline-core on core#163, the doc renderers and comline-codegen on
  generation#104, the generators on comline-rust#92 and
  comline-typescript#111.
@Kinflou
Kinflou merged commit bd86d90 into main Nov 2, 2026
2 checks passed
@Kinflou
Kinflou deleted the doc/dependencies-and-release-changelogs branch November 2, 2026 02:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant