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

Upgrade cuebot to Java 21 #1339

Open
DiegoTavares opened this issue Jan 29, 2024 · 1 comment
Open

Upgrade cuebot to Java 21 #1339

DiegoTavares opened this issue Jan 29, 2024 · 1 comment
Labels
enhancement Improvement to an existing feature

Comments

@DiegoTavares
Copy link
Collaborator

Describe the enhancement
I propose we consider upgrading cuebot from Java 8 to Java 21 alongside Spring from . This proposal is based on several key advantages that Java 21 brings to the table, including:

  • New Language Features: Java 21 introduces several new language features such as local-variable type inference (var), switch expressions, text blocks, records, and pattern matching for instance of. These features can make our code more readable and efficient.

  • API Improvements: There have been numerous improvements to the standard API, including the addition of the java.util.stream package in Java 8, new methods on the Optional class, the java.time package, and numerous new factory methods for collections. These improvements can help us to write more robust and maintainable code.

  • Performance Improvements: Performance enhancements in Java 21, with improvements to the JVM, garbage collection, and the addition of the JMH microbenchmark suite, can lead to more efficient code execution.

  • Improved Security: Java 21 has several security enhancements, including stronger algorithms and protocols, and APIs that offer more precise control over security settings. These enhancements can make our project more secure.

I have experimented upgrading in our end and aside from package compatibility issues that were all fixed by upgrading their versions, not much needed to change in the code. Besides that, all unit tests are passing and the application runs without exceptions.

Here's glimpse into the significant version changes:

  • gradle 6.0.1 ->8.5
  • grpc-all 1.47.0 -> 1.60.0
  • protobuf-java 3.21.2 -> 3.25.1
  • spring-boot-gradle-plugin 2.2.1.RELEASE -> 2.7.14
  • sourceCompatibility 11 -> 21
@DiegoTavares DiegoTavares added the enhancement Improvement to an existing feature label Jan 29, 2024
@DiegoTavares
Copy link
Collaborator Author

DiegoTavares commented Jan 29, 2024

@bcipriano We can discuss this in our next meeting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement to an existing feature
Projects
None yet
Development

No branches or pull requests

1 participant