Skip to content

[docs] API changelogs#4173

Closed
github-actions[bot] wants to merge 1 commit into
mainfrom
bot/api-diff
Closed

[docs] API changelogs#4173
github-actions[bot] wants to merge 1 commit into
mainfrom
bot/api-diff

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Automated API changelogs comparing all published NuGet.org versions.
Generated by the api-diff workflow using Mono.ApiTools.NuGetDiff.

Respects scripts/versions.json for comparison overrides and supersession tracking.


mattleibow added a commit that referenced this pull request Jun 17, 2026
… local skia links (#4177)

[docs] Unify changelog + release-notes generation: stable rollups and local skia links (#4177)

Context: #4171 (shared versions.json), #4173 (bot/api-diff PR), #4176 (folded in here)

Two fixes to the shared versions.json-driven docs pipeline, shipped together
because they are the two halves of the same "one rollup per release line"
model.

~~ API changelogs: one folder per release line, not per preview ~~

The unify-versioning refactor (#4171) started passing --nugetDiffPrerelease=true
to docs-api-diff-past so the 4.x line — which ships only as previews/rcs until
it stabilises — would get changelogs at all. But the loop still emitted a folder
for *every* enumerated version, so each intermediate preview produced its own
directory: the last API Diff run filled bot/api-diff (#4173) with
4.147.0-preview.{1,2,3}, 4.148.0-rc.1.2 and 4.150.0-preview.1.1 dirs across every
tracked package (~2,300 added files). Historically changelogs/ held stable
versions only.

Collapse the feed to one entry per release line (numeric version core with the
prerelease label stripped: 4.148.0-rc.1.2 -> 4.148.0; a genuine 4-part stable
like 1.49.2.1 keeps its fourth digit) and emit a single rollup changelog per
line, diffed against the line's representative package — the newest stable if it
shipped, otherwise the newest prerelease. This mirrors the release-notes pages,
which are stable-named rollups of the previews in between.

A line is emitted when it shipped stable, or when it is an active dev line
(preview-only, not superseded, and newer than the last stable — e.g. 4.148,
4.150). Abandoned preview-only lines (superseded in versions.json, e.g. 4.147)
and old never-shipped previews are skipped; their changes are absorbed into the
successor's cumulative diff. Baselines are unchanged: versions.json compare_to
overrides win, otherwise diff against the previous emitted line.

  * RunBreakingAndFullDiff (published overload) now takes the changelog folder
    name separately from the diffed package version, since they differ while a
    line is still in preview.

For SkiaSharp this regenerates to the stable set plus the two active lines: it
adds 3.119.4 (the shipped stable, previously missing) and the 4.148.0/4.150.0
rollups, and prunes the superseded preview-only 3.0.0 and 3.119.3 directories
that predated versions.json. Once merged, the API Diff workflow regenerates
#4173 with the collapsed set.

~~ Release notes: drop per-PR effort metric, resolve skia links locally ~~

The --all run was timing out: the now-removed "effort" metric and the
companion-skia-PR link resolution each issued one network fetch per PR (162
serial round-trips).

  * Removed the per-PR effort metric entirely (it never appeared in output).
  * Made skia-link resolution pure-local: detect submodule bumps via
    git rev-parse <commit>:externals/skia against the parent, batch-fetch only
    the bumped SHAs (blobless + shallow) into externals/skia, and read each skia
    commit subject to parse the companion mono/skia#N PR — no per-PR network.

Result: companion links resolved for 22/23 skia-bumping PRs in 4.148 (the one
miss is an anomalous backwards gitlink with no PR), and a cold full --all run
drops to ~35s.

Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
github-actions Bot force-pushed the bot/api-diff branch 2 times, most recently from 64b67cd to dd5b555 Compare June 17, 2026 20:31
Regenerated by the api-diff workflow using Mono.ApiTools.NuGetDiff.
Compares all published NuGet.org versions (including prereleases).
Respects scripts/infra/docs/versions.json for comparison overrides.
@mattleibow mattleibow closed this Jun 19, 2026
@mattleibow mattleibow added the area/Docs Issues relating to documentation, such as API docs or conceptual docs. label Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/Docs Issues relating to documentation, such as API docs or conceptual docs.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant