build-tools-internal/src/main/resources/templates/index.md
Review the changes, fixes, and more in each version of Elasticsearch.
To check for security updates, go to Security announcements for the Elastic stack.
% Release notes include only features, enhancements, and fixes. Add breaking changes, deprecations, and known issues to the applicable release notes sections.
% ## version.next [elasticsearch-next-release-notes]
% ### Features and enhancements [elasticsearch-next-features-enhancements] % *
% ### Fixes [elasticsearch-next-fixes] % * <% for(bundle in changelogBundles) { def version = bundle.version def versionForIds = bundle.version.toString().equals('9.0.0') ? bundle.versionWithoutSeparator : bundle.version def changelogsByTypeByArea = bundle.changelogsByTypeByArea def notableHighlights = bundle.notableHighlights def nonNotableHighlights = bundle.nonNotableHighlights def unqualifiedVersion = bundle.unqualifiedVersion def coming = !bundle.bundle.released %>
<%
if (coming) {
print "{applies_to}\n" print "stack: ga ${version}\n" print ""
print "\n"
}
if (!notableHighlights.isEmpty() || !nonNotableHighlights.isEmpty()) { print "\n### Highlights [elasticsearch-${versionForIds}-highlights]\n" }
for (highlights in [notableHighlights, nonNotableHighlights]) { if (!highlights.isEmpty()) { for (highlight in highlights) { %> ::::{dropdown} ${highlight.title} ${highlight.body.trim()} :::: <% } } }
for (changeType in ['features-enhancements', 'fixes', 'regression']) { if (changelogsByTypeByArea[changeType] == null || changelogsByTypeByArea[changeType].empty) { continue; } %>
<% for (team in changelogsByTypeByArea[changeType].keySet()) { print "${team}:\n";
for (change in changelogsByTypeByArea[changeType][team]) {
if (!change.entryOverride) {
print "* ${change.summary} [#${change.pr}](https://github.com/elastic/elasticsearch/pull/${change.pr})"
if (change.issues != null && change.issues.empty == false) {
print change.issues.size() == 1 ? " (issue: " : " (issues: "
print change.issues.collect { "[#${it}](https://github.com/elastic/elasticsearch/issues/${it})" }.join(", ")
print ")"
}
} else {
print change.entryOverride.trim();
}
print "\n"
}
print "\n"
} } print "\n" }