From 740266982f1e596066f8b4ffe0cb2d44e1ff5cd3 Mon Sep 17 00:00:00 2001 From: Dmitri Bourlatchkov Date: Thu, 26 Jun 2025 11:41:23 -0400 Subject: [PATCH 1/4] feat: Add CHANGELOG * Add rudimentary CHANGELOG.md * Add the Jetbrains Changelog Gradle plugin to help managing CHANGELOG.md --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ build.gradle.kts | 21 +++++++++++++++++++++ gradle/libs.versions.toml | 1 + site/content/release-guide.md | 21 +++++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000..3367bbd423 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,30 @@ +# Apache Polaris Changelog + +The Polaris changelog is used to give users and contributors more information than just the list of commits. +Entries are grouped in sections like _Highlights_ or _Upgrade notes_, the provided sections can be adjusted +as necessary. Empty sections will not end up in the release notes. + +## [Unreleased] + +### Highlights + +### Upgrade notes + +### Breaking changes + +### New Features + +### Changes + +### Deprecations + +### Fixes + +### Commits + +## [1.0.0-incubating] + +- TODO: backfill 1.0.0 release notes + +[Unreleased]: https://github.com/projectnessie/nessie/commits +[1.0.0-incubating]: https://github.com/apache/polaris/releases/tag/apache-polaris-1.0.0-incubating-rc2 diff --git a/build.gradle.kts b/build.gradle.kts index 1604778cf9..3b08d60e56 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -32,6 +32,7 @@ plugins { id("eclipse") id("polaris-root") alias(libs.plugins.rat) + alias(libs.plugins.jetbrains.changelog) // workaround for https://github.com/kordamp/jandex-gradle-plugin/issues/25 alias(libs.plugins.jandex) apply false } @@ -217,3 +218,23 @@ copiedCodeChecks { } } } + +changelog { + repositoryUrl.set("https://github.com/apache/polaris") + title.set("Apache Polaris Changelog") + versionPrefix.set("apache-polaris-") + header.set(provider { "${version.get()}" }) + groups.set( + listOf( + "Highlights", + "Upgrade notes", + "Breaking changes", + "New Features", + "Changes", + "Deprecations", + "Fixes", + "Commits", + ) + ) + version.set(provider { project.version.toString() }) +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 91508b6b59..e67061536d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -102,3 +102,4 @@ jandex = { id = "org.kordamp.gradle.jandex", version = "2.1.0" } openapi-generator = { id = "org.openapi.generator", version = "7.12.0" } quarkus = { id = "io.quarkus", version.ref = "quarkus" } rat = { id = "org.nosphere.apache.rat", version = "0.8.1" } +jetbrains-changelog = { id = "org.jetbrains.changelog", version = "2.2.1"} \ No newline at end of file diff --git a/site/content/release-guide.md b/site/content/release-guide.md index 7ba9a76069..4d9968150b 100644 --- a/site/content/release-guide.md +++ b/site/content/release-guide.md @@ -113,6 +113,27 @@ git commit -a git push ``` +Update `CHANGELOG.md`: +``` +./gradlew patchChangelog +git commit -a +git push +``` + +Note: You should submit a PR to propagate (automated) CHANGELOG updates from the release +branch to `main`. + +If more changes are cherry-picked for the next RC, and those change introduce CHANGELOG entries, +follow this update process: +* Manually add an `-rcN` suffix to the previously generated versioned CHANGELOG section. +* Rerun the `patchChangelog` command +* Manually remove RC sections from the CHANGELOG +* Submit a PR to propagate CHANGELOG updates from the release branch to `main`. + +Note: the CHANGELOG patch commit should probably be the last commit on the release branch when +an RC is cut. If more changes are cherry-picked for the next RC, it is best to drop the +CHANGELOG patch commit, apply cherry-picks, and re-run `patchChangelog`. + Note: You should also submit a PR on `main` branch to bump the version in the `version.txt` file. ### Create release tag From a4490d7072758d61527854e210856a2ac963477d Mon Sep 17 00:00:00 2001 From: Dmitri Bourlatchkov Date: Thu, 26 Jun 2025 17:08:40 -0400 Subject: [PATCH 2/4] fix license header --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3367bbd423..f95f270663 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ + + # Apache Polaris Changelog The Polaris changelog is used to give users and contributors more information than just the list of commits. From 297403a152f11bac1687606f9f3123d42ab045f5 Mon Sep 17 00:00:00 2001 From: Dmitri Bourlatchkov Date: Thu, 26 Jun 2025 20:15:41 -0400 Subject: [PATCH 3/4] review: fix unreleased link --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f95f270663..22d0c8da80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,5 +45,5 @@ as necessary. Empty sections will not end up in the release notes. - TODO: backfill 1.0.0 release notes -[Unreleased]: https://github.com/projectnessie/nessie/commits +[Unreleased]: https://github.com/apache/polaris/commits [1.0.0-incubating]: https://github.com/apache/polaris/releases/tag/apache-polaris-1.0.0-incubating-rc2 From 43034e979a780eab33c7ab9f56aedc3d1c551f7b Mon Sep 17 00:00:00 2001 From: Dmitri Bourlatchkov Date: Fri, 27 Jun 2025 14:25:22 -0400 Subject: [PATCH 4/4] review: update description --- CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22d0c8da80..a0c93053a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,9 +19,11 @@ # Apache Polaris Changelog -The Polaris changelog is used to give users and contributors more information than just the list of commits. +This changelog is used to give users and contributors condensed information about the contents of Polaris releases. Entries are grouped in sections like _Highlights_ or _Upgrade notes_, the provided sections can be adjusted -as necessary. Empty sections will not end up in the release notes. +as necessary. Empty sections will not end up in the release notes. Contributors are encouraged to incorporate +CHANGELOG updates into their PRs when appropriate. Reviewers should be mindful of the impact of PRs and +request adding CHANGELOG notes for breaking (!) changes and possibly other sections as appropriate. ## [Unreleased]