Skip to content

Commit 1ebfbda

Browse files
committed
Version 0.5.1
1 parent 82f8378 commit 1ebfbda

4 files changed

Lines changed: 73 additions & 13 deletions

File tree

docs/releases/upgrade-to-0.5.1.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Upgrade prompt: `com.open-elements:java-parent` 0.5.0 → 0.5.1
2+
3+
## Prompt
4+
5+
You are upgrading a Maven project that uses `com.open-elements:java-parent` as its `<parent>`, moving from `0.5.0` to `0.5.1`. This release is a **cleanup release**: it contains exactly one consumer-relevant change — the parent POM no longer declares the `central-portal-snapshots` snapshot `<repositories>` block, which child projects previously inherited. There are **no dependency-version changes, no plugin-version changes, and no API changes**. For the typical consumer that resolves only released artifacts from Maven Central, this is a **do-nothing-and-it-still-works** bump. Only one case requires action (see the Breaking-light change below). Do not change anything outside this scope.
6+
7+
### What changed in 0.5.1
8+
9+
#### Dependencies
10+
11+
Bump only the `<parent>` version of `com.open-elements:java-parent` to `0.5.1`. **No managed dependency or plugin versions changed** between 0.5.0 and 0.5.1 — Spring Boot stays at `3.5.14`, Testcontainers stays at `2.0.5`, Slack API client stays at `1.45.3`, JSpecify stays at `1.0.0`, WireMock stays at `3.10.0`, and all `maven-*` / JReleaser / CycloneDX plugin versions are unchanged. Do **not** bump any of those coordinates as part of this upgrade.
12+
13+
#### Breaking-light: inherited `central-portal-snapshots` repository removed
14+
15+
In 0.5.0 the parent POM declared a `<repositories>` block that child projects inherited:
16+
17+
```xml
18+
<!-- present in 0.5.0, REMOVED in 0.5.1 -->
19+
<repositories>
20+
<repository>
21+
<id>central-portal-snapshots</id>
22+
<name>Central Portal Snapshots</name>
23+
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
24+
<releases>
25+
<enabled>false</enabled>
26+
</releases>
27+
<snapshots>
28+
<enabled>true</enabled>
29+
</snapshots>
30+
</repository>
31+
</repositories>
32+
```
33+
34+
In 0.5.1 this block is gone. The parent no longer contributes any `<repositories>` entry to its children.
35+
36+
This still compiles and the project model stays valid — that is why it is **breaking-light, not breaking**. The only consumer affected is one that **relied on inheriting this snapshot repository to resolve `-SNAPSHOT` dependencies** (for example, pre-release Open Elements artifacts published to the Central Portal snapshot repository). After upgrading, such a build will fail at dependency resolution with a "could not resolve" / "not found in any repository" error for those snapshot artifacts.
37+
38+
- **If the consumer only uses released versions** (the normal case): no action is required. Released artifacts come from Maven Central, which Maven resolves by default; nothing changes.
39+
- **If the consumer genuinely needs Central Portal snapshots**: declare the repository explicitly in the consumer's own `pom.xml` (paste the block above), rather than relying on the parent to provide it.
40+
41+
### Steps
42+
43+
1. In the consumer's `pom.xml`, set the `<parent>` `<version>` of `com.open-elements:java-parent` to `0.5.1`. Leave all other coordinates untouched.
44+
2. Determine whether the consumer depends on any `-SNAPSHOT` artifact that was previously resolved through the inherited `central-portal-snapshots` repository (search the build for `-SNAPSHOT` dependency versions, and check whether the consumer declares its own snapshot repository already).
45+
3. Only if step 2 found such a dependency **and** no equivalent repository is declared in the consumer: add the `central-portal-snapshots` `<repositories>` block (above) directly to the consumer's `pom.xml`.
46+
4. Run `./mvnw -version`-equivalent resolution — e.g. `mvn -U dependency:resolve` (or a clean build) — and confirm all dependencies resolve.
47+
5. Build and run the test suite; confirm green before committing.
48+
49+
### Guard rails
50+
51+
- Do **not** bump Spring Boot, Testcontainers, Slack API client, JSpecify, WireMock, or any Maven/JReleaser/CycloneDX plugin version as part of this upgrade — none of them changed in 0.5.1.
52+
- Do **not** add the `central-portal-snapshots` repository to the consumer unless the consumer actually resolves a `-SNAPSHOT` dependency that depended on it; adding it speculatively pulls snapshot metadata into a build that should use only releases.
53+
- Do **not** add the removed repository back to `java-parent` itself — the removal is intentional; consumers that need it declare it locally.
54+
- Do **not** treat this as an API or behavior change: there are no changed signatures, defaults, or message strings to fix.
55+
56+
### Don't do this
57+
58+
- Do not "fix" snapshot-resolution failures by enabling snapshots on Maven Central or on an unrelated repository — declare the specific Central Portal snapshot repository instead.
59+
- Do not pin or upgrade managed dependency versions in the consumer to "match 0.5.1" — the BOM-managed versions are unchanged.
60+
- Do not bundle this upgrade with unrelated dependency bumps or feature work in the same PR.

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.open-elements</groupId>
66
<artifactId>java-parent</artifactId>
7-
<version>1.0.0-SNAPSHOT</version>
7+
<version>0.5.1</version>
88
<packaging>pom</packaging>
99

