Currently Dapr Java SDK uses animal-sniffer-maven-plugin to enforce Java 8 API compatibility. While we have configured Maven Compiler to use source as Java 11 and target as Java 11, we still enforce Java 8 compatibility.
The proposal is to drop Java 8 API compatibility enforcement, so we could use some of the Java 11 APIs. A few things that come to mind are Java 11 Set.of(), Map.of(), etc. This should simplify a lot of the internal configurations and avoid boilerplate like creating HashMap or Collections.singletonMap and other similar constructs.
Java 8 LTS was released on 2014-03-18 and Java 11 LTS on 2018-09-25, so I think it is OK to enforce Java 11 API compatibility instead of Java 8.
Describe the proposal
Currently Dapr Java SDK uses
animal-sniffer-maven-plugin
to enforce Java 8 API compatibility. While we have configured Maven Compiler to usesource
as Java 11 andtarget
as Java 11, we still enforce Java 8 compatibility.The proposal is to drop Java 8 API compatibility enforcement, so we could use some of the Java 11 APIs. A few things that come to mind are Java 11
Set.of()
,Map.of()
, etc. This should simplify a lot of the internal configurations and avoid boilerplate like creatingHashMap
orCollections.singletonMap
and other similar constructs.Java 8 LTS was released on
2014-03-18
and Java 11 LTS on2018-09-25
, so I think it is OK to enforce Java 11 API compatibility instead of Java 8.