Skip to content

build: upgrade maven-release-plugin from 2.5.3 to a compatible 3.x version #935

Description

@nikagra

Background

The maven-release-plugin was bumped to 3.3.1 (released end of May 2026), which broke the GitHub release flow with the following error:

Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.3.1:perform (default-cli)
on project java-driver-parent: Cannot perform release - the preparation step was stopped mid-way.
Please re-run release:prepare to continue, or perform the release from an SCM tag.

The build environment uses Maven 3.9.16.

Root Cause

The pom.xml pins a dependency on maven-scm-provider-gitexe:1.9.5:

<dependency>
    <groupId>org.apache.maven.scm</groupId>
    <artifactId>maven-scm-provider-gitexe</artifactId>
    <version>1.9.5</version>
</dependency>

maven-scm-provider-gitexe 1.9.5 implements the SCM 1.x API. Starting with maven-release-plugin 3.x, the plugin internally uses the SCM 2.x API. This mismatch causes the release lifecycle to fail mid-prepare, leaving the build in a broken state that blocks release:perform.

Current State

As a short-term workaround, maven-release-plugin has been reverted to 2.5.3 (the last known-good version, compatible with maven-scm-provider-gitexe:1.9.5). See PR #936.

Resolution Path

To properly upgrade to 3.x, both artifacts must be upgraded together:

  1. Upgrade maven-scm-provider-gitexe to a 2.x release (e.g. 2.1.0) — this aligns with the SCM 2.x API required by plugin 3.x.
  2. Upgrade maven-release-plugin to the desired 3.x version (avoid 3.3.1 until its stability on Maven 3.9.x is confirmed; 3.0.1 or 3.1.x are reasonable starting points).
  3. Validate the full release:preparerelease:perform cycle on Maven 3.9.x in CI before merging.

Notes

  • No urgency — the 2.5.3 workaround restores release functionality.
  • The upgrade should be done as a coordinated change, not a plugin-only bump.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions