{"id":229859,"date":"2023-04-25T11:02:25","date_gmt":"2023-04-25T18:02:25","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/java\/?p=229859"},"modified":"2023-04-25T11:05:26","modified_gmt":"2023-04-25T18:05:26","slug":"microsoft-build-of-openjdk-april-2023-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/java\/microsoft-build-of-openjdk-april-2023-release\/","title":{"rendered":"Microsoft Build of OpenJDK \u2013 April 2023 Release"},"content":{"rendered":"<p>We are happy to announce the latest April 2023 patch &amp; security update release for the <a href=\"https:\/\/www.microsoft.com\/openjdk\">Microsoft Build of OpenJDK<\/a>. See the\u00a0<a href=\"https:\/\/learn.microsoft.com\/en-us\/java\/openjdk\/release-notes\">release notes<\/a>\u00a0for detailed changes present in the Microsoft Build of OpenJDK binaries. And <a href=\"https:\/\/learn.microsoft.com\/java\/openjdk\/download\">download<\/a>\u00a0or <a href=\"https:\/\/learn.microsoft.com\/java\/openjdk\/install\">install<\/a> the binaries today.<\/p>\n<p>Check our <a href=\"https:\/\/learn.microsoft.com\/java\/openjdk\/release-notes\">release notes<\/a> page for details on fixes and enhancements.\u00a0As a reminder, the source code of our builds are now available on GitHub for further inspection: <a href=\"https:\/\/github.com\/microsoft\/openjdk-jdk17u\/tree\/release\/jdk-17.0.6_10\">jdk17u<\/a> and <a href=\"https:\/\/github.com\/microsoft\/openjdk-jdk11u\/tree\/release\/jdk-11.0.18_10\">jdk11u<\/a>.<\/p>\n<h3>New Experimental Feature<\/h3>\n<p>We continue to experiment an improved Escape Analysis. You can read more from our <a href=\"https:\/\/devblogs.microsoft.com\/java\/microsoft-build-of-openjdk-october-2022-psu-release\/#new-experimental-feature\">October release<\/a>.\u00a0To enable this feature, developers must use the following JVM flags:<\/p>\n<pre style=\"padding-left: 40px;\">-XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges<\/pre>\n<p>Join the discussion on the new Escape Analysis work by visiting our respective GitHub repositories for\u00a0<a class=\"fui-Link ___m14voj0 f3rmtva f1ern45e f1deefiw f1n71otn f1q5o8ev f1h8hb77 f1vxd6vx f1ewtqcl fyind8e f1k6fduh f1w7gpdv fk6fouc fjoy568 figsok6 f1hu3pq6 f11qmguv f19f4twv f1tyq0we f1g0x7ka fhxju0i f1qch9an f1cnd47f fqv5qza f1vmzxwi f1o700av f13mvf36 f9n3di6 f1ids18y fygtlnl f1deo86v f12x56k7 f1iescvh ftqa4ok f50u1b5 fs3pq8b f1hghxdh f1tymzes f1x7u7e9 f1cmlufx f10aw75t fsle3fq\" tabindex=\"-1\" title=\"https:\/\/github.com\/microsoft\/openjdk-jdk11u\/discussions\/9\" href=\"https:\/\/github.com\/microsoft\/openjdk-jdk11u\/discussions\/9\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Link EA work on OpenJDK 11\">Escape Analysis work on OpenJDK 11<\/a>, and\u00a0<a class=\"fui-Link ___m14voj0 f3rmtva f1ern45e f1deefiw f1n71otn f1q5o8ev f1h8hb77 f1vxd6vx f1ewtqcl fyind8e f1k6fduh f1w7gpdv fk6fouc fjoy568 figsok6 f1hu3pq6 f11qmguv f19f4twv f1tyq0we f1g0x7ka fhxju0i f1qch9an f1cnd47f fqv5qza f1vmzxwi f1o700av f13mvf36 f9n3di6 f1ids18y fygtlnl f1deo86v f12x56k7 f1iescvh ftqa4ok f50u1b5 fs3pq8b f1hghxdh f1tymzes f1x7u7e9 f1cmlufx f10aw75t fsle3fq\" tabindex=\"-1\" title=\"https:\/\/github.com\/microsoft\/openjdk-jdk17u\/discussions\/3\" href=\"https:\/\/github.com\/microsoft\/openjdk-jdk17u\/discussions\/3\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Link EA work on OpenJDK 17\">Escape Analysis work on OpenJDK 17<\/a>.<\/p>\n<h3>Class Data Sharing enabled in JDK 17 binaries<\/h3>\n<p>We have now enabled the CDS archives in the MIcrosoft Build of OpenJDK 17 binaries for Linux, Windows, and macOS for x64 architecture. For all other versions and architectures, CDS archives can be generated after the JDK installation by calling <span style=\"font-family: 'courier new', courier, monospace;\">java -Xshare:dump<\/span>.<\/p>\n<h3>Non-root user in container images<\/h3>\n<p style=\"font-weight: 400;\">We have now included a non-root user in the container images for developers interested in enhanced security at the container level. The images now contain the user <code>app<\/code>, which can be used like in the following example:<\/p>\n<pre style=\"padding-left: 40px;\"><strong>FROM<\/strong> mcr.microsoft.com\/openjdk\/jdk:17-mariner\r\n\r\n<strong>WORKDIR<\/strong> \/home\/app\r\n<strong>COPY<\/strong> japp.jar japp.jar\r\n<strong>USER<\/strong> app\r\n\r\n<strong>CMD<\/strong> [\"java\", \"-jar\", \"\/opt\/app\/japp.jar\"]<\/pre>\n<p>In the above example, the application binary is copied as\u00a0<code>root<\/code>, since the images remain with\u00a0<code>root<\/code>\u00a0by default. The application then is executed as\u00a0<code>app<\/code>. The folder\u00a0<code>\/home\/app<\/code>\u00a0is also owned by user\u00a0<code>app<\/code>, giving the application a writeable filesystem.<\/p>\n<h3>Purge of Azul Zulu for Azure artifacts<\/h3>\n<p style=\"font-weight: 400;\"><a href=\"https:\/\/devblogs.microsoft.com\/java\/end-of-updates-support-and-availability-of-zulu-for-azure\/\">Announced in June 30th, 2021<\/a>, the Azul Zulu for Azure builds of OpenJDK are no longer supported and no longer updated. The repositories holding those binaries have been removed or will be removed at some point soon by Azul Systems. Users are urged to move to Microsoft Build of OpenJDK binaries for Java 11 and Java 17, or Eclipse Temurin for Java 8.<\/p>\n<p><strong>Important: <\/strong>On December 31st, 2023, the remaining artifacts and container images will be purged from public repositories. Ensure your build pipelines move to an up to date build of OpenJDK.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are happy to announce the latest April 2023 patch &amp; security update release for the Microsoft Build of OpenJDK. See the\u00a0release notes\u00a0for detailed changes present in the Microsoft Build of OpenJDK binaries. And download\u00a0or install the binaries today. Check our release notes page for details on fixes and enhancements.\u00a0As a reminder, the source code [&hellip;]<\/p>\n","protected":false},"author":8937,"featured_media":227205,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,8,249],"tags":[],"class_list":["post-229859","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","category-open-source","category-openjdk"],"acf":[],"blog_post_summary":"<p>We are happy to announce the latest April 2023 patch &amp; security update release for the Microsoft Build of OpenJDK. See the\u00a0release notes\u00a0for detailed changes present in the Microsoft Build of OpenJDK binaries. And download\u00a0or install the binaries today. Check our release notes page for details on fixes and enhancements.\u00a0As a reminder, the source code [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/229859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/users\/8937"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/comments?post=229859"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/229859\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media\/227205"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media?parent=229859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/categories?post=229859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/tags?post=229859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}