-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4046 from OpenLiberty/staging
Publish 24.0.0.10-beta
- Loading branch information
Showing
2 changed files
with
178 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,172 @@ | ||
--- | ||
layout: post | ||
title: "Support for Java 23 and improvements for SameSite cookie handling in 24.0.0.10-beta" | ||
# Do NOT change the categories section | ||
categories: blog | ||
author_picture: https://avatars3.githubusercontent.com/dmuelle | ||
author_github: https://github.com/dmuelle | ||
seo-title: Support for Java 23 and improvements for SameSite cookie handling in 24.0.0.10-beta - OpenLiberty.io | ||
seo-description: This beta release introduces support for Java SE 23. It also provides a way to handle incompatible client versions when you use SameSite cookies. | ||
blog_description: This beta release introduces support for Java SE 23. It also provides a way to handle incompatible client versions when you use SameSite cookies. | ||
open-graph-image: https://openliberty.io/img/twitter_card.jpg | ||
open-graph-image-alt: Open Liberty Logo | ||
--- | ||
= Support for Java 23 and improvements for SameSite cookie handling in 24.0.0.10-beta | ||
David Mueller <https://github.com/dmuelle> | ||
:imagesdir: / | ||
:url-prefix: | ||
:url-about: / | ||
|
||
|
||
This beta release introduces support for Java SE 23. It also provides a way to handle incompatible client versions when you use SameSite cookies. | ||
|
||
The link:{url-about}[Open Liberty] 24.0.0.10-beta includes the following beta features (along with link:{url-prefix}/docs/latest/reference/feature/feature-overview.html[all GA features]): | ||
|
||
* <<java23, Try out beta support for Java 23>> | ||
* <<samesite, Check for SameSite=None incompatible clients>> | ||
|
||
See also link:{url-prefix}/blog/?search=beta&key=tag[previous Open Liberty beta blog posts]. | ||
|
||
// // // // DO NOT MODIFY THIS COMMENT BLOCK <GHA-BLOG-TOPIC> // // // // | ||
// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/29554 | ||
// Contact/Reviewer: gjwatts | ||
// // // // // // // // | ||
[#java23] | ||
== Try out beta support for Java 23 | ||
|
||
|
||
Java 23 is the latest release of Java, expected out this month (September 2024). It contains new features and enhancements over previous versions of Java. However, Java 23 is not a long-term support (LTS) release and support for it is dropped after the next version of Java is supported. It offers some new functionality and changes that you are going to want to check out for yourself. | ||
|
||
Check out the link:https://openjdk.org/projects/jdk/23/[JEP changes in Java 23]: | ||
|
||
* 455: link:https://openjdk.org/jeps/455[Primitive Types in Patterns, instanceof, and switch (Preview)] | ||
* 466: link:https://openjdk.org/jeps/466[Class-File API (Second Preview)] | ||
* 467: link:https://openjdk.org/jeps/467[Markdown Documentation Comments] | ||
* 469: link:https://openjdk.org/jeps/469[Vector API (Eighth Incubator)] | ||
* 471: link:https://openjdk.org/jeps/471[Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal] | ||
* 473: link:https://openjdk.org/jeps/473[Stream Gatherers (Second Preview)] | ||
* 474: link:https://openjdk.org/jeps/474[ZGC: Generational Mode by Default] | ||
* 476: link:https://openjdk.org/jeps/476[Module Import Declarations (Preview)] | ||
* 477: link:https://openjdk.org/jeps/477[Implicitly Declared Classes and Instance Main Methods (Third Preview)] | ||
* 480: link:https://openjdk.org/jeps/480[Structured Concurrency (Third Preview)] | ||
* 481: link:https://openjdk.org/jeps/481[Scoped Values (Third Preview)] | ||
* 482: link:https://openjdk.org/jeps/482[Flexible Constructor Bodies (Second Preview)] | ||
|
||
Take advantage of the new changes in Java 23 in Open Liberty now and get more time to review your applications, microservices, and runtime environments on your favorite server runtime! | ||
|
||
To start using Java 23 with Open Liberty: | ||
|
||
. Download the link:https://developer.ibm.com/languages/java/semeru-runtimes/downloads/?version=23[latest release of Java 23] | ||
. Download and install the link:{url-prefix}/downloads/#runtime_betas[24.0.0.10-beta] version of Open Liberty | ||
. Edit your Liberty link:{url-prefix}/docs/latest/reference/config/server-configuration-overview.html#server-env[server.env file] to point `JAVA_HOME` to your Java 23 installation | ||
. Start testing today! | ||
|
||
For more information on Java 23, see the Java 23 link:https://jdk.java.net/23/release-notes[release notes page], link:https://docs.oracle.com/en/java/javase/23/docs/api/index.html[API Javadoc page], or link:https://developer.ibm.com/languages/java/semeru-runtimes/downloads/?version=23[download page]. | ||
For more information on Open Liberty, see the link:{url-prefix}/docs[Open Liberty docs]. | ||
|
||
*Note: As we work toward full Java 23 support, please bear with any of our functions that might not be ready yet. | ||
|
||
|
||
// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC> | ||
|
||
// // // // DO NOT MODIFY THIS COMMENT BLOCK <GHA-BLOG-TOPIC> // // // // | ||
// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/29331 | ||
// Contact/Reviewer: volosied,tssmith04,pnicolucci | ||
// // // // // // // // | ||
[#samesite] | ||
== Check for Samesite=None incompatible clients | ||
|
||
In 24.0.0.10-beta, you can now use `SameSite=None` cookies without the worry of breaking certain client versions. Previously, cookies with the `SameSite=None` attribute were rejected or mishandled (treated as `SameSite=Strict`) if they were sent to an link:https://www.chromium.org/updates/same-site/incompatible-clients/[incompatible client version]. Now, Open Liberty intercepts cookies with the `SameSite=None` attribute before they are sent to the web browser and checks if the `User-Agent` specifies an incompatible client version. If an incompatible client is detected, the `SameSite=None` and `Partitioned` headers (if present) are removed from the cookie. | ||
|
||
For more information, see link:{url-prefix}/blog/2020/03/25/set-samesite-attribute-cookies-liberty.html[Setting the SameSite attribute on cookies with Open Liberty]. | ||
|
||
|
||
// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC> | ||
|
||
[#run] | ||
== Try it now | ||
|
||
To try out these features, update your build tools to pull the Open Liberty All Beta Features package instead of the main release. The beta works with Java SE versions: | ||
|
||
* Java SE 23 | ||
* Java SE 22 | ||
* Java SE 21 | ||
* Java SE 17 | ||
* Java SE 11 | ||
* Java SE 8 | ||
|
||
|
||
If you're using link:{url-prefix}/guides/maven-intro.html[Maven], you can install the All Beta Features package by using: | ||
|
||
[source,xml] | ||
---- | ||
<plugin> | ||
<groupId>io.openliberty.tools</groupId> | ||
<artifactId>liberty-maven-plugin</artifactId> | ||
<version>3.10.3</version> | ||
<configuration> | ||
<runtimeArtifact> | ||
<groupId>io.openliberty.beta</groupId> | ||
<artifactId>openliberty-runtime</artifactId> | ||
<version>24.0.0.10-beta</version> | ||
<type>zip</type> | ||
</runtimeArtifact> | ||
</configuration> | ||
</plugin> | ||
---- | ||
|
||
You must also add dependencies to your pom.xml file for the beta version of the APIs that are associated with the beta features that you want to try. For example, the following block adds dependencies for two example beta APIs: | ||
|
||
[source,xml] | ||
---- | ||
<dependency> | ||
<groupId>org.example.spec</groupId> | ||
<artifactId>exampleApi</artifactId> | ||
<version>7.0</version> | ||
<type>pom</type> | ||
<scope>provided</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>example.platform</groupId> | ||
<artifactId>example.example-api</artifactId> | ||
<version>11.0.0</version> | ||
<scope>provided</scope> | ||
</dependency> | ||
---- | ||
|
||
Or for link:{url-prefix}/guides/gradle-intro.html[Gradle]: | ||
|
||
[source,gradle] | ||
---- | ||
buildscript { | ||
repositories { | ||
mavenCentral() | ||
} | ||
dependencies { | ||
classpath 'io.openliberty.tools:liberty-gradle-plugin:3.8.3' | ||
} | ||
} | ||
apply plugin: 'liberty' | ||
dependencies { | ||
libertyRuntime group: 'io.openliberty.beta', name: 'openliberty-runtime', version: '[24.0.0.10-beta,)' | ||
} | ||
---- | ||
|
||
|
||
Or if you're using link:{url-prefix}/docs/latest/container-images.html[container images]: | ||
|
||
[source] | ||
---- | ||
FROM icr.io/appcafe/open-liberty:beta | ||
---- | ||
|
||
Or take a look at our link:{url-prefix}/downloads/#runtime_betas[Downloads page]. | ||
|
||
If you're using link:https://plugins.jetbrains.com/plugin/14856-liberty-tools[IntelliJ IDEA], link:https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext[Visual Studio Code] or link:https://marketplace.eclipse.org/content/liberty-tools[Eclipse IDE], you can also take advantage of our open source link:{url-prefix}/docs/latest/develop-liberty-tools.html[Liberty developer tools] to enable effective development, testing, debugging, and application management all from within your IDE. | ||
|
||
For more information on using a beta release, refer to the link:{url-prefix}docs/latest/installing-open-liberty-betas.html[Installing Open Liberty beta releases] documentation. | ||
|
||
[#feedback] | ||
== We welcome your feedback | ||
|
||
Let us know what you think on link:https://groups.io/g/openliberty[our mailing list]. If you hit a problem, link:https://stackoverflow.com/questions/tagged/open-liberty[post a question on StackOverflow]. If you hit a bug, link:https://github.com/OpenLiberty/open-liberty/issues[please raise an issue]. |