Skip to content

[Release notes] Cutover to product-version changelog note registry - #4124

Open
lcawl wants to merge 3 commits into
changelog-note-registry-fixes-2from
changelog-note-registry-fixes-3
Open

lcawl wants to merge 3 commits into
changelog-note-registry-fixes-2from
changelog-note-registry-fixes-3

Conversation

@lcawl

@lcawl lcawl commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR is the fourth and final phase of fixes for changelog note registry issues.
When it is merged, we can delete leftover notes-{version}.json objects from S3/CDN.
{changelog} :cdn: pages no longer read them.

Background

Relates to #4090, #4103

Per #4103 (comment), since the related issues touch the same areas of the code and have a significant, overlapping impact, this PR is part of a multi-PR phased approach.

Details

CdnChangelogFetcher only loads:

  1. bundle/{product}/registry.json
  2. The YAML files that registry lists (cloud-4.2.0.yaml, .amend-N, .amend-notes.yaml)

src/Elastic.Markdown never references notes-. Notes indexes are only used by changelog bundle.

Do not delete bundle/{product}/*.yaml or bundle/{product}/registry.json. Those are what the pages render.

This cutover:

  • Stops writing notes-{version}.json
  • Deletes leftover version-only keys on the next notes reconcile
  • Drops the FetchNotesAsync 404 fallback; changelog bundle only GETs notes-{product}-{version}.json

A note upload (or --skip-etag-check on an existing note) is enough to trigger leftover version-only deletes. Manual S3 deletes of those objects are also safe for directive pages.

Generative AI disclosure

  1. Did you use a generative AI (GenAI) tool to assist in creating this contribution?
  • Yes
  • No
  1. If you answered "Yes" to the previous question, please specify the tool(s) and model(s) used (e.g., Google Gemini, OpenAI ChatGPT-4, etc.).

Tool(s) and model(s) used: Cursor Grok 4.6

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approved.


What is this? | From workflow: PR Review

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

lcawl and others added 2 commits November 4, 2026 14:01
ProfileMode_CdnNotesForTheTarget_AreMergedIntoTheBundle landed on main
after this branch and served the version-only notes index. The cutover
reads notes-{product}-{version}.json only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TjZFCvQhL3DdrcjFKU6jDT
`changelog-note-registry-fixes-2` merged `main`, and one hunk in `CdnChangelogEntryFetcherTests` conflicted: that branch only reformatted a legacy-fallback test block that this branch deletes. The merge keeps the deletion, which is the point of the cutover.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
IEnumerable<string> productVersionKeys,
IEnumerable<string> versions
)
private static HashSet<string> IntendedIndexKeys(string org, string repo, IEnumerable<string> productVersionKeys)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Severity: P2 (Medium)

Removing notes-{version}.json from the intended keys means the scrubber stops writing it and also deletes any existing copy on the next reconcile. Before this PR, the docs said that key was kept "for older CLI pins". A pinned changelog bundle from before the product-scoped key existed only GETs notes-{version}.json, and it treats a 404 as "no notes" rather than an error. Once the Lambda deploys, bundles built by those pinned CLIs will silently leave out every changelog note. Either confirm that no pinned consumers remain, or keep the dual-write and skip deleting the legacy key until a minimum CLI version is enforced. The cutover should also be called out in the release notes or upgrade docs.

Generated by Libra. Specialist: libra-complexity. React with 👍 or 👎 to give feedback on this comment.

This branch was successfully deployed

2 active deployments
docs-preview — f1551cc6 Deployed Nov 4, 2026 by github-actions[bot]
assembler-preview — f1551cc6 Deployed Nov 4, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants