Details
-
Bug
-
Status: Closed
-
Trivial
-
Resolution: Fixed
-
None
-
None
-
None
Description
Drop support for Java 7 (also known as JDK 1.7):
- The code would no longer compile under JDK 7
- Compiler would have source 1.8 target 1.8
- Class files would run on JDK 8 and higher
- Developers can use Java 8 syntax such as lambdas and default methods
We would continue to build and run under JDK 8 and 9.
I think it would be best to wait a while before converting existing code to Java 8 style (e.g. converting SAM anonymous classes to lambdas) because code changes might be extensive.
I expect there will be cases that we want to change interfaces so that they are easier to use as lambdas. Let's make those changes cautiously when we come across them, and mark existing interfaces and methods deprecated until we remove them in 2.0.
Let's give at least one release notice of this change. In 1.15 (the next release) let's announce that this will be the last release that supports Java 7. So this will be fixed for 1.16.
Attachments
Issue Links
- blocks
-
CALCITE-2181 Release Calcite 1.16.0
- Closed
- is depended upon by
-
CALCITE-2020 Upgrade org.incava java-diff
- Closed
- is related to
-
CALCITE-2210 Avatica - Remove JDK 7 and add JDK 9 to .travis.yml
- Closed
-
CALCITE-2207 Enforce Java version via maven-enforcer-plugin
- Closed
-
CALCITE-2212 Avatica - Enforce Java version via maven-enforcer-plugin
- Closed
-
CALCITE-2191 Drop support for Guava versions earlier than 19
- Closed
- relates to
-
CALCITE-591 Drop support for Java 1.6 (and JDBC 4.0)
- Closed
-
CALCITE-2049 Release Calcite 1.15.0
- Closed