Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Upgrade to JDK 21 #91

Closed

Comments

@boubaker
Copy link
Member

Rationale

JDK 21 is the latest LTS version and we should migrate into it to benifit from its dvantages and to keep possibility of supporting a "supported JDK" for customers contexts.

1. Functional Requirements

Top User Stories

Impacts

Gamification

Notifications

Analytics

Unified Search

2. Technical Requirements

Expected Volume & Performance

Security

Extensibility

Configurability

Upgradability

Existing Features

Feature Flags

Property Name Default Value Target Audience Functional Behaviour

Other Non Functional Requirements

3. Impacts

Documentation

Training

4. Software Architecture

Security

Access

  • GUI
  • API

Services & processing

  • Ex: Scheduled Jobs

Data and persistence

  • Macro data model
  • Persistence layer
  • Use of caches

Clustering

Multitenancy

Integrations

Migration strategy

5. Annexes

  • Reasoning that explain the technical choices
  • Impacts
  • References
@boubaker boubaker moved this from Open to Draft in MIP Board Sep 19, 2023
@boubaker boubaker moved this from Draft to Open in MIP Board Nov 21, 2023
@boubaker boubaker moved this from Open to Submitted in MIP Board Dec 6, 2023
@boubaker boubaker moved this from Submitted to Open in MIP Board Dec 6, 2023
@boubaker boubaker moved this from Open to Draft in MIP Board Jan 3, 2024
@rdenarie rdenarie moved this from Draft to Submitted in MIP Board May 3, 2024
@rdenarie
Copy link
Member

rdenarie commented May 3, 2024

As there is no architectural nor functionnal impact, can we give go func and go tech on this MIP ?

cc @boubaker

