{"id":389198,"date":"2026-04-13T03:33:08","date_gmt":"2026-04-13T03:33:08","guid":{"rendered":"https:\/\/www.newsbeep.com\/il\/389198\/"},"modified":"2026-04-13T03:33:08","modified_gmt":"2026-04-13T03:33:08","slug":"java-news-roundup-jdk-27-release-schedule-hibernate-langchain4j-keycloak-helidon-junie-cli","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/il\/389198\/","title":{"rendered":"Java News Roundup: JDK 27 Release Schedule, Hibernate, LangChain4j, Keycloak, Helidon, Junie CLI"},"content":{"rendered":"<p>This week&#8217;s Java roundup for April 6th, 2026, features news highlighting: the fifth preview of Primitive Types in Patterns, instanceof and switch; the proposed release schedule for JDK 27; point releases of Hibernate, LangChain4j, Keycloak and Google ADK for Java; a maintenance release of Helidon; a CVE in Spring Cloud Gateway; and the Junie CLI integrated in JetBrains IDEs.<\/p>\n<p>OpenJDK<\/p>\n<p>JEP 532, <a href=\"https:\/\/openjdk.org\/jeps\/532\" rel=\"nofollow noopener\" target=\"_blank\">Primitive Types in Patterns, instanceof, and switch (Fifth Preview)<\/a>, has been <a href=\"https:\/\/mail.openjdk.org\/archives\/list\/jdk-dev@openjdk.org\/thread\/QBHDASQ7UL5GKYMYBWUYSRUDEXB5FS4N\/\" rel=\"nofollow noopener\" target=\"_blank\">elevated<\/a> from its JEP Draft 8379318 to Candidate status. This JEP proposes a fifth preview, without change, after four rounds of preview delivered in JDK 23 through JDK 26. This feature enhances pattern matching by allowing primitive types in all pattern contexts, and extending the instanceof and switch constructs to work with all primitive types.<\/p>\n<p>JDK 27<\/p>\n<p><a href=\"https:\/\/github.com\/openjdk\/jdk\/releases\/tag\/jdk-27%2B17\" rel=\"nofollow noopener\" target=\"_blank\">Build 17<\/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%2B16...jdk-27%2B17\" rel=\"nofollow noopener\" target=\"_blank\">updates<\/a> from Build 16 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%20b17%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><a href=\"https:\/\/www.linkedin.com\/in\/markreinhold\" rel=\"nofollow noopener\" target=\"_blank\">Mark Reinhold<\/a>, Chief Architect, Java Platform Group at Oracle, formally <a href=\"https:\/\/mail.openjdk.org\/archives\/list\/jdk-dev@openjdk.org\/thread\/XSC4BBCVZFNYBTCH6V2DB23JWH2YRUNV\/\" rel=\"nofollow noopener\" target=\"_blank\">proposed<\/a> the release schedule for JDK 27 as follows:<\/p>\n<p>&#13;<br \/>\n\tRampdown Phase One (fork from main line): June 4, 2026&#13;<br \/>\n\tRampdown Phase Two: July 16, 2026&#13;<br \/>\n\tInitial Release Candidate: August 6, 2026&#13;<br \/>\n\tFinal Release Candidate: August 20, 2026&#13;<br \/>\n\tGeneral Availability: September 14, 2026&#13;<\/p>\n<p>The review period for this proposed schedule is expected to conclude on Monday, April 13, 2026.<\/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>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\/12\/hashtag-jakarta-ee-328\/\" rel=\"nofollow noopener\" target=\"_blank\">update<\/a> on Jakarta EE 12, writing:<\/p>\n<p>&#13;<\/p>\n<p>In the <a href=\"https:\/\/jakartaee.github.io\/platform\/minutes\/minutes.html\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta EE Platform<\/a> call this [past] week, we discussed what would be needed for <a href=\"https:\/\/jakarta.ee\/specifications\/nosql\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta NoSQL<\/a> to be included as one of the specifications in <a href=\"https:\/\/jakarta.ee\/specifications\/platform\/12\/\" rel=\"nofollow noopener\" target=\"_blank\">Jakarta EE 12<\/a>. There is still some reluctance among some of our members to include this specification, so please make your voice heard if you want to see Jakarta NoSQL in Jakarta EE 12. If you have some extra time on your hand, you can also step in and help the project address the issues that the platform project has requested to strengthen its position as a candidate for inclusion.<\/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>Spring Framework<\/p>\n<p>The <a href=\"https:\/\/spring.io\/projects\/spring-cloud-gateway\" rel=\"nofollow noopener\" target=\"_blank\">Spring Cloud Gateway<\/a> team has disclosed CVE-2026-22750, <a href=\"https:\/\/spring.io\/security\/cve-2026-22750\" rel=\"nofollow noopener\" target=\"_blank\">SSL Bundle Configuration Silently Bypassed in Spring Cloud Gateway<\/a>, a vulnerability in version 4.2.0 where setting the configuration property, spring.ssl.bundle, was ignored without logging or warning, and defaulted to the SSL configuration. This could leave administrators with a false sense of security.<\/p>\n<p>Hibernate<\/p>\n<p>The <a href=\"https:\/\/in.relation.to\/2026\/04\/07\/orm-73\/\" rel=\"nofollow noopener\" target=\"_blank\">release<\/a> of <a href=\"https:\/\/hibernate.org\/orm\/\" rel=\"nofollow noopener\" target=\"_blank\">Hibernate ORM<\/a> 7.3.0.Final delivers bug fixes and new features such as: a new <a href=\"https:\/\/github.com\/hibernate\/hibernate-orm\/blob\/main\/hibernate-core\/src\/main\/java\/org\/hibernate\/KeyType.java\" rel=\"nofollow noopener\" target=\"_blank\">KeyType<\/a> enumeration that allows the use of the overloaded find() method, defined in the Jakarta Persistence <a href=\"https:\/\/jakarta.ee\/specifications\/persistence\/3.2\/apidocs\/jakarta.persistence\/jakarta\/persistence\/entitymanager\" rel=\"nofollow noopener\" target=\"_blank\">EntityManager<\/a> interface, and the findMultiple() method, defined in the <a href=\"https:\/\/github.com\/hibernate\/hibernate-orm\/blob\/main\/hibernate-core\/src\/main\/java\/org\/hibernate\/Session.java\" rel=\"nofollow noopener\" target=\"_blank\">Session<\/a> interface, to perform a load based on a natural ID in addition to the identifier; and a new <a href=\"https:\/\/github.com\/hibernate\/hibernate-orm\/blob\/main\/hibernate-core\/src\/main\/java\/org\/hibernate\/annotations\/NaturalIdClass.java\" rel=\"nofollow noopener\" target=\"_blank\">@NaturalIdClass<\/a> annotation that models a non-aggregated composite natural ID for the purpose of loading that aligns with the Jakarta Persistence <a href=\"https:\/\/jakarta.ee\/specifications\/persistence\/3.2\/apidocs\/jakarta.persistence\/jakarta\/persistence\/idclass\" rel=\"nofollow noopener\" target=\"_blank\">@IdClass<\/a> annotation modeling non-aggregated identifiers. More details on this release may be found in the <a href=\"https:\/\/github.com\/hibernate\/hibernate-orm\/releases\/tag\/7.3.0\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n<p>Open Liberty<\/p>\n<p>The <a href=\"https:\/\/openliberty.io\/blog\/2026\/04\/07\/26.0.0.4-beta.html\" rel=\"nofollow noopener\" target=\"_blank\">beta release<\/a> of <a href=\"https:\/\/openliberty.io\/\" rel=\"nofollow noopener\" target=\"_blank\">Open Liberty<\/a> 26.0.0.4 ships with: support for JDK 26; new Open Liberty features jakartaee-11.0 (Jakarta EE 11 Platform), webProfile-11.0 (Jakarta EE 11 Web Profile), appAuthentication-3.1 (Jakarta Authentication 3.1), appAuthorization-3.0 (Jakarta Authorization 3.0) and appSecurity-6.0 (Jakarta Security 4.0); and an update to the mcpServer-1.0 feature that allows for dynamic registration of tools.<\/p>\n<p>LangChain4j<\/p>\n<p>The formal release (along with the twenty-third beta release) of <a href=\"https:\/\/github.com\/langchain4j\" rel=\"nofollow noopener\" target=\"_blank\">LangChain4j<\/a> 1.13.0 provides bug fixes and notable changes such as: new classes, <a href=\"https:\/\/github.com\/langchain4j\/langchain4j\/blob\/main\/langchain4j-agentic\/src\/test\/java\/dev\/langchain4j\/agentic\/RecoverabilityIT.java\" rel=\"nofollow noopener\" target=\"_blank\">RecoverabilityIT<\/a> and <a href=\"https:\/\/github.com\/langchain4j\/langchain4j\/blob\/main\/langchain4j-agentic\/src\/main\/java\/dev\/langchain4j\/agentic\/internal\/PendingResponse.java\" rel=\"nofollow noopener\" target=\"_blank\">PendingResponse<\/a>, that allow for the execution state of an agentic system to be persistable and recoverable; a new <a href=\"https:\/\/github.com\/langchain4j\/langchain4j\/blob\/main\/langchain4j-skills\/src\/main\/java\/dev\/langchain4j\/skills\/ClassPathSkillLoader.java\" rel=\"nofollow noopener\" target=\"_blank\">ClassPathSkillLoader<\/a> class that resolves a skills directory from the classpath instead of the file system; and a new <a href=\"https:\/\/github.com\/langchain4j\/langchain4j\/blob\/main\/experimental\/langchain4j-experimental-hibernate\/src\/main\/java\/dev\/langchain4j\/rag\/content\/retriever\/hibernate\/HibernateContentRetriever.java\" rel=\"nofollow noopener\" target=\"_blank\">HibernateContentRetriever<\/a> class to retrieve data through <a href=\"https:\/\/docs.hibernate.org\/orm\/7.1\/querylanguage\/html_single\/\" rel=\"nofollow noopener\" target=\"_blank\">Hibernate Query Language<\/a> (HQL) queries. Further details on this release may be found in the <a href=\"https:\/\/github.com\/langchain4j\/langchain4j\/releases\/tag\/1.13.0\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n<p>Keycloak<\/p>\n<p>The <a href=\"https:\/\/www.keycloak.org\/2026\/04\/keycloak-2660-released\" rel=\"nofollow noopener\" target=\"_blank\">release<\/a> of <a href=\"https:\/\/www.keycloak.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Keycloak<\/a> 26.6.0 delivers bug fixes, dependency upgrades and new features such as: full support for RFC 7523, <a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc7523\" rel=\"nofollow noopener\" target=\"_blank\">JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants<\/a>, a specification that allows for using externally signed JWT assertions to request OAuth 2.0 access tokens; experimental support for the <a href=\"https:\/\/www.ietf.org\/archive\/id\/draft-ietf-oauth-client-id-metadata-document-01.html\" rel=\"nofollow noopener\" target=\"_blank\">OAuth Client ID Metadata Document<\/a> (CIMD) that allows for serving as an authorization server for the latest version of the <a href=\"https:\/\/modelcontextprotocol.io\/specification\/2025-11-25\" rel=\"nofollow noopener\" target=\"_blank\">Model Context Protocol<\/a> specification; and full support for the <a href=\"https:\/\/github.com\/keycloak\/keycloak\/tree\/main\/test-framework#readme\" rel=\"nofollow noopener\" target=\"_blank\">Keycloak Test Framework<\/a> that is based in JUnit 6. More details on this release may be found in the <a href=\"https:\/\/github.com\/keycloak\/keycloak\/releases\/tag\/26.6.0\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n<p>Helidon<\/p>\n<p>The release of Helidon 4.4.1 ships with bug fixes and notable changes such as: implementation of the <a href=\"https:\/\/github.com\/FasterXML\/smile-format-specification\/blob\/master\/README.md\" rel=\"nofollow noopener\" target=\"_blank\">Smile Data Format<\/a>; the ability to configure an implementation of the LangChain4j <a href=\"https:\/\/github.com\/langchain4j\/langchain4j\/blob\/main\/langchain4j-mcp\/src\/main\/java\/dev\/langchain4j\/mcp\/client\/McpClient.java\" rel=\"nofollow noopener\" target=\"_blank\">McpClient<\/a> interface via the Java <a href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/26\/docs\/api\/java.base\/javax\/net\/ssl\/SSLContext.html\" rel=\"nofollow noopener\" target=\"_blank\">SSLContext<\/a> class to support the Transport Layer Security (TLS) protocol; and a restoration of lazy environment-variable traversal for nested configuration keys. Further details on this release may be found in the <a href=\"https:\/\/github.com\/helidon-io\/helidon\/blob\/4.4.1\/CHANGELOG.md\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n<p>Google Agent Development Kit<\/p>\n<p>The release of the Google <a href=\"https:\/\/adk.dev\/get-started\/java\/\" rel=\"nofollow noopener\" target=\"_blank\">Agent Development Kit (ADK) for Java<\/a> 1.1.0 provides bug fixes and new features such as: new classes, <a href=\"https:\/\/github.com\/google\/adk-java\/blob\/main\/core\/src\/main\/java\/com\/google\/adk\/models\/chat\/ChatCompletionsRequest.java\" rel=\"nofollow noopener\" target=\"_blank\">ChatCompletionsRequest<\/a> and <a href=\"https:\/\/github.com\/google\/adk-java\/blob\/main\/core\/src\/main\/java\/com\/google\/adk\/models\/chat\/ChatCompletionsResponse.java\" rel=\"nofollow noopener\" target=\"_blank\">ChatCompletionsResponse<\/a>, that will serve as data transfer objects for chat completion; support for <a href=\"https:\/\/deepmind.google\/models\/gemma\/\" rel=\"nofollow noopener\" target=\"_blank\">Gemma<\/a> models added to the <a href=\"https:\/\/github.com\/google\/adk-java\/blob\/main\/core\/src\/main\/java\/com\/google\/adk\/models\/LlmRegistry.java\" rel=\"nofollow noopener\" target=\"_blank\">LlmRegistry<\/a> class; and a new <a href=\"https:\/\/github.com\/google\/adk-java\/blob\/main\/core\/src\/main\/java\/com\/google\/adk\/plugins\/agentanalytics\/EventData.java\" rel=\"nofollow noopener\" target=\"_blank\">EventData<\/a> abstract class for tracing management. More details on this release may be found in the <a href=\"https:\/\/github.com\/google\/adk-java\/releases\/tag\/v1.1.0\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n<p>JetBrains<\/p>\n<p>JetBrains has <a href=\"https:\/\/blog.jetbrains.com\/junie\/2026\/04\/junie-cli-inside-your-jb-ide\/\" rel=\"nofollow noopener\" target=\"_blank\">announced<\/a> that their <a href=\"https:\/\/junie.jetbrains.com\/\" rel=\"nofollow noopener\" target=\"_blank\">Junie CLI<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/junie\/2025\/01\/meet-junie-your-coding-agent-by-jetbrains\/\" rel=\"nofollow noopener\" target=\"_blank\">introduced<\/a> in January 2025, can now detect and automatically connect to any JetBrains IDE installed on a developer&#8217;s workstation. Benefits of this include: understanding the context of the project; automatically run tests on a mono-repository or a project with a non-trivial test setup; provide precise refactoring; building and debugging complex projects; and using semantic code navigation. This new feature is currently in beta and there are plans to support Android Studio. Please note that the Junie CLI is a subscription service.<\/p>\n","protected":false},"excerpt":{"rendered":"This week&#8217;s Java roundup for April 6th, 2026, features news highlighting: the fifth preview of Primitive Types in&hellip;\n","protected":false},"author":2,"featured_media":389199,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[7389,114,4407,185372,111935,185370,85,46,180817,77307,185367,111937,185373,185368,60950,185371,176120,185369],"class_list":{"0":"post-389198","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"tag-architecture-design","9":"tag-business","10":"tag-development","11":"tag-google-adk-for-java","12":"tag-helidon","13":"tag-hibernate-orm","14":"tag-il","15":"tag-israel","16":"tag-jakarta-ee","17":"tag-java","18":"tag-java-news-roundup-apr06-2026","19":"tag-jdk-27","20":"tag-junie-cli","21":"tag-keycloak","22":"tag-langchain","23":"tag-open-jdk","24":"tag-open-liberty","25":"tag-spring-cloud"},"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts\/389198","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=389198"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts\/389198\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/media\/389199"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/media?parent=389198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/categories?post=389198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/tags?post=389198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}