From 2191d7d0e1329b3d131fd50aec772dd26f445f77 Mon Sep 17 00:00:00 2001 From: Anukalp Date: Mon, 22 Dec 2025 00:28:27 +0530 Subject: [PATCH 1/4] Document deprecation rationale for Artifact version constants --- .../java/org/apache/maven/artifact/Artifact.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java b/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java index bbbdc14d8278..c21c43114942 100644 --- a/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java +++ b/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java @@ -37,9 +37,21 @@ */ public interface Artifact extends Comparable { + /** + * @deprecated since 4.0.0. + * The use of the {@code RELEASE} version is discouraged because it results + * in non-reproducible builds. + * Use an explicit version or a version range instead. + */ @Deprecated(since = "4.0.0") String RELEASE_VERSION = "RELEASE"; + /** + * @deprecated since 4.0.0. + * The use of the {@code LATEST} version is discouraged because it results + * in non-reproducible builds. + * Use an explicit version or a version range instead. + */ @Deprecated(since = "4.0.0") String LATEST_VERSION = "LATEST"; From 4a5f5ed6abaeeb703671e5574b3572949d410b0c Mon Sep 17 00:00:00 2001 From: Anukalp Date: Wed, 14 Jan 2026 22:01:50 +0530 Subject: [PATCH 2/4] Refine deprecation guidance for Artifact version constants --- .../src/main/java/org/apache/maven/artifact/Artifact.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java b/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java index c21c43114942..a5ccd08753f1 100644 --- a/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java +++ b/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java @@ -38,19 +38,19 @@ public interface Artifact extends Comparable { /** - * @deprecated since 4.0.0. + * @deprecated * The use of the {@code RELEASE} version is discouraged because it results * in non-reproducible builds. - * Use an explicit version or a version range instead. + * Use explicit versions instead. */ @Deprecated(since = "4.0.0") String RELEASE_VERSION = "RELEASE"; /** - * @deprecated since 4.0.0. + * @deprecated * The use of the {@code LATEST} version is discouraged because it results * in non-reproducible builds. - * Use an explicit version or a version range instead. + * Use explicit versions instead. */ @Deprecated(since = "4.0.0") String LATEST_VERSION = "LATEST"; From c77f8020094f9c1e7a6383baa3afe7f2367d9be7 Mon Sep 17 00:00:00 2001 From: Anukalp Date: Thu, 15 Jan 2026 18:59:19 +0530 Subject: [PATCH 3/4] docs: use non-alpha since version for Language API deprecation --- .../src/main/java/org/apache/maven/api/Language.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/maven-api-core/src/main/java/org/apache/maven/api/Language.java b/api/maven-api-core/src/main/java/org/apache/maven/api/Language.java index 39a5c46e6ae6..6801b1313f1c 100644 --- a/api/maven-api-core/src/main/java/org/apache/maven/api/Language.java +++ b/api/maven-api-core/src/main/java/org/apache/maven/api/Language.java @@ -55,7 +55,7 @@ public interface Language extends ExtensibleEnum { * * @deprecated Use {@link #RESOURCES} instead. */ - @Deprecated + @Deprecated(since = "4.0.0", forRemoval = false) Language SCRIPT = language("script"); // TODO: this should be moved out from here to Java Support (builtin into core) From 5dec7866cf2b845ed9c72e77918d09cd1be329e5 Mon Sep 17 00:00:00 2001 From: Anukalp Date: Wed, 21 Jan 2026 21:51:36 +0530 Subject: [PATCH 4/4] docs: mention supply chain risk in RELEASE version deprecation --- .../src/main/java/org/apache/maven/artifact/Artifact.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java b/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java index a5ccd08753f1..99a6833d4855 100644 --- a/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java +++ b/compat/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java @@ -40,7 +40,8 @@ public interface Artifact extends Comparable { /** * @deprecated * The use of the {@code RELEASE} version is discouraged because it results - * in non-reproducible builds. + * in non-reproducible builds and exposes projects to potential + * supply chain attacks. * Use explicit versions instead. */ @Deprecated(since = "4.0.0")