rdenarie added a commit to Meeds-io/maven-parent-pom that referenced this issue May 3, 2024
Before this fix, we use lombok-maven-plugin version 1.18.20.0 which use lombok 1.18.20 which is not compatible with jdk21.
This fix is a workaround waiting this pr to be merged : awhitford/lombok.maven#180 and a new artifact released

Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/commons that referenced this issue May 3, 2024
rdenarie added a commit to Meeds-io/gatein-portal that referenced this issue May 3, 2024
Before this fix, the simpleDateFormat for locale en is
MM/dd/yyyy, HH:mm:ss a
In jdk17 and under, the space between 'ss' and 'a' is a simple space
In JDK 21, the space was changed to '[NNBSP]a' ([OpenJDK information](https://bugs.openjdk.org/browse/JDK-8324665)) : , so the .contains(" a") returns always false

This commit add the test on '[NNBSP]a' in addition of ' a' in order to make it work on both jdk version

It also add surefire configuration to work with jdk21

Resolves Meeds-io/MIPs#91
@rdenarie
Copy link
Member

rdenarie commented May 3, 2024

Boubaker's remark :

Besides, I think we should do a deep cleanup to delete the usage of Security Manager in Core Foundation projects, see https://nipafx.dev/road-to-21-upgrade/ for more information about changes to take care of.

@boubaker
Copy link
Member Author

boubaker commented May 3, 2024

Done, Besides, we may need to upgrade to latest Spring Maintenance version 3.2.5 as well to ensure compatibility with upgraded third party libraries and latest fixes.

rdenarie added a commit to Meeds-io/maven-depmgt-pom that referenced this issue May 3, 2024
This commit upgrade the spring boot version to the last one available

Resolves Meeds-io/MIPs#91
@boubaker boubaker moved this from Submitted to Accepted in MIP Board May 3, 2024
rdenarie added a commit to Meeds-io/kernel that referenced this issue May 3, 2024
Remove SecurityManager from Kernel as it is deprecated for removal in jdk21
Remove also classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/kernel that referenced this issue May 3, 2024
Remove SecurityManager from Kernel as it is deprecated for removal in jdk21
Remove also classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/kernel that referenced this issue May 3, 2024
Remove SecurityManager from Kernel as it is deprecated for removal in jdk21
Remove also classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/core that referenced this issue May 3, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/ws that referenced this issue May 3, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/gatein-portal that referenced this issue May 6, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
rdenarie added a commit to Meeds-io/ws that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/meeds that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is
removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/kernel that referenced this issue May 22, 2024
Remove SecurityManager from Kernel as it is deprecated for removal in jdk21
Remove also classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/gatein-portal that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/commons that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to exoplatform/ecms that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
rdenarie added a commit to exoplatform/chat-application that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
rdenarie added a commit to exoplatform/data-upgrade that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
rdenarie added a commit to exoplatform/jcr that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
exo-swf pushed a commit to Meeds-io/maven-parent-pom that referenced this issue May 22, 2024
Before this fix, we use lombok-maven-plugin version 1.18.20.0 which use lombok 1.18.20 which is not compatible with jdk21.
This fix is a workaround waiting this pr to be merged : awhitford/lombok.maven#180 and a new artifact released

Resolves Meeds-io/MIPs#91
exo-swf pushed a commit to Meeds-io/maven-depmgt-pom that referenced this issue May 22, 2024
This commit upgrade the spring boot version to the last one available

Resolves Meeds-io/MIPs#91
exo-swf pushed a commit to Meeds-io/kernel that referenced this issue May 22, 2024
Remove SecurityManager from Kernel as it is deprecated for removal in jdk21
Remove also classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
exo-swf pushed a commit to Meeds-io/core that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
exo-swf pushed a commit to Meeds-io/ws that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
exo-swf pushed a commit to Meeds-io/gatein-portal that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
Resolves Meeds-io/MIPs#91
exo-swf pushed a commit to Meeds-io/commons that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is
removed, it is no more necessary

Resolves Meeds-io/MIPs#91
hbenali added a commit to Meeds-io/gatein-portal that referenced this issue May 22, 2024
 - Meeds-io/MIPs#91 (#897)

This PR will upgrade supportedSourceVersion of ExoEntityProcessor to 21
exo-swf pushed a commit to Meeds-io/gatein-portal that referenced this issue May 22, 2024
 - Meeds-io/MIPs#91 (#897)

This PR will upgrade supportedSourceVersion of ExoEntityProcessor to 21
exo-swf pushed a commit to Meeds-io/kernel that referenced this issue May 22, 2024
Remove SecurityManager from Kernel as it is deprecated for removal in jdk21
Remove also classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
exo-swf pushed a commit to exoplatform/jcr that referenced this issue May 22, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
boubaker pushed a commit to Meeds-io/kernel that referenced this issue May 23, 2024
Remove SecurityManager from Kernel as it is deprecated for removal in jdk21
Remove also classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
boubaker pushed a commit to exoplatform/jcr that referenced this issue May 23, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
@boubaker boubaker added this to the 7.0.0-M05 milestone May 24, 2024
exo-swf pushed a commit to Meeds-io/kernel that referenced this issue Jun 6, 2024
Remove SecurityManager from Kernel as it is deprecated for removal in jdk21
Remove also classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to Meeds-io/kernel that referenced this issue Jul 3, 2024
Remove SecurityManager from Kernel as it is deprecated for removal in jdk21
Remove also classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary

Resolves Meeds-io/MIPs#91
rdenarie added a commit to exoplatform/jcr that referenced this issue Jul 3, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
exo-swf pushed a commit to exoplatform/jcr that referenced this issue Jul 10, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
exo-swf pushed a commit to exoplatform/jcr that referenced this issue Sep 28, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
exo-swf pushed a commit to exoplatform/jcr that referenced this issue Nov 16, 2024
Remove usage of SecurityManager as it is deprecated for removal in jdk21
Remove also usage of classes
- SecurityHelper
- PrivilegedSystemHelper
- PrivilegedFileHelper
- SecureList
- SecureSet
- SecureCollections

These classes are here only to use securityManager, and as it is removed, it is no more necessary
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment