{"id":377247,"date":"2026-04-06T03:32:08","date_gmt":"2026-04-06T03:32:08","guid":{"rendered":"https:\/\/www.newsbeep.com\/il\/377247\/"},"modified":"2026-04-06T03:32:08","modified_gmt":"2026-04-06T03:32:08","slug":"java-news-roundup-tornadovm-4-0-google-adk-for-java-1-0-grails-tomcat-log4j-gradle","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/il\/377247\/","title":{"rendered":"Java News Roundup: TornadoVM 4.0, Google ADK for Java 1.0, Grails, Tomcat, Log4j, Gradle"},"content":{"rendered":"<p>This week&#8217;s Java roundup for March 30th, 2026, features news highlighting: the GA release of TornadoVM 4.0 and Google ADK for Java 1.0; first release candidates of Grails and Gradle; maintenance releases of Micronaut, Apache Tomcart and Apache Log4j; and an update on Jakarta EE 12.<\/p>\n<p>JDK 27<\/p>\n<p><a href=\"https:\/\/github.com\/openjdk\/jdk\/releases\/tag\/jdk-27%2B16\" rel=\"nofollow noopener\" target=\"_blank\">Build 16<\/a> of the JDK 27 <a href=\"https:\/\/jdk.java.net\/27\/\" rel=\"nofollow noopener\" target=\"_blank\">early-access builds<\/a> was made available this past week featuring <a href=\"https:\/\/github.com\/openjdk\/jdk\/compare\/jdk-27%2B15...jdk-27%2B16\" rel=\"nofollow noopener\" target=\"_blank\">updates<\/a> from Build 15 that include fixes for various <a href=\"https:\/\/bugs.openjdk.org\/issues\/?jql=project%20%3D%20JDK%20AND%20fixversion%20%3D%2027%20and%20%22resolved%20in%20build%22%20%3D%20b16%20order%20by%20component%2C%20subcomponent\" rel=\"nofollow noopener\" target=\"_blank\">issues<\/a>. Further details on this release may be found in the <a href=\"https:\/\/jdk.java.net\/27\/release-notes\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n<p>For <a href=\"https:\/\/openjdk.org\/projects\/jdk\/27\/\" rel=\"nofollow noopener\" target=\"_blank\">JDK 27<\/a>, developers are encouraged to report bugs via the <a href=\"https:\/\/bugreport.java.com\/bugreport\/\" rel=\"nofollow noopener\" target=\"_blank\">Java Bug Database<\/a>.<\/p>\n<p>TornadoVM<\/p>\n<p>The GA release of <a href=\"https:\/\/www.tornadovm.org\/\" rel=\"nofollow noopener\" target=\"_blank\">TornadoVM<\/a> 4.0.0 delivers bug fixes, dependency upgrades and notable changes such as: a new hardware backend that supports Apple Silicon and the Apple <a href=\"https:\/\/developer.apple.com\/metal\/\" rel=\"nofollow noopener\" target=\"_blank\">Metal<\/a> API; PTX backend support for SIMD shuffle and reduction intrinsics; and a new withCUDAGraph() method, added to the <a href=\"https:\/\/github.com\/beehive-lab\/TornadoVM\/blob\/master\/tornado-api\/src\/main\/java\/uk\/ac\/manchester\/tornado\/api\/TornadoExecutionPlan.java\" rel=\"nofollow noopener\" target=\"_blank\">TornadoExecutionPlan<\/a> class, to capture CUDA graph operations. More details on this release may be found in the release notes for <a href=\"https:\/\/github.com\/beehive-lab\/TornadoVM\/releases\/tag\/v4.0.0-jdk25\" rel=\"nofollow noopener\" target=\"_blank\">version JDK 25<\/a> and <a href=\"https:\/\/github.com\/beehive-lab\/TornadoVM\/releases\/tag\/v4.0.0-jdk21\" rel=\"nofollow noopener\" target=\"_blank\">version JDK 21<\/a>.<\/p>\n<p>Jakarta EE<\/p>\n<p>In his weekly <a href=\"https:\/\/www.agilejava.eu\/\" rel=\"nofollow noopener\" target=\"_blank\">Hashtag Jakarta EE<\/a> blog, <a href=\"https:\/\/se.linkedin.com\/in\/ivargrimstad\" rel=\"nofollow noopener\" target=\"_blank\">Ivar Grimstad<\/a>, Jakarta EE Developer Advocate at the Eclipse Foundation, provided an <a href=\"https:\/\/www.agilejava.eu\/2026\/04\/05\/hashtag-jakarta-ee-327\/\" rel=\"nofollow noopener\" target=\"_blank\">update<\/a> on Jakarta EE 12, writing:<\/p>\n<p>&#13;<\/p>\n<p>[The Jakarta EE Platform call was] well attended and lots of good discussions. Among other things, we talked about how the three security specifications relate to each other. For historic reasons, <a href=\"https:\/\/jakarta.ee\/specifications\/authorization\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta Authorization<\/a> is not a part of <a href=\"https:\/\/jakarta.ee\/specifications\/webprofile\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta EE Web Profile<\/a>, while both <a href=\"https:\/\/jakarta.ee\/specifications\/authentication\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta Authentication<\/a> and <a href=\"https:\/\/jakarta.ee\/specifications\/security\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta Security<\/a> are. There has been talk about merging the security specifications into one Jakarta Security at some point. The first step would be to include Authorization in Web Profile. This is certainly something we can do for <a href=\"https:\/\/jakarta.ee\/specifications\/platform\/12\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta EE 12<\/a>.<\/p>\n<p>&#13;<\/p>\n<p>Several specifications are in progress for a <a href=\"https:\/\/github.com\/orgs\/jakartaee\/projects\/20\/views\/1\" rel=\"nofollow noopener\" target=\"_blank\">milestone 2 release<\/a> for Jakarta EE 12. These include: <a href=\"https:\/\/jakarta.ee\/specifications\/connectors\/3.0\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta Connectors 3.0<\/a>; <a href=\"https:\/\/jakarta.ee\/specifications\/faces\/5.0\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta Faces 5.0<\/a>; <a href=\"https:\/\/jakarta.ee\/specifications\/transactions\/2.1\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta Transactions 2.1<\/a>; and <a href=\"https:\/\/jakarta.ee\/specifications\/jsonp\/2.2\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta JSON Processing 2.2<\/a>.<\/p>\n<p>Micronaut<\/p>\n<p>The Micronaut Foundation has <a href=\"https:\/\/micronaut.io\/2026\/04\/01\/micronaut-framework-4-10-11-released\/\" rel=\"nofollow noopener\" target=\"_blank\">released<\/a> version 4.10.11 of the <a href=\"https:\/\/micronaut.io\/\" rel=\"nofollow noopener\" target=\"_blank\">Micronaut Framework<\/a>, based on Micronaut Core 4.10.20, features bug fixes and patch updates to modules: <a href=\"https:\/\/micronaut-projects.github.io\/micronaut-openapi\/latest\/guide\/\" rel=\"nofollow noopener\" target=\"_blank\">Micronaut OpenAPI<\/a> and <a href=\"https:\/\/micronaut-projects.github.io\/micronaut-logging\/latest\/guide\/\" rel=\"nofollow noopener\" target=\"_blank\">Micronaut Logging<\/a>. Further details on this release may be found in the <a href=\"https:\/\/github.com\/micronaut-projects\/micronaut-platform\/releases\/tag\/v4.10.11\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n<p>Grails<\/p>\n<p>The first release candidate of <a href=\"https:\/\/grails.apache.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Grails<\/a> 7.1.0 ships with bug fixes and notable changes such as: configuration of the Groovy invokedynamic moved from the generated build.gradle file to the Grails Gradle Plugin to centralize configuration; and a change to the <a href=\"https:\/\/github.com\/apache\/grails-core\/blob\/7.0.x\/grails-datamapping-core\/src\/main\/groovy\/grails\/gorm\/services\/Service.java\" rel=\"nofollow noopener\" target=\"_blank\">@Service<\/a> annotation that now automatically inherits a datasource from the mapping block of the domain class. More details on this release may be found in the <a href=\"https:\/\/github.com\/apache\/grails-core\/releases\/tag\/v7.1.0-RC1\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n<p>Google Agent Development Kit<\/p>\n<p>Google has <a href=\"https:\/\/developers.googleblog.com\/announcing-adk-for-java-100-building-the-future-of-ai-agents-in-java\/\" rel=\"nofollow noopener\" target=\"_blank\">released<\/a> version 1.0.0 of their open-source <a href=\"https:\/\/adk.dev\/get-started\/java\/\" rel=\"nofollow noopener\" target=\"_blank\">Agent Development Kit (ADK) for Java<\/a> framework that provides bug fixes, documentation improvements and new features: use of the <a href=\"https:\/\/github.com\/google\/adk-java\/blob\/main\/core\/src\/main\/java\/com\/google\/adk\/artifacts\/InMemoryArtifactService.java\" rel=\"nofollow noopener\" target=\"_blank\">InMemoryArtifactService<\/a> class in the <a href=\"https:\/\/github.com\/google\/adk-java\/blob\/main\/contrib\/samples\/a2a_server\/src\/main\/java\/com\/google\/adk\/samples\/a2aagent\/AgentExecutorProducer.java\" rel=\"nofollow noopener\" target=\"_blank\">AgentExecutorProducer<\/a> class, to complement use of the <a href=\"https:\/\/github.com\/google\/adk-java\/blob\/main\/core\/src\/main\/java\/com\/google\/adk\/sessions\/InMemorySessionService.java\" rel=\"nofollow noopener\" target=\"_blank\">InMemorySessionService<\/a> class, in building an instance of an <a href=\"https:\/\/github.com\/google\/adk-java\/blob\/main\/a2a\/src\/main\/java\/com\/google\/adk\/a2a\/executor\/AgentExecutor.java\" rel=\"nofollow noopener\" target=\"_blank\">AgentExecutor<\/a>; and the ability to simultaneously use the features, output_schema and tools, for models that do not natively support both features at once. Further details on this release may be found in the <a href=\"https:\/\/github.com\/google\/adk-java\/releases\/tag\/v1.0.0\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a> and InfoQ will follow up with a more detailed news story.<\/p>\n<p>Apache Tomcat<\/p>\n<p>Versions 11.0.21, 10.1.54 and 9.0.117 of <a href=\"https:\/\/tomcat.apache.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Apache Tomcat<\/a> (announced <a href=\"https:\/\/www.mail-archive.com\/announce@apache.org\/msg10867.html\" rel=\"nofollow noopener\" target=\"_blank\">here<\/a>, <a href=\"https:\/\/www.mail-archive.com\/announce@apache.org\/msg10860.html\" rel=\"nofollow noopener\" target=\"_blank\">here<\/a> and <a href=\"https:\/\/www.mail-archive.com\/announce@apache.org\/msg10861.html\" rel=\"nofollow noopener\" target=\"_blank\">here<\/a>) deliver notable changes such as: a resolution to an issue where non-blocking flushing code for NIO and TLS that meant that a response may not have been fully written until the connection was closed; and improved error handling for HTTP\/2 and the <a href=\"https:\/\/github.com\/apache\/tomcat\/blob\/main\/java\/org\/apache\/catalina\/tribes\/group\/interceptors\/EncryptInterceptor.java\" rel=\"nofollow noopener\" target=\"_blank\">EncryptInterceptor<\/a> class. More details on these releases may be found in the release notes for <a href=\"https:\/\/tomcat.apache.org\/tomcat-11.0-doc\/changelog.html\" rel=\"nofollow noopener\" target=\"_blank\">version 11.0.21<\/a>, <a href=\"https:\/\/tomcat.apache.org\/tomcat-10.1-doc\/changelog.html\" rel=\"nofollow noopener\" target=\"_blank\">version 10.1.54<\/a> and <a href=\"https:\/\/tomcat.apache.org\/tomcat-9.0-doc\/changelog.html\" rel=\"nofollow noopener\" target=\"_blank\">version 9.0.117<\/a>.<\/p>\n<p>Apache Log4j<\/p>\n<p>The <a href=\"https:\/\/www.mail-archive.com\/announce@apache.org\/msg10845.html\" rel=\"nofollow noopener\" target=\"_blank\">release<\/a> of <a href=\"https:\/\/logging.apache.org\/log4j\/2.x\/index.html\" rel=\"nofollow noopener\" target=\"_blank\">Apache Log4j<\/a> 2.25.4 ships with notable changes such as: a restoration of alignment between documented and actual configuration attributes in the <a href=\"https:\/\/github.com\/apache\/logging-log4j2\/blob\/2.x\/log4j-core\/src\/main\/java\/org\/apache\/logging\/log4j\/core\/layout\/Rfc5424Layout.java\" rel=\"nofollow noopener\" target=\"_blank\">Rfc5424Layout<\/a> class after it was migrated from a factory method to the builder pattern in version 2.21.0; a resolution to formatting and sanitization issues in XML and RFC5424 layouts; and improved handling of invalid characters and non-standard values in the <a href=\"https:\/\/github.com\/apache\/logging-log4j2\/blob\/2.x\/log4j-core\/src\/main\/java\/org\/apache\/logging\/log4j\/core\/layout\/XmlLayout.java\" rel=\"nofollow noopener\" target=\"_blank\">XmlLayout<\/a>, <a href=\"https:\/\/github.com\/apache\/logging-log4j2\/blob\/2.x\/log4j-1.2-api\/src\/main\/java\/org\/apache\/log4j\/layout\/Log4j1XmlLayout.java\" rel=\"nofollow noopener\" target=\"_blank\">Log4j1XmlLayout<\/a> and <a href=\"https:\/\/github.com\/apache\/logging-log4j2\/blob\/2.x\/log4j-api\/src\/main\/java\/org\/apache\/logging\/log4j\/message\/MapMessage.java\" rel=\"nofollow noopener\" target=\"_blank\">MapMessage<\/a> classes. Further details on this release may be found in the <a href=\"https:\/\/github.com\/apache\/logging-log4j2\/releases\/tag\/rel%2F2.25.4\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n<p>Gradle<\/p>\n<p>The first release candidate of <a href=\"https:\/\/gradle.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Gradle<\/a> 9.5.0 provides notable changes such as: improvements to <a href=\"https:\/\/docs.gradle.org\/9.5.0-rc-1\/userguide\/more_about_tasks.html\" rel=\"nofollow noopener\" target=\"_blank\">Gradle Task<\/a> failure diagnostics and reporting that now include provenance information and clearer logging when the client JVM is incompatible; and improvements to <a href=\"https:\/\/docs.gradle.org\/9.5.0-rc-1\/userguide\/getting_started_dev.html\" rel=\"nofollow noopener\" target=\"_blank\">build authoring<\/a> with a new disallowChanges() method, added to <a href=\"https:\/\/docs.gradle.org\/9.5.0-rc-1\/javadoc\/org\/gradle\/api\/DomainObjectCollection.html\" rel=\"nofollow noopener\" target=\"_blank\">DomainObjectCollection<\/a> interface, such that elements can no longer be added to or removed from the collection. More details on this release may be found in the <a href=\"https:\/\/docs.gradle.org\/9.5.0-rc-1\/release-notes.html\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"This week&#8217;s Java roundup for March 30th, 2026, features news highlighting: the GA release of TornadoVM 4.0 and&hellip;\n","protected":false},"author":2,"featured_media":377248,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[26434,180816,7389,4407,180814,77306,85,46,180817,77307,180813,111937,180815,77305,125,108754],"class_list":{"0":"post-377247","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-technology","8":"tag-agents","9":"tag-apache-tomcat","10":"tag-architecture-design","11":"tag-development","12":"tag-gradle","13":"tag-grails","14":"tag-il","15":"tag-israel","16":"tag-jakarta-ee","17":"tag-java","18":"tag-java-news-roundup-mar30-2026","19":"tag-jdk-27","20":"tag-log4j","21":"tag-micronaut","22":"tag-technology","23":"tag-tornadovm"},"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts\/377247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/comments?post=377247"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts\/377247\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/media\/377248"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/media?parent=377247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/categories?post=377247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/tags?post=377247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}