11# Changelog Configuration
22# This file configures the valid values for changelog fields using the pivot structure.
33# Place this file as `changelog.yml` in the `docs/` directory
4+ #
5+ # NOTE: All list-like fields accept BOTH forms:
6+ # - Comma-separated string: "value1, value2, value3"
7+ # - YAML list:
8+ # - value1
9+ # - value2
10+ # - value3
11+ # Both forms produce the same result. Choose whichever is more readable for your use case.
412
13+ # Products configuration (optional)
14+ # If not specified, all products from products.yml are allowed
515products :
616 # List of available product IDs (empty = all from products.yml)
17+ # Accepts string or list: "elasticsearch, kibana" or [elasticsearch, kibana]
718 available :
19+ - cloud-serverless
820 - kibana
921 - observability
10- - cloud-serverless
1122 - security
1223 # Default products when --products not specified
1324 # default:
14- # - product: kibana
25+ # - product: elasticsearch
1526 # lifecycle: ga
1627
1728# Extraction configuration
@@ -25,122 +36,173 @@ extract:
2536 issues : true
2637
2738# Available lifecycle values (strongly typed: preview, beta, ga)
28- # New name (preferred):
29- # lifecycles:
30- # - preview
31- # - beta
32- # - ga
39+ # Accepts string or list: "preview, beta, ga" or a YAML list
40+ lifecycles :
41+ - preview
42+ - beta
43+ - ga
3344
3445# Pivot configuration for types, subtypes, and areas with label mappings.
3546# By default we render entries grouped by type > subtype > area.
3647# NOTE: subtype and area are optional and either may be omitted.
3748# Labels are specified in a "label -> value" format
38- pivot :
49+ # pivot:
3950 # Type definitions with optional labels
51+ # At a minimum, feature, bug-fix, and breaking-change must be configured.
4052 # Keys are type names, values can be:
4153 # - simple string: comma-separated label list (e.g., ">bug, >fix")
54+ # - YAML list: [">bug", ">fix"]
4255 # - empty/null: no labels for this type
4356 # - object: { labels: "...", subtypes: {...} } for breaking-change type only
44- types :
57+ # (labels and subtype values also accept string or list)
58+ # types:
4559 # Complex object form with subtypes (ONLY allowed for breaking-change)
4660 # Subtypes help categorize breaking changes by their nature
61+ # Both labels and subtype values accept string or list form
4762 # breaking-change:
48- # labels: "release_note:breaking"
49- # subtypes:
50- # api: ">api-breaking"
51- # behavioral: ">behavioral-breaking"
52- # configuration: ">config-breaking"
53- # dependency: ">dependency-breaking"
54- # subscription: ">subscription-breaking"
55- # plugin: ">plugin-breaking"
56- # security: ">security-breaking"
57- # other:
63+ # labels: ">breaking, >bc"
64+ # Equivalent list form:
65+ # labels:
66+ # - ">breaking"
67+ # - ">bc"
68+ # subtypes:
69+ # api: ">api-breaking"
70+ # behavioral: ">behavioral-breaking"
71+ # configuration: ">config-breaking"
72+ # dependency: ">dependency-breaking"
73+ # subscription: ">subscription-breaking"
74+ # plugin: ">plugin-breaking"
75+ # security: ">security-breaking"
76+ # other:
5877 # Simple string form: labels as comma-separated string
59- # bug-fix: "release_note:fix"
60- # deprecation: "release_note:deprecation"
61- # feature: "release_note:feature"
62- # enhancement: "release_note:enhancement"
63- # docs: ">docs"
78+ # bug-fix: ">bug"
79+ # deprecation: ">deprecation"
80+ # # Empty block: no labels (YAML null)
81+ # feature:
82+ # enhancement:
83+ # docs:
6484 # known-issue:
6585 # other:
6686 # regression:
6787 # security:
6888
89+ # Labels that trigger the highlight flag (accepts string or list)
90+ # String form: highlight: ">highlight, >release-highlight"
91+ # List form:
92+ # highlight:
93+ # - ">highlight"
94+ # - ">release-highlight"
95+
6996 # Area definitions with labels
70- # Keys are area display names, values are label strings
71- # Multiple labels can be comma-separated
97+ # Keys are area display names, values are label strings or lists
98+ # String form: "label1, label2" | List form: [label1, label2]
7299 # areas:
73- # Alerting: "Feature:Alerting, Team:Alerting Services, Feature:Actions, Team:ResponseOps"
74- # "Beats management": "Feature:beats-cm, Team:Beats"
75- # Canvas: "Feature:Canvas"
76- # "Dashboards and Visualizations": "Feature:Dashboard, Feature:Drilldowns, Project:TimeToVisualize, Team:Presentation, Feature:Lens, Feature:Timelion, Feature:TSVB, Feature:Coordinate Map, Feature:Region Map, Feature:Vega, Feature:Gauge Vis, Feature:Tagcloud, Feature:Vis Loader, Feature:Vislib, Feature:Vis Editor, Feature:Aggregations, Feature:Input Control, Feature:Visualizations, Feature:Markdown, Feature:Data Table, Feature:Heatmap, Feature:Pie Chart, Feature:XYAxis, Feature:Graph, Feature:Graph, Feature:New Feature, Feature:MetricVis, Team:Visualizations"
77- # "Data ingestion and Fleet": "Team:Fleet, Ingest, Feature:Ingest Node Pipelines"
78- # Discover: "Feature:Discover, Team:DataDiscovery"
79- # "ES|QL": "Team:ESQL"
80- # "Elastic Observability solution": "Feature:Observability Home, Feature:SLO, Team:obs-ux-management, Team:Obs AI Assistant, Team:obs-ux-infra_services, Team:obs-ux-logs, Team:obs-knowledge, Team:obs-entities, ci:project-deploy-observability, Feature:Uptime, Team:uptime, Team:apm, Team:APM, Feature:Metrics UI, Team:logs-metrics-ui, Feature:Logs UI, Feature:Infra UI, Feature:Service Maps"
81- # "Elastic Security solution": "Team:SIEM, Team:SecuritySolution, Team: SecuritySolution, Team:Endpoint Response, Team:Entity Analytics, Team:Security Generative AI, Team:Threat Hunting, Team:Threat Hunting:Explore, Team:Threat Hunting:Investigations, Team:Detections and Resp, Team:Asset Management, Team:Onboarding and Lifecycle Mgt, Team:Security Solution Platform, Team:Detection Alerts, Team: CTI, Team:Threat Hunting:Cases, Team:Cloud Security, Team:Detection Engine, Team:Defend Workflows, Team:Detection Rules, Team:Security-Scalability, Feature:Timeline, Feature:Detection Rules, Feature:Detection Alerts, Feature:Entity Analytics, Feature:Rule Exceptions, Feature:AutomaticImport"
82- # "Kibana platform": "Team:SharedUX, Team:Design, Project:Accessibility, Feature:Add Data, Feature:Home, Team:Cloud"
83- # "Kibana security": "Team:Security, Feature:Security/Spaces, Feature:users and roles, Feature:Security/Authentication, Feature:Security/Authorization, Feature:Security/Feature Controls, Team:Security-Scalability"
84- # "Kibana UI": "Kibana UI, Team:Core UI, Feature:Header"
85- # Logstash: "Feature:Logstash Pipelines"
86- # "Machine learning": ":ml, Feature:Anomaly Detection, Feature:Data Frames, Feature:File Data Viz, Feature:ml-results, Feature:Data Frame Analytics, Feature:Inference UI"
87- # Management: "Feature:license, Feature:Console, Feature:Search Profiler, Feature:watcher, Feature:Index Patterns, Feature:Data Views, Feature:Kibana Management, Feature:Dev Tools, Feature:Inspector, Feature:Index Management, Feature:Streams, Feature:Snapshot and Restore, Team:Elasticsearch UI, Team:Stack Management, Feature:FieldFormatters, Feature:CCR, Feature:ILM, Feature:Transforms, Feature:Search, Project:AsyncSearch, Feature:Upgrade Assistant"
88- # Maps: "Team:Geo"
89- # Monitoring: "Team:Monitoring, Feature:Telemetry, Feature:Stack Monitoring"
90- # Operations: "Feature:license, Team:Operations"
91- # Platform: "Team:Core, Feature:Plugins, Feature:New Platform, Project:i18n, Feature:ExpressionLanguage, Feature:Saved Objects, Team:Stack Services, Feature:NP Migration, Feature:Task Manager, Team:Pulse"
92- # QA: "Team:QA"
93- # "Querying and filtering": "Feature:Query Bar, Feature:Courier, Feature:Filters, Feature:Timepicker, Feature:Highlight, Feature:KQL, Feature:Rollups, Feature:Search, Project:AsyncSearch"
94- # Reporting: "Feature:Reporting, Team:Reporting Services"
95- # Search: "Team:Search"
96- # Sharing: "Feature:Embedding, Feature:SharingURLs"
100+ # Example mappings - customize based on your label naming conventions
101+ # Autoscaling: ":Distributed Coordination/Autoscaling"
102+ # Search: ":Search/Search"
103+ # Security: ":Security/Security"
104+ # Watcher: ":Data Management/Watcher"
105+ # List form example:
106+ # Search:
107+ # - ":Search/Search"
108+ # - ":Search/Ranking"
97109
98- # Rules configuration — controls which PRs create changelogs and which changelogs are published.
110+ # Rules configuration — controls which PRs create changelogs and which entries are published.
111+ # All list-like fields (exclude, include, exclude_types, etc.) accept BOTH forms:
112+ # - Comma-separated string: "value1, value2, value3"
113+ # - YAML list: [value1, value2, value3]
99114#
100115# Global match default for multi-valued fields (labels, areas).
101116# any (default) = match if ANY item matches the list
102117# all = match only if ALL items match the list
103118# Inherited by create, publish, and all product overrides.
104119rules :
105120 # match: any
106- # Create — controls which PRs generate changelogs.
107- # exclude: block PRs with these labels (comma-separated)
108- # include: only create changelogs for PRs with these labels
121+
122+ # Create — controls which PRs generate changelog entries.
123+ # exclude: block PRs with these labels (string or list)
124+ # include: only create changelogs for PRs with these labels (string or list)
109125 # Cannot specify both.
110126 #
111127 # create:
112128 # exclude: ">non-issue, >test"
129+ # # Or equivalently:
130+ # # exclude:
131+ # # - ">non-issue"
132+ # # - ">test"
113133 # # match: any
114134 # products:
115135 # 'elasticsearch, kibana':
116136 # exclude: ">test"
117137 # 'cloud-serverless':
118138 # exclude: "ILM"
119139
120- # Publish — controls which changelogs appear in rendered output.
121- # exclude_types / include_types
122- # exclude_areas / include_areas
140+ # Publish — controls which entries appear in rendered output.
141+ # exclude_types / include_types (string or list)
142+ # exclude_areas / include_areas (string or list)
123143 # Cannot mix exclude_ and include_ for the same field.
144+ #
124145 # match_areas inherits from rules.match if not specified.
125146 #
126147 publish :
127- # match_areas: all
128- # exclude_types:
129- # - deprecation
130- # - known-issue
148+ # # match_areas: any
149+ # exclude_types: "docs"
150+ # # Or equivalently:
151+ # # exclude_types:
152+ # # - deprecation
153+ # # - known-issue
131154 # exclude_areas:
132155 # - "Internal"
133156 products :
157+ # 'elasticsearch, kibana':
158+ # exclude_types:
159+ # - docs
160+ ' cloud-serverless ' :
161+ match_areas : any
162+ exclude_areas :
163+ - Allocation
164+ - Audit
165+ - Authentication
166+ - Autoscaling
167+ - CCR
168+ - CCS
169+ - " Cluster coordination"
170+ - Codec
171+ - " Discovery-Plugins"
172+ - Engine
173+ - FIPS
174+ - Health
175+ - ILM
176+ - IdentityProvider
177+ - " Infra/Circuit breakers"
178+ - " Infra/CLI"
179+ - " Infra/Core"
180+ - " Infra/Entitlements"
181+ - " Infra/Logging"
182+ - " Infra/Metrics"
183+ - " Infra/Node lifecycle"
184+ - " Infra/Plugins"
185+ - " Infra/Transport API"
186+ - License
187+ - Monitoring
188+ - Packaging
189+ - " Searchable snapshots"
190+ - SLM
191+ - " Snapshot and restore"
192+ - Stats
193+ - Watcher
194+ exclude_types :
195+ - docs
196+ # include_areas:
197+ # - "Search"
198+ # - "Monitoring"
134199 ' kibana ' :
135200 match_areas : all
136201 exclude_types :
137202 - docs
138203 exclude_areas :
139204 - " Elastic Observability solution"
140205 - " Elastic Security solution"
141- ' cloud-serverless ' :
142- exclude_types :
143- - docs
144206 ' observability ' :
145207 exclude_types :
146208 - docs
@@ -153,20 +215,28 @@ rules:
153215 match_areas : any
154216 include_areas :
155217 - " Elastic Security solution"
156- # Bundle configuration (profiles and defaults)
218+
219+ # Bundle configuration (profiles and defaults)
157220bundle :
158221 # Input directory containing changelog YAML files
159- directory : docs/ changelog
222+ directory : changelog
160223 # Output directory for bundled changelog files
161- output_directory : docs/ releases
224+ output_directory : releases
162225 # Whether to resolve (copy contents) by default
163226 resolve : true
164227
165228 # Named bundle profiles for different release scenarios
166229 # profiles:
167- # kibana-release:
168- # products: "kibana {version} {lifecycle}"
169- # output: "kibana-{version}.yaml"
170- # serverless-release:
171- # products: "cloud-serverless {version} {lifecycle}"
172- # output: "serverless-{version}.yaml"
230+ # Example: Elasticsearch release profile
231+ # elasticsearch-release:
232+ # products: "elasticsearch {version} {lifecycle}"
233+ # output: "elasticsearch-{version}.yaml"
234+
235+ # Example: Serverless release profile
236+ # serverless-release:
237+ # products: "cloud-serverless {version} *"
238+ # output: "serverless-{version}.yaml"
239+ # # Feature IDs to hide when bundling with this profile (accepts string or list)
240+ # hide_features:
241+ # - feature-flag-1
242+ # - feature-flag-2
0 commit comments