From 7ff3de98a1fb36f8af1baf790ab5c96e71c0fa8f Mon Sep 17 00:00:00 2001 From: Todd Baert Date: Tue, 14 Jul 2026 08:56:38 -0400 Subject: [PATCH] chore: add API compat checks Signed-off-by: Todd Baert --- api-changes.json | 36 +++++++++++++++++++ pom.xml | 36 +++++++++++++++++++ .../dev/openfeature/sdk/FlagValueType.java | 4 +-- 3 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 api-changes.json diff --git a/api-changes.json b/api-changes.json new file mode 100644 index 000000000..afbf1256f --- /dev/null +++ b/api-changes.json @@ -0,0 +1,36 @@ +[ + { + "extension": "revapi.differences", + "id": "long-evaluation-api", + "configuration": { + "ignore": true, + "justification": "Long evaluation is an intentional additive API change. Features is not intended for external implementation. See https://github.com/open-feature/java-sdk/issues/501 and https://github.com/open-feature/java-sdk/pull/1985.", + "differences": [ + { + "code": "java.method.addedToInterface", + "new": "method dev.openfeature.sdk.FlagEvaluationDetails dev.openfeature.sdk.Features::getLongDetails(java.lang.String, java.lang.Long)" + }, + { + "code": "java.method.addedToInterface", + "new": "method dev.openfeature.sdk.FlagEvaluationDetails dev.openfeature.sdk.Features::getLongDetails(java.lang.String, java.lang.Long, dev.openfeature.sdk.EvaluationContext)" + }, + { + "code": "java.method.addedToInterface", + "new": "method dev.openfeature.sdk.FlagEvaluationDetails dev.openfeature.sdk.Features::getLongDetails(java.lang.String, java.lang.Long, dev.openfeature.sdk.EvaluationContext, dev.openfeature.sdk.FlagEvaluationOptions)" + }, + { + "code": "java.method.addedToInterface", + "new": "method java.lang.Long dev.openfeature.sdk.Features::getLongValue(java.lang.String, java.lang.Long)" + }, + { + "code": "java.method.addedToInterface", + "new": "method java.lang.Long dev.openfeature.sdk.Features::getLongValue(java.lang.String, java.lang.Long, dev.openfeature.sdk.EvaluationContext)" + }, + { + "code": "java.method.addedToInterface", + "new": "method java.lang.Long dev.openfeature.sdk.Features::getLongValue(java.lang.String, java.lang.Long, dev.openfeature.sdk.EvaluationContext, dev.openfeature.sdk.FlagEvaluationOptions)" + } + ] + } + } +] diff --git a/pom.xml b/pom.xml index d3b9dc18a..4b14d3b01 100644 --- a/pom.xml +++ b/pom.xml @@ -463,6 +463,42 @@ + + org.revapi + revapi-maven-plugin + 0.15.1 + + LATEST + \d+\.\d+\.\d+ + true + true + error + false + + Fix the compatibility issue or add an exact, justified exception to api-changes.json. + + + ${project.basedir}/api-changes.json + + + + + org.revapi + revapi-java + 0.28.4 + + + + + api-compatibility + verify + + check + + + + + org.jacoco jacoco-maven-plugin diff --git a/src/main/java/dev/openfeature/sdk/FlagValueType.java b/src/main/java/dev/openfeature/sdk/FlagValueType.java index 03883e493..8999befe6 100644 --- a/src/main/java/dev/openfeature/sdk/FlagValueType.java +++ b/src/main/java/dev/openfeature/sdk/FlagValueType.java @@ -4,8 +4,8 @@ public enum FlagValueType { STRING, INTEGER, - LONG, DOUBLE, OBJECT, - BOOLEAN; + BOOLEAN, + LONG; }