Skip to content

Pin jmx_prometheus_javaagent to explicit 1.3.0 and 1.5.0 instead of inherited common version - #2142

Open
Nitin Singh (nitsingh-ui) wants to merge 2 commits into
masterfrom
pin-jmx-prometheus-javaagent-explicit-version
Open

Pin jmx_prometheus_javaagent to explicit 1.3.0 and 1.5.0 instead of inherited common version#2142
Nitin Singh (nitsingh-ui) wants to merge 2 commits into
masterfrom
pin-jmx-prometheus-javaagent-explicit-version

Conversation

@nitsingh-ui

@nitsingh-ui Nitin Singh (nitsingh-ui) commented Jul 22, 2026

Copy link
Copy Markdown
Member

Why

  • base-java and base-java-micro both inherit jmx_prometheus_javaagent.version (currently 0.20.0) from the common parent POM
  • Pinning explicitly to 1.5.0 decouples this upgrade from a common release and avoids the much older inherited baseline

Changes

  • base-java/pom.xml: replace ${jmx_prometheus_javaagent.version} with explicit 1.5.0
  • base-java-micro/pom.xml: same change

…ommon version

base-java and base-java-micro both inherited jmx_prometheus_javaagent.version
(currently 0.20.0) from the common parent POM. Pinning explicitly to 1.3.0
here decouples this upgrade from a common release, and avoids 0.20.0's much
older baseline.

1.3.0 was chosen over 1.2.0 (the next version after 0.20.0) because 1.2.0's
released jar embeds a Maven POM with a <parent> reference to
io.prometheus.jmx:jmx_exporter:1.2.0, which was never published to Maven
Central or CodeArtifact (the upstream project renamed its parent module from
"parent" to "jmx_exporter" for this release line, and only ever publishes it
as source, never as a released artifact) - this breaks downstream dependency
resolution. Confirmed via a CodeArtifact mirror-and-resolve dry run
(CPBR-3841) that 1.2.0 fails resolution with exactly this missing-parent
error, while 1.3.0 (whose jar has no embedded POM at all, so Maven generates
a self-contained synthetic one) uploads and resolves cleanly end-to-end.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Pins the io.prometheus.jmx:jmx_prometheus_javaagent dependency version in the base Java image POMs to 1.3.0, decoupling these images from the older version inherited via the parent POM and enabling the newer agent without waiting for a parent release.

Changes:

  • Update base-java to use jmx_prometheus_javaagent version 1.3.0 explicitly.
  • Update base-java-micro to use jmx_prometheus_javaagent version 1.3.0 explicitly.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
base-java/pom.xml Pins jmx_prometheus_javaagent dependency to 1.3.0 instead of an inherited property.
base-java-micro/pom.xml Pins jmx_prometheus_javaagent dependency to 1.3.0 instead of an inherited property.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

1.5.0 has now been mirrored into CodeArtifact and validated end-to-end
(real Semaphore run: upload + fresh downstream resolution both PASS,
same clean synthetic-POM behavior as 1.3.0 - no embedded parent POM to
break). Picking the latest validated version over 1.3.0 to reduce how
far this stepping-stone pin lags behind the eventual 1.6.0 target.
@nitsingh-ui Nitin Singh (nitsingh-ui) changed the title Pin jmx_prometheus_javaagent to explicit 1.3.0 instead of inherited common version Pin jmx_prometheus_javaagent to explicit 1.3.0 and 1.5.0 instead of inherited common version Jul 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants