Skip to content

Add CHANGELOG and Github Tag to release page#54740

Merged
k8s-ci-robot merged 1 commit intokubernetes:mainfrom
kfess:issue-54739
Mar 11, 2026
Merged

Add CHANGELOG and Github Tag to release page#54740
k8s-ci-robot merged 1 commit intokubernetes:mainfrom
kfess:issue-54739

Conversation

@kfess
Copy link
Member

@kfess kfess commented Mar 1, 2026

Description

Add CHANGELOG and GitHub tag links to release series pages for all versions.

Issue

Closes: #54739

@k8s-ci-robot k8s-ci-robot requested a review from natalisucks March 1, 2026 15:25
@k8s-ci-robot k8s-ci-robot added the language/en Issues or PRs related to English language label Mar 1, 2026
@k8s-ci-robot k8s-ci-robot requested a review from reylejano March 1, 2026 15:25
@k8s-ci-robot k8s-ci-robot added sig/docs Categorizes an issue or PR as relevant to SIG Docs. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Mar 1, 2026
@netlify
Copy link

netlify bot commented Mar 1, 2026

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit 40c4b8f
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-io-main-staging/deploys/69ae9d3d33d64300083b4553
😎 Deploy Preview https://deploy-preview-54740--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@CodesbyUnnati
Copy link

/lgtm

@k8s-ci-robot
Copy link
Contributor

@CodesbyUnnati: changing LGTM is restricted to collaborators

Details

In response to this:

/lgtm

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@lmktfy
Copy link
Member

lmktfy commented Mar 5, 2026

/sig release
/area web-development

@k8s-ci-robot k8s-ci-robot added sig/release Categorizes an issue or PR as relevant to SIG Release. area/web-development Issues or PRs related to the kubernetes.io's infrastructure, design, or build processes labels Mar 5, 2026
Copy link
Member

@lmktfy lmktfy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. We can just about merge it as-is, but it will be considerably better with tweaks.

</li>
{{ end }}
<li>
<a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-{{ .Params.minorVersion }}.md">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For v1.35 the right place to link to is likely to be https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.35.md#changelog-since-v1340

I think we could try to work out the fragment to target (automatically, I mean); if we get that part wrong, it degrades to a less good but still useful experience for the user.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, linking directly to the relevant section would be a better experience. I'll work on generating the fragment automatically.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The anchor format for changelogs varies across older versions (e.g., "changes-since" vs "changelog-since", inconsistent hash patterns). So it required version-specific branching to generate the correct link.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eesh. We might be able to get that fixed retrospectively or something.

OK. Well, then, it doesn't block a merge.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also think this logic is ugly. Recent releases already use a consistent anchor format, so if we could fix the old CHANGELOGs, we could remove all this branching logic entirely.
I'm not sure if changing historical CHANGELOGs is acceptable or not, but is it worth filing an issue to discuss at kubernetes/kubernetes?

{{ end }}
</li>
{{ end }}
<li>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd use

{{- $currentVersion := site.Params.version -}}
{{- $currentVersion := (replace $currentVersion "v" "") -}}

matching https://github.com/kubernetes/website/blob/fb51996b2ede0aec5ab329cb5816ce8bd1a28f4c/layouts/shortcodes/skew.html (the skew shortcode)

Copy link
Member Author

@kfess kfess Mar 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same question with https://github.com/kubernetes/website/pull/54740/changes#r2898768439

Thanks for the suggestion. Currently, isLatestVersion is computed in the content adapter (_content.gotmpl) by comparing against the first entry in site.Data.releases.schedule.schedules.

Do you mean that passing this data via .Params from the content adapter is not preferred?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I mistook these for global params. Oops.

</li>
<li>
<a href="https://github.com/kubernetes/kubernetes/releases/tag/v{{ .Params.latestPatchVersion }}">
{{ T "release_github_tag" }} ({{ .Params.latestPatchVersion }})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The best way to get the patch version is actually similar to this code:

<!-- output patch version for current release -->
{{- if eq $version "currentPatchVersion" -}}
    {{- $seenPatchVersionInfoCount := 0 }}
    {{- range $releaseInfo := .Site.Data.releases.schedule.schedules -}}
        {{- if eq $currentVersion ( printf "%.2f" $releaseInfo.release ) -}}
            {{- range $patchReleaseInfo := $releaseInfo.previousPatches -}}
                {{- if eq $seenPatchVersionInfoCount 0 -}}
                  {{- $patchReleaseInfo.release -}}
                {{- end -}}
                {{- $seenPatchVersionInfoCount = add $seenPatchVersionInfoCount 1 -}}
            {{- end -}}
        {{- end -}}
    {{- end -}}
    {{- if eq $seenPatchVersionInfoCount 0 -}}
        <!-- fallback patch version to .0 -->
        {{- printf "%s.0" $currentVersion -}}
    {{- end -}}
{{- end -}}

This lookup that I've quoted relies on changes that are automatically processed (using a process owned by SIG Release); .Params.latestPatchVersion is legacy.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to clarify, .Params.latestPatchVersion is computed in the content adapter (_content.gotmpl).
For supported versions, it comes from site.Data.releases.schedule.schedules[].previousPatches.
For eol versions, it comes from site.Data.releases.eol.branches[].finalPatchRelease.

Do you mean that passing this data via .Params from the content adapter is not a preferred approach?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I mistook these for global params. Sorry about that.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's good to have a defensive calculation where if previousPatches doesn't have any data, we fall back to patch version 0 though.

@lmktfy
Copy link
Member

lmktfy commented Mar 5, 2026

Aside: we used to have https://relnotes.k8s.io/ but it is very stale.

@k8s-ci-robot k8s-ci-robot added area/release-eng Issues or PRs related to the Release Engineering subproject size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Mar 8, 2026
{{ $parts := split $version "." }}
{{ $major := int (index $parts 0) }}
{{ $minor := int (index $parts 1) }}
{{ $previousMinorVersion := printf "%d.%d" $major (sub $minor 1) }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a comment that this is fragile if we ever do a major version release (Kubernetes 2.0)

@lmktfy
Copy link
Member

lmktfy commented Mar 8, 2026

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 8, 2026
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

DetailsGit tree hash: 7b41591e14de1d69b627692b53564c7848488f59

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 9, 2026
@k8s-ci-robot k8s-ci-robot requested a review from lmktfy March 9, 2026 10:13
@kfess
Copy link
Member Author

kfess commented Mar 9, 2026

I've updated the commits to incorporate the latest changes. Please take a look when you have time.

@natalisucks
Copy link
Contributor

thank you @kfess 🚀
/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: natalisucks

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 9, 2026
@lmktfy
Copy link
Member

lmktfy commented Mar 11, 2026

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 11, 2026
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

DetailsGit tree hash: 51ba6d12bea605d466ccd6a5804ee5bb12a3fab5

@k8s-ci-robot k8s-ci-robot merged commit 54e0666 into kubernetes:main Mar 11, 2026
6 checks passed
@kfess kfess deleted the issue-54739 branch March 12, 2026 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/release-eng Issues or PRs related to the Release Engineering subproject area/web-development Issues or PRs related to the kubernetes.io's infrastructure, design, or build processes cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/docs Categorizes an issue or PR as relevant to SIG Docs. sig/release Categorizes an issue or PR as relevant to SIG Release. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add CHANGELOG and GitHub tag links to release series pages

5 participants