1010
<name>Java Parent</name>

target/bom.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"bomFormat" : "CycloneDX",
33
"specVersion" : "1.6",
4-
"serialNumber" : "urn:uuid:b6e46e60-cf5f-3cf0-9dff-6c5b7e8ac10d",
4+
"serialNumber" : "urn:uuid:3626ec2b-fb1a-3328-bb4a-3fcfeba0f91f",
55
"version" : 1,
66
"metadata" : {
7-
"timestamp" : "2026-06-21T22:04:01Z",
7+
"timestamp" : "2026-06-21T22:10:22Z",
88
"lifecycles" : [
99
{
1010
"phase" : "build"
@@ -58,10 +58,10 @@
5858
},
5959
"component" : {
6060
"type" : "library",
61-
"bom-ref" : "pkg:maven/com.open-elements/java-parent@0.5.0?type=pom",
61+
"bom-ref" : "pkg:maven/com.open-elements/java-parent@0.5.1?type=pom",
6262
"group" : "com.open-elements",
6363
"name" : "java-parent",
64-
"version" : "0.5.0",
64+
"version" : "0.5.1",
6565
"description" : "Java Parent for projects by Open Elements",
6666
"licenses" : [
6767
{
@@ -70,7 +70,7 @@
7070
}
7171
}
7272
],
73-
"purl" : "pkg:maven/com.open-elements/java-parent@0.5.0?type=pom",
73+
"purl" : "pkg:maven/com.open-elements/java-parent@0.5.1?type=pom",
7474
"externalReferences" : [
7575
{
7676
"type" : "website",
@@ -1102,7 +1102,7 @@
11021102
],
11031103
"dependencies" : [
11041104
{
1105-
"ref" : "pkg:maven/com.open-elements/java-parent@0.5.0?type=pom",
1105+
"ref" : "pkg:maven/com.open-elements/java-parent@0.5.1?type=pom",
11061106
"dependsOn" : [
11071107
"pkg:maven/io.swagger.core.v3/swagger-annotations-jakarta@2.2.29?type=jar",
11081108
"pkg:maven/org.jspecify/jspecify@1.0.0?type=jar",

target/bom.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<bom serialNumber="urn:uuid:b6e46e60-cf5f-3cf0-9dff-6c5b7e8ac10d" version="1" xmlns="http://cyclonedx.org/schema/bom/1.6">
2+
<bom serialNumber="urn:uuid:3626ec2b-fb1a-3328-bb4a-3fcfeba0f91f" version="1" xmlns="http://cyclonedx.org/schema/bom/1.6">
33
<metadata>
4-
<timestamp>2026-06-21T22:04:01Z</timestamp>
4+
<timestamp>2026-06-21T22:10:22Z</timestamp>
55
<lifecycles>
66
<lifecycle>
77
<phase>build</phase>
@@ -28,17 +28,17 @@
2828
</component>
2929
</components>
3030
</tools>
31-
<component type="library" bom-ref="pkg:maven/com.open-elements/java-parent@0.5.0?type=pom">
31+
<component type="library" bom-ref="pkg:maven/com.open-elements/java-parent@0.5.1?type=pom">
3232
<group>com.open-elements</group>
3333
<name>java-parent</name>
34-
<version>0.5.0</version>
34+
<version>0.5.1</version>
3535
<description>Java Parent for projects by Open Elements</description>
3636
<licenses>
3737
<license>
3838
<id>Apache-2.0</id>
3939
</license>
4040
</licenses>
41-
<purl>pkg:maven/com.open-elements/java-parent@0.5.0?type=pom</purl>
41+
<purl>pkg:maven/com.open-elements/java-parent@0.5.1?type=pom</purl>
4242
<externalReferences>
4343
<reference type="website">
4444
<url>https://github.com/OpenElementsLabs/java-parent</url>
@@ -575,7 +575,7 @@
575575
</component>
576576
</components>
577577
<dependencies>
578-
<dependency ref="pkg:maven/com.open-elements/java-parent@0.5.0?type=pom">
578+
<dependency ref="pkg:maven/com.open-elements/java-parent@0.5.1?type=pom">
579579
<dependency ref="pkg:maven/io.swagger.core.v3/swagger-annotations-jakarta@2.2.29?type=jar"/>
580580
<dependency ref="pkg:maven/org.jspecify/jspecify@1.0.0?type=jar"/>
581581
<dependency ref="pkg:maven/com.slack.api/slack-api-client@1.45.3?type=jar"/>

0 commit comments

Comments
 (0)