April 23rd, 2025

Important Updates to Container Images of Microsoft Build of OpenJDK

Mariner Linux 2.0 will reach its End-Of-Life (EOL) in July of 2025 and will be replaced with Azure Linux (version 3.0). To ensure a smooth transition for our customers and partners, the Java Engineering Group (DevDiv JEG) behind the Microsoft Build of OpenJDK has developed a migration aligned with this timeline. This strategy takes effect on June 30, 2025, coinciding with the official EOL date for Mariner Linux 2.0.

Our Strategy

  • jdk:[ver]-azurelinux: A new container tag based on Azure Linux 3.0, available starting late April 2025, to allow early adoption and testing.
  • jdk:[ver]-mariner: This tag will continue to point to Mariner Linux 2.0 until June 30, 2025. After that date, it will automatically redirect to the new Azure Linux-based container image, acting as an alias (of [ver]-azurelinux) for backward compatibility.
  • jdk:[ver]-mariner-cm2: This tag will be introduced alongside jdk:[ver]-azurelinux and will preserve the final state of Mariner Linux 2.0. It will become an EOL tag on June 30 and receive its final update on July 2025, allowing users to remain on Mariner 2.0 if needed.
  • jdk:[ver]-mariner-cm1: This existing tag points to Mariner Linux 1.0 and is already in EOL status. It was last updated on November 2023.
  • jdk:[ver]-azurelinux-[az-lnx-ver]: This tag will be introduced with each new major release of Azure Linux (effectively available under jdk:[ver]-azurelinux tag.) It allows customers to roll back to a specific base OS version after its EOL, similar to how the -cm2 tag operates. The first such tag will be created when Azure Linux 4.0 is released (e.g., jdk:[ver]-azurelinux-3).
  • jdk:[ver]-distroless: This tag will be automatically updated on June 30th to Azure Linux 3.0 base distroless image, and we plan no roll back option for Mariner 2.0. If you find an issue, please let us know.

This way we can ensure a reasonable balance between security by default and alternatives for our customers who need to roll back to previous versions despite them being EOL.

Reminder about Azul Zulu for Azure

Please note that as planned, we will purge Azul Zulu for Azure container images from the Microsoft Container Registry on June 30th, 2025.

Category
JavaOpenJDK

Author

Derek Keeler
Principal Software Engineering Manager

I manage teams focusing on DevOps, AI, and Performance Tooling. I work with Java and Python currently, and have programmed in some other languages in the past as well (mostly those starting with the letter C).

Bruno Borges
Principal PM Manager

Bruno is Principal Program Manager for Microsoft's Java Engineering Group. Previously the Java lead for Azure Developer Relations. Conference speaker, open source contributor, Java Champion and influencer, Twitter junkie, beer sommelier.

2 comments

  • Anbu

    CBL-Mariner has been renamed to Azure Linux from version 2. Instead of creating jdk:[ver]-mariner-cm2, can it be tagged as jdk:[ver]-azurelinux-2 and current version as jdk:[ver]-azurelinux and jdk:[ver]-azurelinux-3 when Azure Linux 4.0 is released. so we will have following

    jdk:[ver]-mariner-cm1
    jdk:[ver]-mariner – points to jdk:[ver]-azurelinux-2
    jdk:[ver]-azurelinux-2
    jdk:[ver]-azurelinux – latest azure linux 3

    • Derek KeelerMicrosoft employeeAuthor

      Thank you for your feedback, Anbu.

      We appreciate your suggestion regarding the naming convention for the EOL Mariner container images. However, because we have consistently used the name "[ver]-mariner" throughout its lifecycle, we plan to maintain this name during its end-of-life phase as well to maintain consistency. We believe that switching to [ver]-azurelinux-2 at this late stage would reduce clarity and not provide any substantial benefit. Our goal with keeping the [ver]-mariner-cm2 image available is to ensure that users who choose (or are required) to stay on EOL images do so explicitly, and keeping the old name helps maintain clarity in...

      Read more