Skip to content

[9.3] [ML] Add per-PR changelog YAML entries with schema validation (#2920)#3038

Merged
edsavage merged 2 commits into9.3from
backport/9.3/pr-2920
May 5, 2026
Merged

[9.3] [ML] Add per-PR changelog YAML entries with schema validation (#2920)#3038
edsavage merged 2 commits into9.3from
backport/9.3/pr-2920

Conversation

@github-actions
Copy link
Copy Markdown

@github-actions github-actions Bot commented May 5, 2026

Backport

This will backport the following commits from main to 9.3:

Questions ?

Please refer to the Backport tool documentation

Replace the monolithic CHANGELOG.md with per-PR YAML changelog files
in docs/changelog/. Each PR that changes user-visible behaviour adds
a small YAML file (<PR_NUMBER>.yaml) with structured metadata (area,
type, summary). This eliminates merge conflicts in CHANGELOG.md and
simplifies backports.

Includes:
- JSON schema for validating changelog entries
- Python validation script (validate_changelogs.py)
- Python bundler script (bundle_changelogs.py) for release notes
- Gradle tasks: validateChangelogs, bundleChangelogs
- Buildkite CI step (soft-fail during rollout)
- Skip validation via >test, >refactoring, >docs, >build labels

Replaces the ml-cpp-specific changelog schema with the exact
Elasticsearch changelog schema so that entries can be consumed
directly by the ES release notes pipeline (Phase 2 Option A).

Key changes:
- area enum: ES-wide values (most entries use "Machine Learning")
- type enum: adds breaking-java, known-issue, new-aggregation,
  security, upgrade
- Adds highlight, breaking, and deprecation sub-objects
- pr/area not required for known-issue and security types
- Validator allows descriptive filenames for entries without a pr
- Bundler handles all new types and entries without pr/area
- AsciiDoc output uses {ml-pull} macros for consistency

Made-with: Cursor

---------

Co-authored-by: elasticsearchmachine <infra-root+elasticsearchmachine@elastic.co>
(cherry picked from commit 77d0a75)
@prodsecmachine
Copy link
Copy Markdown

prodsecmachine commented May 5, 2026

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions github-actions Bot enabled auto-merge (squash) May 5, 2026 21:38
Co-authored-by: Cursor <cursoragent@cursor.com>
@edsavage edsavage added the :ml label May 5, 2026
@edsavage edsavage disabled auto-merge May 5, 2026 22:52
@edsavage edsavage merged commit c08ab76 into 9.3 May 5, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-backport Automatically merge backport PRs when CI passes backport >docs :ml >non-issue v9.3.3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants