getProviderHooks() {
* can overwrite this method,
* if they have special initialization needed prior being called for flag
* evaluation.
+ *
*
* It is ok if the method is expensive as it is executed in the background. All
* runtime exceptions will be
@@ -45,6 +46,7 @@ default void initialize(EvaluationContext evaluationContext) throws Exception {
* flags, or the SDK is shut down.
* Providers can overwrite this method, if they have special shutdown actions
* needed.
+ *
*
* It is ok if the method is expensive as it is executed in the background. All
* runtime exceptions will be
diff --git a/src/main/java/dev/openfeature/sdk/TransactionContextPropagator.java b/src/main/java/dev/openfeature/sdk/TransactionContextPropagator.java
index 05f7d3eb8..9e2718787 100644
--- a/src/main/java/dev/openfeature/sdk/TransactionContextPropagator.java
+++ b/src/main/java/dev/openfeature/sdk/TransactionContextPropagator.java
@@ -5,6 +5,7 @@
* for the duration of a single transaction.
* Examples of potential transaction specific context include: a user id, user agent, IP.
* Transaction context is merged with evaluation context prior to flag evaluation.
+ *
*
* The precedence of merging context can be seen in
* the specification.
From 78657ee79efdc94018387cdf8263a73d4abf7191 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 8 May 2025 03:06:04 +0000
Subject: [PATCH 115/169] chore(deps): update dependency
com.tngtech.archunit:archunit-junit5 to v1.4.1 (#1440)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 585533ada..16d72688a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -76,7 +76,7 @@
com.tngtech.archunit
archunit-junit5
- 1.4.0
+ 1.4.1
test
From 58454b4eaabfd3327f7ceaff4bf335a5a839ed41 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 12 May 2025 09:01:29 +0200
Subject: [PATCH 116/169] chore(deps): update io.cucumber.version to v7.22.2
(#1441)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 16d72688a..a1093bffe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
11
${maven.compiler.source}
5.12.2
- 7.22.1
+ 7.22.2
5.17.0
**/e2e/*.java
From e568f3a4f560187586d5473aa7bc12a673340e24 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 12 May 2025 07:07:53 +0000
Subject: [PATCH 117/169] fix(deps): update dependency io.cucumber:cucumber-bom
to v7.22.2 (#1442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index a1093bffe..1d4fb6f73 100644
--- a/pom.xml
+++ b/pom.xml
@@ -204,7 +204,7 @@
io.cucumber
cucumber-bom
- 7.22.1
+ 7.22.2
pom
import
From d0ae5482771f4d1701bce25381cdf4e92e2d4882 Mon Sep 17 00:00:00 2001
From: Liran M <77168114+liran2000@users.noreply.github.com>
Date: Tue, 13 May 2025 10:45:16 +0300
Subject: [PATCH 118/169] feat: add telemetry helper utils (#1346)
* feat: add telemetry helper utils
Signed-off-by: liran2000
* updates
Signed-off-by: liran2000
* fixup: apply changes according to the semconv
The semconv has changed, and some attributes have been
renamed. Furthermore, the body usage is deprecated
and should be part of the attributes.
see: https://github.com/open-telemetry/semantic-conventions/pull/1990/
Signed-off-by: Simon Schrottner
* fixup: fix tests
Signed-off-by: Simon Schrottner
* fixup: fix spotless
Signed-off-by: Simon Schrottner
---------
Signed-off-by: liran2000
Signed-off-by: Simon Schrottner
Co-authored-by: Simon Schrottner
---
.../dev/openfeature/sdk/EvaluationEvent.java | 24 ++
.../java/dev/openfeature/sdk/Telemetry.java | 95 +++++++
.../dev/openfeature/sdk/TelemetryTest.java | 231 ++++++++++++++++++
3 files changed, 350 insertions(+)
create mode 100644 src/main/java/dev/openfeature/sdk/EvaluationEvent.java
create mode 100644 src/main/java/dev/openfeature/sdk/Telemetry.java
create mode 100644 src/test/java/dev/openfeature/sdk/TelemetryTest.java
diff --git a/src/main/java/dev/openfeature/sdk/EvaluationEvent.java b/src/main/java/dev/openfeature/sdk/EvaluationEvent.java
new file mode 100644
index 000000000..f92e24d5a
--- /dev/null
+++ b/src/main/java/dev/openfeature/sdk/EvaluationEvent.java
@@ -0,0 +1,24 @@
+package dev.openfeature.sdk;
+
+import java.util.HashMap;
+import java.util.Map;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.Singular;
+
+/**
+ * Represents an evaluation event.
+ */
+@Builder
+@Getter
+public class EvaluationEvent {
+
+ private String name;
+
+ @Singular("attribute")
+ private Map attributes;
+
+ public Map getAttributes() {
+ return new HashMap<>(attributes);
+ }
+}
diff --git a/src/main/java/dev/openfeature/sdk/Telemetry.java b/src/main/java/dev/openfeature/sdk/Telemetry.java
new file mode 100644
index 000000000..7e94983ee
--- /dev/null
+++ b/src/main/java/dev/openfeature/sdk/Telemetry.java
@@ -0,0 +1,95 @@
+package dev.openfeature.sdk;
+
+/**
+ * The Telemetry class provides constants and methods for creating OpenTelemetry compliant
+ * evaluation events.
+ */
+public class Telemetry {
+
+ private Telemetry() {}
+
+ /*
+ The OpenTelemetry compliant event attributes for flag evaluation.
+ Specification: https://opentelemetry.io/docs/specs/semconv/feature-flags/feature-flags-logs/
+ */
+ public static final String TELEMETRY_KEY = "feature_flag.key";
+ public static final String TELEMETRY_ERROR_CODE = "error.type";
+ public static final String TELEMETRY_VARIANT = "feature_flag.result.variant";
+ public static final String TELEMETRY_VALUE = "feature_flag.result.value";
+ public static final String TELEMETRY_CONTEXT_ID = "feature_flag.context.id";
+ public static final String TELEMETRY_ERROR_MSG = "feature_flag.evaluation.error.message";
+ public static final String TELEMETRY_REASON = "feature_flag.result.reason";
+ public static final String TELEMETRY_PROVIDER = "feature_flag.provider.name";
+ public static final String TELEMETRY_FLAG_SET_ID = "feature_flag.set.id";
+ public static final String TELEMETRY_VERSION = "feature_flag.version";
+
+ // Well-known flag metadata attributes for telemetry events.
+ // Specification: https://openfeature.dev/specification/appendix-d#flag-metadata
+ public static final String TELEMETRY_FLAG_META_CONTEXT_ID = "contextId";
+ public static final String TELEMETRY_FLAG_META_FLAG_SET_ID = "flagSetId";
+ public static final String TELEMETRY_FLAG_META_VERSION = "version";
+
+ public static final String FLAG_EVALUATION_EVENT_NAME = "feature_flag.evaluation";
+
+ /**
+ * Creates an EvaluationEvent using the provided HookContext and ProviderEvaluation.
+ *
+ * @param hookContext the context containing flag evaluation details
+ * @param evaluationDetails the evaluation result from the provider
+ *
+ * @return an EvaluationEvent populated with telemetry data
+ */
+ public static EvaluationEvent createEvaluationEvent(
+ HookContext> hookContext, FlagEvaluationDetails> evaluationDetails) {
+ EvaluationEvent.EvaluationEventBuilder evaluationEventBuilder = EvaluationEvent.builder()
+ .name(FLAG_EVALUATION_EVENT_NAME)
+ .attribute(TELEMETRY_KEY, hookContext.getFlagKey())
+ .attribute(TELEMETRY_PROVIDER, hookContext.getProviderMetadata().getName());
+
+ if (evaluationDetails.getReason() != null) {
+ evaluationEventBuilder.attribute(
+ TELEMETRY_REASON, evaluationDetails.getReason().toLowerCase());
+ } else {
+ evaluationEventBuilder.attribute(
+ TELEMETRY_REASON, Reason.UNKNOWN.name().toLowerCase());
+ }
+
+ if (evaluationDetails.getVariant() != null) {
+ evaluationEventBuilder.attribute(TELEMETRY_VARIANT, evaluationDetails.getVariant());
+ } else {
+ evaluationEventBuilder.attribute(TELEMETRY_VALUE, evaluationDetails.getValue());
+ }
+
+ String contextId = evaluationDetails.getFlagMetadata().getString(TELEMETRY_FLAG_META_CONTEXT_ID);
+ if (contextId != null) {
+ evaluationEventBuilder.attribute(TELEMETRY_CONTEXT_ID, contextId);
+ } else {
+ evaluationEventBuilder.attribute(
+ TELEMETRY_CONTEXT_ID, hookContext.getCtx().getTargetingKey());
+ }
+
+ String setID = evaluationDetails.getFlagMetadata().getString(TELEMETRY_FLAG_META_FLAG_SET_ID);
+ if (setID != null) {
+ evaluationEventBuilder.attribute(TELEMETRY_FLAG_SET_ID, setID);
+ }
+
+ String version = evaluationDetails.getFlagMetadata().getString(TELEMETRY_FLAG_META_VERSION);
+ if (version != null) {
+ evaluationEventBuilder.attribute(TELEMETRY_VERSION, version);
+ }
+
+ if (Reason.ERROR.name().equals(evaluationDetails.getReason())) {
+ if (evaluationDetails.getErrorCode() != null) {
+ evaluationEventBuilder.attribute(TELEMETRY_ERROR_CODE, evaluationDetails.getErrorCode());
+ } else {
+ evaluationEventBuilder.attribute(TELEMETRY_ERROR_CODE, ErrorCode.GENERAL);
+ }
+
+ if (evaluationDetails.getErrorMessage() != null) {
+ evaluationEventBuilder.attribute(TELEMETRY_ERROR_MSG, evaluationDetails.getErrorMessage());
+ }
+ }
+
+ return evaluationEventBuilder.build();
+ }
+}
diff --git a/src/test/java/dev/openfeature/sdk/TelemetryTest.java b/src/test/java/dev/openfeature/sdk/TelemetryTest.java
new file mode 100644
index 000000000..2752683b8
--- /dev/null
+++ b/src/test/java/dev/openfeature/sdk/TelemetryTest.java
@@ -0,0 +1,231 @@
+package dev.openfeature.sdk;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.junit.jupiter.api.Test;
+
+public class TelemetryTest {
+
+ @Test
+ void testCreatesEvaluationEventWithMandatoryFields() {
+ // Arrange
+ String flagKey = "test-flag";
+ String providerName = "test-provider";
+ String reason = "static";
+
+ Metadata providerMetadata = mock(Metadata.class);
+ when(providerMetadata.getName()).thenReturn(providerName);
+
+ HookContext hookContext = HookContext.builder()
+ .flagKey(flagKey)
+ .providerMetadata(providerMetadata)
+ .type(FlagValueType.BOOLEAN)
+ .defaultValue(false)
+ .ctx(new ImmutableContext())
+ .build();
+
+ FlagEvaluationDetails evaluation = FlagEvaluationDetails.builder()
+ .reason(reason)
+ .value(true)
+ .build();
+
+ EvaluationEvent event = Telemetry.createEvaluationEvent(hookContext, evaluation);
+
+ assertEquals(Telemetry.FLAG_EVALUATION_EVENT_NAME, event.getName());
+ assertEquals(flagKey, event.getAttributes().get(Telemetry.TELEMETRY_KEY));
+ assertEquals(providerName, event.getAttributes().get(Telemetry.TELEMETRY_PROVIDER));
+ assertEquals(reason.toLowerCase(), event.getAttributes().get(Telemetry.TELEMETRY_REASON));
+ }
+
+ @Test
+ void testHandlesNullReason() {
+ // Arrange
+ String flagKey = "test-flag";
+ String providerName = "test-provider";
+
+ Metadata providerMetadata = mock(Metadata.class);
+ when(providerMetadata.getName()).thenReturn(providerName);
+
+ HookContext hookContext = HookContext.builder()
+ .flagKey(flagKey)
+ .providerMetadata(providerMetadata)
+ .type(FlagValueType.BOOLEAN)
+ .defaultValue(false)
+ .ctx(new ImmutableContext())
+ .build();
+
+ FlagEvaluationDetails evaluation = FlagEvaluationDetails.builder()
+ .reason(null)
+ .value(true)
+ .build();
+
+ EvaluationEvent event = Telemetry.createEvaluationEvent(hookContext, evaluation);
+
+ assertEquals(Reason.UNKNOWN.name().toLowerCase(), event.getAttributes().get(Telemetry.TELEMETRY_REASON));
+ }
+
+ @Test
+ void testSetsVariantAttributeWhenVariantExists() {
+ HookContext hookContext = HookContext.builder()
+ .flagKey("testFlag")
+ .type(FlagValueType.STRING)
+ .defaultValue("default")
+ .ctx(mock(EvaluationContext.class))
+ .clientMetadata(mock(ClientMetadata.class))
+ .providerMetadata(mock(Metadata.class))
+ .build();
+
+ FlagEvaluationDetails providerEvaluation = FlagEvaluationDetails.builder()
+ .variant("testVariant")
+ .flagMetadata(ImmutableMetadata.builder().build())
+ .build();
+
+ EvaluationEvent event = Telemetry.createEvaluationEvent(hookContext, providerEvaluation);
+
+ assertEquals("testVariant", event.getAttributes().get(Telemetry.TELEMETRY_VARIANT));
+ }
+
+ @Test
+ void test_sets_value_in_body_when_variant_is_null() {
+ HookContext hookContext = HookContext.builder()
+ .flagKey("testFlag")
+ .type(FlagValueType.STRING)
+ .defaultValue("default")
+ .ctx(mock(EvaluationContext.class))
+ .clientMetadata(mock(ClientMetadata.class))
+ .providerMetadata(mock(Metadata.class))
+ .build();
+
+ FlagEvaluationDetails providerEvaluation = FlagEvaluationDetails.builder()
+ .value("testValue")
+ .flagMetadata(ImmutableMetadata.builder().build())
+ .build();
+
+ EvaluationEvent event = Telemetry.createEvaluationEvent(hookContext, providerEvaluation);
+
+ assertEquals("testValue", event.getAttributes().get(Telemetry.TELEMETRY_VALUE));
+ }
+
+ @Test
+ void testAllFieldsPopulated() {
+ EvaluationContext evaluationContext = mock(EvaluationContext.class);
+ when(evaluationContext.getTargetingKey()).thenReturn("realTargetingKey");
+
+ Metadata providerMetadata = mock(Metadata.class);
+ when(providerMetadata.getName()).thenReturn("realProviderName");
+
+ HookContext hookContext = HookContext.builder()
+ .flagKey("realFlag")
+ .type(FlagValueType.STRING)
+ .defaultValue("realDefault")
+ .ctx(evaluationContext)
+ .clientMetadata(mock(ClientMetadata.class))
+ .providerMetadata(providerMetadata)
+ .build();
+
+ FlagEvaluationDetails providerEvaluation = FlagEvaluationDetails.builder()
+ .flagMetadata(ImmutableMetadata.builder()
+ .addString("contextId", "realContextId")
+ .addString("flagSetId", "realFlagSetId")
+ .addString("version", "realVersion")
+ .build())
+ .reason(Reason.DEFAULT.name())
+ .variant("realVariant")
+ .build();
+
+ EvaluationEvent event = Telemetry.createEvaluationEvent(hookContext, providerEvaluation);
+
+ assertEquals("realFlag", event.getAttributes().get(Telemetry.TELEMETRY_KEY));
+ assertEquals("realProviderName", event.getAttributes().get(Telemetry.TELEMETRY_PROVIDER));
+ assertEquals("default", event.getAttributes().get(Telemetry.TELEMETRY_REASON));
+ assertEquals("realContextId", event.getAttributes().get(Telemetry.TELEMETRY_CONTEXT_ID));
+ assertEquals("realFlagSetId", event.getAttributes().get(Telemetry.TELEMETRY_FLAG_SET_ID));
+ assertEquals("realVersion", event.getAttributes().get(Telemetry.TELEMETRY_VERSION));
+ assertNull(event.getAttributes().get(Telemetry.TELEMETRY_ERROR_CODE));
+ assertEquals("realVariant", event.getAttributes().get(Telemetry.TELEMETRY_VARIANT));
+ }
+
+ @Test
+ void testErrorEvaluation() {
+ EvaluationContext evaluationContext = mock(EvaluationContext.class);
+ when(evaluationContext.getTargetingKey()).thenReturn("realTargetingKey");
+
+ Metadata providerMetadata = mock(Metadata.class);
+ when(providerMetadata.getName()).thenReturn("realProviderName");
+
+ HookContext hookContext = HookContext.builder()
+ .flagKey("realFlag")
+ .type(FlagValueType.STRING)
+ .defaultValue("realDefault")
+ .ctx(evaluationContext)
+ .clientMetadata(mock(ClientMetadata.class))
+ .providerMetadata(providerMetadata)
+ .build();
+
+ FlagEvaluationDetails providerEvaluation = FlagEvaluationDetails.builder()
+ .flagMetadata(ImmutableMetadata.builder()
+ .addString("contextId", "realContextId")
+ .addString("flagSetId", "realFlagSetId")
+ .addString("version", "realVersion")
+ .build())
+ .reason(Reason.ERROR.name())
+ .errorMessage("realErrorMessage")
+ .build();
+
+ EvaluationEvent event = Telemetry.createEvaluationEvent(hookContext, providerEvaluation);
+
+ assertEquals("realFlag", event.getAttributes().get(Telemetry.TELEMETRY_KEY));
+ assertEquals("realProviderName", event.getAttributes().get(Telemetry.TELEMETRY_PROVIDER));
+ assertEquals("error", event.getAttributes().get(Telemetry.TELEMETRY_REASON));
+ assertEquals("realContextId", event.getAttributes().get(Telemetry.TELEMETRY_CONTEXT_ID));
+ assertEquals("realFlagSetId", event.getAttributes().get(Telemetry.TELEMETRY_FLAG_SET_ID));
+ assertEquals("realVersion", event.getAttributes().get(Telemetry.TELEMETRY_VERSION));
+ assertEquals(ErrorCode.GENERAL, event.getAttributes().get(Telemetry.TELEMETRY_ERROR_CODE));
+ assertEquals("realErrorMessage", event.getAttributes().get(Telemetry.TELEMETRY_ERROR_MSG));
+ assertNull(event.getAttributes().get(Telemetry.TELEMETRY_VARIANT));
+ }
+
+ @Test
+ void testErrorCodeEvaluation() {
+ EvaluationContext evaluationContext = mock(EvaluationContext.class);
+ when(evaluationContext.getTargetingKey()).thenReturn("realTargetingKey");
+
+ Metadata providerMetadata = mock(Metadata.class);
+ when(providerMetadata.getName()).thenReturn("realProviderName");
+
+ HookContext hookContext = HookContext.builder()
+ .flagKey("realFlag")
+ .type(FlagValueType.STRING)
+ .defaultValue("realDefault")
+ .ctx(evaluationContext)
+ .clientMetadata(mock(ClientMetadata.class))
+ .providerMetadata(providerMetadata)
+ .build();
+
+ FlagEvaluationDetails providerEvaluation = FlagEvaluationDetails.builder()
+ .flagMetadata(ImmutableMetadata.builder()
+ .addString("contextId", "realContextId")
+ .addString("flagSetId", "realFlagSetId")
+ .addString("version", "realVersion")
+ .build())
+ .reason(Reason.ERROR.name())
+ .errorMessage("realErrorMessage")
+ .errorCode(ErrorCode.INVALID_CONTEXT)
+ .build();
+
+ EvaluationEvent event = Telemetry.createEvaluationEvent(hookContext, providerEvaluation);
+
+ assertEquals("realFlag", event.getAttributes().get(Telemetry.TELEMETRY_KEY));
+ assertEquals("realProviderName", event.getAttributes().get(Telemetry.TELEMETRY_PROVIDER));
+ assertEquals("error", event.getAttributes().get(Telemetry.TELEMETRY_REASON));
+ assertEquals("realContextId", event.getAttributes().get(Telemetry.TELEMETRY_CONTEXT_ID));
+ assertEquals("realFlagSetId", event.getAttributes().get(Telemetry.TELEMETRY_FLAG_SET_ID));
+ assertEquals("realVersion", event.getAttributes().get(Telemetry.TELEMETRY_VERSION));
+ assertEquals(ErrorCode.INVALID_CONTEXT, event.getAttributes().get(Telemetry.TELEMETRY_ERROR_CODE));
+ assertEquals("realErrorMessage", event.getAttributes().get(Telemetry.TELEMETRY_ERROR_MSG));
+ assertNull(event.getAttributes().get(Telemetry.TELEMETRY_VARIANT));
+ }
+}
From 7182a7fc4197e70218e829971dae2cff09f948c9 Mon Sep 17 00:00:00 2001
From: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>
Date: Tue, 13 May 2025 12:38:55 -0400
Subject: [PATCH 119/169] chore(main): release 1.15.0 (#1431)
Signed-off-by: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 71 +++++++++++++++++++++++++++++++++++
README.md | 8 ++--
pom.xml | 2 +-
version.txt | 2 +-
5 files changed, 78 insertions(+), 7 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 762e32db5..634797f5a 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1 +1 @@
-{".":"1.14.2"}
+{".":"1.15.0"}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 914cbfef3..b18f9cc71 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,76 @@
# Changelog
+## [1.15.0](https://github.com/open-feature/java-sdk/compare/v1.14.2...v1.15.0) (2025-05-13)
+
+
+### NOTABLE CHANGES
+
+* Raise required Java version to 11 ([#1393](https://github.com/open-feature/java-sdk/issues/1393))
+
+### ๐ Bug Fixes
+
+* **deps:** update dependency io.cucumber:cucumber-bom to v7.22.0 ([#1411](https://github.com/open-feature/java-sdk/issues/1411)) ([e251819](https://github.com/open-feature/java-sdk/commit/e25181982af8e5d37be4876b71b337ca86e8454b))
+* **deps:** update dependency io.cucumber:cucumber-bom to v7.22.1 ([#1427](https://github.com/open-feature/java-sdk/issues/1427)) ([1c4d2ef](https://github.com/open-feature/java-sdk/commit/1c4d2efafdebb562f099ba1ec3a6a29eabc8ff91))
+* **deps:** update dependency io.cucumber:cucumber-bom to v7.22.2 ([#1442](https://github.com/open-feature/java-sdk/issues/1442)) ([e568f3a](https://github.com/open-feature/java-sdk/commit/e568f3a4f560187586d5473aa7bc12a673340e24))
+* **deps:** update dependency org.projectlombok:lombok to v1.18.38 ([#1403](https://github.com/open-feature/java-sdk/issues/1403)) ([ef32f11](https://github.com/open-feature/java-sdk/commit/ef32f11571de4d3a981efec4f61113eb8b0d7d9d))
+* **deps:** update junit5 monorepo ([#1418](https://github.com/open-feature/java-sdk/issues/1418)) ([97b442e](https://github.com/open-feature/java-sdk/commit/97b442ed6e8f2b99ca949ffd63e5cbf57718c796))
+
+
+### โจ New Features
+
+* add telemetry helper utils ([#1346](https://github.com/open-feature/java-sdk/issues/1346)) ([d0ae548](https://github.com/open-feature/java-sdk/commit/d0ae5482771f4d1701bce25381cdf4e92e2d4882))
+* Raise required Java version to 11 ([#1393](https://github.com/open-feature/java-sdk/issues/1393)) ([4dc988b](https://github.com/open-feature/java-sdk/commit/4dc988b637a9e9c377edf7df7b29bf6407319f16))
+
+
+### ๐งน Chore
+
+* add DCO to release please ([45ec4b1](https://github.com/open-feature/java-sdk/commit/45ec4b1b7734c9117f43abf8fe5105c2903c3986))
+* add DCO to release please ([#1429](https://github.com/open-feature/java-sdk/issues/1429)) ([32137bf](https://github.com/open-feature/java-sdk/commit/32137bfa82e9c0391c999bf0be2a36f201620931))
+* add publish env ([#1420](https://github.com/open-feature/java-sdk/issues/1420)) ([665dd51](https://github.com/open-feature/java-sdk/commit/665dd51eb2b3b79d3ffccb6cef64d544aa5e7206))
+* **deps:** update actions/setup-java digest to 148017a ([#1404](https://github.com/open-feature/java-sdk/issues/1404)) ([f834e11](https://github.com/open-feature/java-sdk/commit/f834e11acc7ecf903e972d80e9dab324be97847e))
+* **deps:** update actions/setup-java digest to c5195ef ([#1415](https://github.com/open-feature/java-sdk/issues/1415)) ([a578903](https://github.com/open-feature/java-sdk/commit/a5789038acc36cb2b0ddf12e534a1317e1c9b8e8))
+* **deps:** update actions/setup-java digest to f4f1212 ([#1421](https://github.com/open-feature/java-sdk/issues/1421)) ([a3e2a59](https://github.com/open-feature/java-sdk/commit/a3e2a59aebee051ae8c7eb1c5769a04dc9da8de3))
+* **deps:** update amannn/action-semantic-pull-request digest to 3352882 ([#1434](https://github.com/open-feature/java-sdk/issues/1434)) ([62ba6db](https://github.com/open-feature/java-sdk/commit/62ba6db457358d759fe83f23318b1cf4200756ac))
+* **deps:** update codecov/codecov-action action to v5.4.2 ([#1419](https://github.com/open-feature/java-sdk/issues/1419)) ([a6389e8](https://github.com/open-feature/java-sdk/commit/a6389e89f60aa7f4871f47d78fedd27a7f9991b4))
+* **deps:** update dependency com.diffplug.spotless:spotless-maven-plugin to v2.44.4 ([#1414](https://github.com/open-feature/java-sdk/issues/1414)) ([e066d3f](https://github.com/open-feature/java-sdk/commit/e066d3f749c09bb1ef79e3bcace1d205a39787df))
+* **deps:** update dependency com.h3xstream.findsecbugs:findsecbugs-plugin to v1.14.0 ([#1422](https://github.com/open-feature/java-sdk/issues/1422)) ([495da27](https://github.com/open-feature/java-sdk/commit/495da271bee976a942973cd23012f60db895bf24))
+* **deps:** update dependency com.puppycrawl.tools:checkstyle to v10 ([#103](https://github.com/open-feature/java-sdk/issues/103)) ([3403510](https://github.com/open-feature/java-sdk/commit/34035105154b7945c02de2a88fe83eb2414526ef))
+* **deps:** update dependency com.tngtech.archunit:archunit-junit5 to v1.4.1 ([#1440](https://github.com/open-feature/java-sdk/issues/1440)) ([78657ee](https://github.com/open-feature/java-sdk/commit/78657ee79efdc94018387cdf8263a73d4abf7191))
+* **deps:** update dependency net.bytebuddy:byte-buddy to v1.17.5 ([#1400](https://github.com/open-feature/java-sdk/issues/1400)) ([1f2d071](https://github.com/open-feature/java-sdk/commit/1f2d0715087ebd4554826d8552b250e4b8b950c8))
+* **deps:** update dependency net.bytebuddy:byte-buddy-agent to v1.17.5 ([#1401](https://github.com/open-feature/java-sdk/issues/1401)) ([07301bd](https://github.com/open-feature/java-sdk/commit/07301bda3f5b65550eff1e025fc9c0bec3c25275))
+* **deps:** update dependency org.apache.maven.plugins:maven-failsafe-plugin to v3.5.3 ([#1398](https://github.com/open-feature/java-sdk/issues/1398)) ([1fcf0e7](https://github.com/open-feature/java-sdk/commit/1fcf0e77d956c88c54e10942d96d2afd4d79315c))
+* **deps:** update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.5.3 ([#1399](https://github.com/open-feature/java-sdk/issues/1399)) ([d6ebc16](https://github.com/open-feature/java-sdk/commit/d6ebc161a93ad703e25592abdb0bf0fd9e281bbc))
+* **deps:** update dependency org.jacoco:jacoco-maven-plugin to v0.8.13 ([#1407](https://github.com/open-feature/java-sdk/issues/1407)) ([e19ccaa](https://github.com/open-feature/java-sdk/commit/e19ccaa35d9ac4d89d72ea58a70d416d202078db))
+* **deps:** update dependency org.mockito:mockito-core to v5.17.0 ([#1409](https://github.com/open-feature/java-sdk/issues/1409)) ([345cdcf](https://github.com/open-feature/java-sdk/commit/345cdcfa10da64c61d769746f335f38ac564e9ad))
+* **deps:** update github/codeql-action digest to 2a8cbad ([#1423](https://github.com/open-feature/java-sdk/issues/1423)) ([6b6849f](https://github.com/open-feature/java-sdk/commit/6b6849f3a3ee8a7b66d859c8e522bc101d1ccd44))
+* **deps:** update github/codeql-action digest to 362ef4c ([#1408](https://github.com/open-feature/java-sdk/issues/1408)) ([ca160ca](https://github.com/open-feature/java-sdk/commit/ca160cab7ccd71527e06a0851502353ac50b8d0d))
+* **deps:** update github/codeql-action digest to 40e16ed ([#1437](https://github.com/open-feature/java-sdk/issues/1437)) ([f965cbc](https://github.com/open-feature/java-sdk/commit/f965cbcb37d20724e15b76c15842a88574810b1a))
+* **deps:** update github/codeql-action digest to 4c3e536 ([#1417](https://github.com/open-feature/java-sdk/issues/1417)) ([0c77c84](https://github.com/open-feature/java-sdk/commit/0c77c8446032eaac7e068d48901e1423c21db326))
+* **deps:** update github/codeql-action digest to 4ffa236 ([#1425](https://github.com/open-feature/java-sdk/issues/1425)) ([a7828e7](https://github.com/open-feature/java-sdk/commit/a7828e73a8f2e30f71bd2d9d4da180b2fa436424))
+* **deps:** update github/codeql-action digest to 56dd02f ([#1416](https://github.com/open-feature/java-sdk/issues/1416)) ([4607c62](https://github.com/open-feature/java-sdk/commit/4607c62f15f7ee572207b8ec012ad4b3626e0184))
+* **deps:** update github/codeql-action digest to 5eb3ed6 ([#1439](https://github.com/open-feature/java-sdk/issues/1439)) ([f2348ea](https://github.com/open-feature/java-sdk/commit/f2348ea370412351389c60eef390f36edbea68b0))
+* **deps:** update github/codeql-action digest to 83605b3 ([#1435](https://github.com/open-feature/java-sdk/issues/1435)) ([7e74f2a](https://github.com/open-feature/java-sdk/commit/7e74f2aa3ad2dc8f7a3e4ad398e7705b3e3db364))
+* **deps:** update github/codeql-action digest to 97a2bfd ([#1438](https://github.com/open-feature/java-sdk/issues/1438)) ([85b200a](https://github.com/open-feature/java-sdk/commit/85b200a08b9f8a71de3b5a19eaa057ec04e0801e))
+* **deps:** update github/codeql-action digest to 9bd18b4 ([#1394](https://github.com/open-feature/java-sdk/issues/1394)) ([d7b591c](https://github.com/open-feature/java-sdk/commit/d7b591c9f910afad303d6d814f65c7f9dab33b89))
+* **deps:** update github/codeql-action digest to 9f45e74 ([#1396](https://github.com/open-feature/java-sdk/issues/1396)) ([37d76be](https://github.com/open-feature/java-sdk/commit/37d76be697e83f524250a82b2a67cdb4a953d7bc))
+* **deps:** update github/codeql-action digest to d26c46a ([#1413](https://github.com/open-feature/java-sdk/issues/1413)) ([5b327ee](https://github.com/open-feature/java-sdk/commit/5b327eeb770d0a4222f3599be79543b7bed9abc2))
+* **deps:** update github/codeql-action digest to dab8a02 ([#1405](https://github.com/open-feature/java-sdk/issues/1405)) ([5b2f151](https://github.com/open-feature/java-sdk/commit/5b2f1513ab75ef6692978830e59eba87ffa494d5))
+* **deps:** update github/codeql-action digest to e13fe0d ([#1406](https://github.com/open-feature/java-sdk/issues/1406)) ([e211397](https://github.com/open-feature/java-sdk/commit/e211397d517e1263e1251f9c99093bf05cecd93f))
+* **deps:** update github/codeql-action digest to ed51cb5 ([#1436](https://github.com/open-feature/java-sdk/issues/1436)) ([b09e887](https://github.com/open-feature/java-sdk/commit/b09e88798fed529161c61b96c20a8f257d355d3c))
+* **deps:** update github/codeql-action digest to efffb48 ([#1402](https://github.com/open-feature/java-sdk/issues/1402)) ([384953d](https://github.com/open-feature/java-sdk/commit/384953d30ecff83d60a2e5b9790e8228d1a52ac7))
+* **deps:** update github/codeql-action digest to f843d94 ([#1432](https://github.com/open-feature/java-sdk/issues/1432)) ([99faaf8](https://github.com/open-feature/java-sdk/commit/99faaf88aa07bd45fc473db5bafce3b8eafaf9e0))
+* **deps:** update io.cucumber.version to v7.22.0 ([#1410](https://github.com/open-feature/java-sdk/issues/1410)) ([3c69f2f](https://github.com/open-feature/java-sdk/commit/3c69f2f36c4e975d690ecc2e790df632a33001ba))
+* **deps:** update io.cucumber.version to v7.22.1 ([#1426](https://github.com/open-feature/java-sdk/issues/1426)) ([844374a](https://github.com/open-feature/java-sdk/commit/844374a42b94deffab6856e978766354a6f46576))
+* **deps:** update io.cucumber.version to v7.22.2 ([#1441](https://github.com/open-feature/java-sdk/issues/1441)) ([58454b4](https://github.com/open-feature/java-sdk/commit/58454b4eaabfd3327f7ceaff4bf335a5a839ed41))
+* update codeowners to give global maintainers code ownership ([#1412](https://github.com/open-feature/java-sdk/issues/1412)) ([498fd38](https://github.com/open-feature/java-sdk/commit/498fd382659669315b0db61db5f19ce054467bc9))
+* update release please action ([#1430](https://github.com/open-feature/java-sdk/issues/1430)) ([1cc851b](https://github.com/open-feature/java-sdk/commit/1cc851b293008a8dd273e904e4c77a650ad71146))
+* use PAT for release please ([014f8a5](https://github.com/open-feature/java-sdk/commit/014f8a59da8f1e976e440ed1ea17e85561f98e2d))
+
+
+### ๐ Documentation
+
+* add try-catch example for setProviderAndWait usage ([#1433](https://github.com/open-feature/java-sdk/issues/1433)) ([96cf9c7](https://github.com/open-feature/java-sdk/commit/96cf9c7f5463e4e0de394117845aebdd9a69425f))
+
## [1.14.2](https://github.com/open-feature/java-sdk/compare/v1.14.1...v1.14.2) (2025-03-27)
diff --git a/README.md b/README.md
index 09f9683eb..3f1a487b3 100644
--- a/README.md
+++ b/README.md
@@ -18,8 +18,8 @@
-
-
+
+
@@ -59,7 +59,7 @@ Note that this library is intended to be used in server-side contexts and has no
dev.openfeature
sdk
- 1.14.2
+ 1.15.0
```
@@ -84,7 +84,7 @@ If you would like snapshot builds, this is the relevant repository information:
```groovy
dependencies {
- implementation 'dev.openfeature:sdk:1.14.2'
+ implementation 'dev.openfeature:sdk:1.15.0'
}
```
diff --git a/pom.xml b/pom.xml
index 1d4fb6f73..1ae9f9b17 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
dev.openfeature
sdk
- 1.14.2
+ 1.15.0
[17,)
diff --git a/version.txt b/version.txt
index a4cc55716..141f2e805 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-1.14.2
+1.15.0
From bc10bacb5a68d0d2e498cb41c087505490f19de8 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 13 May 2025 22:40:47 +0000
Subject: [PATCH 120/169] chore(deps): update github/codeql-action digest to
15bce5b (#1443)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 36989fde1..ae3651a3c 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@5eb3ed6614230b1931d5c08df9e096e4ba524f21
+ uses: github/codeql-action/init@15bce5bb14748fcfd6fe32738ca1cba36e5f218f
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@5eb3ed6614230b1931d5c08df9e096e4ba524f21
+ uses: github/codeql-action/analyze@15bce5bb14748fcfd6fe32738ca1cba36e5f218f
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 9dee17eec..f9a9cf613 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@5eb3ed6614230b1931d5c08df9e096e4ba524f21
+ uses: github/codeql-action/init@15bce5bb14748fcfd6fe32738ca1cba36e5f218f
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@5eb3ed6614230b1931d5c08df9e096e4ba524f21
+ uses: github/codeql-action/autobuild@15bce5bb14748fcfd6fe32738ca1cba36e5f218f
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@5eb3ed6614230b1931d5c08df9e096e4ba524f21
+ uses: github/codeql-action/analyze@15bce5bb14748fcfd6fe32738ca1cba36e5f218f
From e2813b2e5df8e548caf16e3e425b35962045ca6c Mon Sep 17 00:00:00 2001
From: chrfwow
Date: Wed, 14 May 2025 11:11:36 +0200
Subject: [PATCH 121/169] feat: add logging on provider state transitions
(#1444)
* NOISSUE add logging on provider state transitions
Signed-off-by: christian.lutnik
* fix npe
Signed-off-by: christian.lutnik
* fix failing test
Signed-off-by: christian.lutnik
* fix failing test
Signed-off-by: christian.lutnik
* format
Signed-off-by: christian.lutnik
---------
Signed-off-by: christian.lutnik
Co-authored-by: Simon Schrottner
---
.../sdk/FeatureProviderStateManager.java | 43 +++++++++++++------
.../openfeature/sdk/OpenFeatureAPITest.java | 3 +-
2 files changed, 32 insertions(+), 14 deletions(-)
diff --git a/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java b/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java
index 2c39ece6b..5fd70221b 100644
--- a/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java
+++ b/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java
@@ -2,14 +2,14 @@
import dev.openfeature.sdk.exceptions.OpenFeatureError;
import java.util.concurrent.atomic.AtomicBoolean;
-import lombok.Getter;
+import java.util.concurrent.atomic.AtomicReference;
+import lombok.extern.slf4j.Slf4j;
+@Slf4j
class FeatureProviderStateManager implements EventProviderListener {
private final FeatureProvider delegate;
private final AtomicBoolean isInitialized = new AtomicBoolean();
-
- @Getter
- private ProviderState state = ProviderState.NOT_READY;
+ private final AtomicReference state = new AtomicReference<>(ProviderState.NOT_READY);
public FeatureProviderStateManager(FeatureProvider delegate) {
this.delegate = delegate;
@@ -24,17 +24,17 @@ public void initialize(EvaluationContext evaluationContext) throws Exception {
}
try {
delegate.initialize(evaluationContext);
- state = ProviderState.READY;
+ setState(ProviderState.READY);
} catch (OpenFeatureError openFeatureError) {
if (ErrorCode.PROVIDER_FATAL.equals(openFeatureError.getErrorCode())) {
- state = ProviderState.FATAL;
+ setState(ProviderState.FATAL);
} else {
- state = ProviderState.ERROR;
+ setState(ProviderState.ERROR);
}
isInitialized.set(false);
throw openFeatureError;
} catch (Exception e) {
- state = ProviderState.ERROR;
+ setState(ProviderState.ERROR);
isInitialized.set(false);
throw e;
}
@@ -42,7 +42,7 @@ public void initialize(EvaluationContext evaluationContext) throws Exception {
public void shutdown() {
delegate.shutdown();
- state = ProviderState.NOT_READY;
+ setState(ProviderState.NOT_READY);
isInitialized.set(false);
}
@@ -50,17 +50,34 @@ public void shutdown() {
public void onEmit(ProviderEvent event, ProviderEventDetails details) {
if (ProviderEvent.PROVIDER_ERROR.equals(event)) {
if (details != null && details.getErrorCode() == ErrorCode.PROVIDER_FATAL) {
- state = ProviderState.FATAL;
+ setState(ProviderState.FATAL);
} else {
- state = ProviderState.ERROR;
+ setState(ProviderState.ERROR);
}
} else if (ProviderEvent.PROVIDER_STALE.equals(event)) {
- state = ProviderState.STALE;
+ setState(ProviderState.STALE);
} else if (ProviderEvent.PROVIDER_READY.equals(event)) {
- state = ProviderState.READY;
+ setState(ProviderState.READY);
+ }
+ }
+
+ private void setState(ProviderState state) {
+ ProviderState oldState = this.state.getAndSet(state);
+ if (oldState != state) {
+ String providerName;
+ if (delegate.getMetadata() == null || delegate.getMetadata().getName() == null) {
+ providerName = "unknown";
+ } else {
+ providerName = delegate.getMetadata().getName();
+ }
+ log.info("Provider {} transitioned from state {} to state {}", providerName, oldState, state);
}
}
+ public ProviderState getState() {
+ return state.get();
+ }
+
FeatureProvider getProvider() {
return delegate;
}
diff --git a/src/test/java/dev/openfeature/sdk/OpenFeatureAPITest.java b/src/test/java/dev/openfeature/sdk/OpenFeatureAPITest.java
index e8e8b27b0..66fd06d55 100644
--- a/src/test/java/dev/openfeature/sdk/OpenFeatureAPITest.java
+++ b/src/test/java/dev/openfeature/sdk/OpenFeatureAPITest.java
@@ -5,6 +5,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import dev.openfeature.sdk.providers.memory.InMemoryProvider;
@@ -112,7 +113,7 @@ void featureProviderTrackIsCalled() throws Exception {
api.getClient().track("track-event", new ImmutableContext(), new MutableTrackingEventDetails(22.2f));
verify(featureProvider).initialize(any());
- verify(featureProvider).getMetadata();
+ verify(featureProvider, times(2)).getMetadata();
verify(featureProvider).track(any(), any(), any());
}
}
From f6bd30db93e37e596d211d899315a62d9f810199 Mon Sep 17 00:00:00 2001
From: Todd Baert
Date: Wed, 14 May 2025 07:57:13 -0400
Subject: [PATCH 122/169] chore: update boostrap sha for release please
Creating a new build
Signed-off-by: Todd Baert
---
release-please-config.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/release-please-config.json b/release-please-config.json
index f1b6ee6bf..bc4fa6b53 100644
--- a/release-please-config.json
+++ b/release-please-config.json
@@ -1,5 +1,5 @@
{
- "bootstrap-sha": "c701a6c4ebbe1170a25ca7636a31508b9628831c",
+ "bootstrap-sha": "d7b591c9f910afad303d6d814f65c7f9dab33b89",
"signoff": "OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>",
"packages": {
".": {
From cfd95127289d81e2511ae21438ce94ae443b447a Mon Sep 17 00:00:00 2001
From: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>
Date: Wed, 14 May 2025 08:12:11 -0400
Subject: [PATCH 123/169] chore(main): release 1.15.1 (#1448)
* chore(main): release 1.15.1
Signed-off-by: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>
* fixup: change version
Signed-off-by: Simon Schrottner
---------
Signed-off-by: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>
Signed-off-by: Simon Schrottner
Co-authored-by: Simon Schrottner
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 7 +++++--
README.md | 8 ++++----
pom.xml | 2 +-
version.txt | 2 +-
5 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 634797f5a..8c4a75878 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1 +1 @@
-{".":"1.15.0"}
+{".":"1.15.1"}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b18f9cc71..8d2871346 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
# Changelog
-## [1.15.0](https://github.com/open-feature/java-sdk/compare/v1.14.2...v1.15.0) (2025-05-13)
+## [1.15.1](https://github.com/open-feature/java-sdk/compare/v1.14.2...v1.15.1) (2025-05-14)
### NOTABLE CHANGES
@@ -18,6 +18,7 @@
### โจ New Features
+* add logging on provider state transitions ([#1444](https://github.com/open-feature/java-sdk/issues/1444)) ([e2813b2](https://github.com/open-feature/java-sdk/commit/e2813b2e5df8e548caf16e3e425b35962045ca6c))
* add telemetry helper utils ([#1346](https://github.com/open-feature/java-sdk/issues/1346)) ([d0ae548](https://github.com/open-feature/java-sdk/commit/d0ae5482771f4d1701bce25381cdf4e92e2d4882))
* Raise required Java version to 11 ([#1393](https://github.com/open-feature/java-sdk/issues/1393)) ([4dc988b](https://github.com/open-feature/java-sdk/commit/4dc988b637a9e9c377edf7df7b29bf6407319f16))
@@ -42,6 +43,7 @@
* **deps:** update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.5.3 ([#1399](https://github.com/open-feature/java-sdk/issues/1399)) ([d6ebc16](https://github.com/open-feature/java-sdk/commit/d6ebc161a93ad703e25592abdb0bf0fd9e281bbc))
* **deps:** update dependency org.jacoco:jacoco-maven-plugin to v0.8.13 ([#1407](https://github.com/open-feature/java-sdk/issues/1407)) ([e19ccaa](https://github.com/open-feature/java-sdk/commit/e19ccaa35d9ac4d89d72ea58a70d416d202078db))
* **deps:** update dependency org.mockito:mockito-core to v5.17.0 ([#1409](https://github.com/open-feature/java-sdk/issues/1409)) ([345cdcf](https://github.com/open-feature/java-sdk/commit/345cdcfa10da64c61d769746f335f38ac564e9ad))
+* **deps:** update github/codeql-action digest to 15bce5b ([#1443](https://github.com/open-feature/java-sdk/issues/1443)) ([bc10bac](https://github.com/open-feature/java-sdk/commit/bc10bacb5a68d0d2e498cb41c087505490f19de8))
* **deps:** update github/codeql-action digest to 2a8cbad ([#1423](https://github.com/open-feature/java-sdk/issues/1423)) ([6b6849f](https://github.com/open-feature/java-sdk/commit/6b6849f3a3ee8a7b66d859c8e522bc101d1ccd44))
* **deps:** update github/codeql-action digest to 362ef4c ([#1408](https://github.com/open-feature/java-sdk/issues/1408)) ([ca160ca](https://github.com/open-feature/java-sdk/commit/ca160cab7ccd71527e06a0851502353ac50b8d0d))
* **deps:** update github/codeql-action digest to 40e16ed ([#1437](https://github.com/open-feature/java-sdk/issues/1437)) ([f965cbc](https://github.com/open-feature/java-sdk/commit/f965cbcb37d20724e15b76c15842a88574810b1a))
@@ -51,7 +53,6 @@
* **deps:** update github/codeql-action digest to 5eb3ed6 ([#1439](https://github.com/open-feature/java-sdk/issues/1439)) ([f2348ea](https://github.com/open-feature/java-sdk/commit/f2348ea370412351389c60eef390f36edbea68b0))
* **deps:** update github/codeql-action digest to 83605b3 ([#1435](https://github.com/open-feature/java-sdk/issues/1435)) ([7e74f2a](https://github.com/open-feature/java-sdk/commit/7e74f2aa3ad2dc8f7a3e4ad398e7705b3e3db364))
* **deps:** update github/codeql-action digest to 97a2bfd ([#1438](https://github.com/open-feature/java-sdk/issues/1438)) ([85b200a](https://github.com/open-feature/java-sdk/commit/85b200a08b9f8a71de3b5a19eaa057ec04e0801e))
-* **deps:** update github/codeql-action digest to 9bd18b4 ([#1394](https://github.com/open-feature/java-sdk/issues/1394)) ([d7b591c](https://github.com/open-feature/java-sdk/commit/d7b591c9f910afad303d6d814f65c7f9dab33b89))
* **deps:** update github/codeql-action digest to 9f45e74 ([#1396](https://github.com/open-feature/java-sdk/issues/1396)) ([37d76be](https://github.com/open-feature/java-sdk/commit/37d76be697e83f524250a82b2a67cdb4a953d7bc))
* **deps:** update github/codeql-action digest to d26c46a ([#1413](https://github.com/open-feature/java-sdk/issues/1413)) ([5b327ee](https://github.com/open-feature/java-sdk/commit/5b327eeb770d0a4222f3599be79543b7bed9abc2))
* **deps:** update github/codeql-action digest to dab8a02 ([#1405](https://github.com/open-feature/java-sdk/issues/1405)) ([5b2f151](https://github.com/open-feature/java-sdk/commit/5b2f1513ab75ef6692978830e59eba87ffa494d5))
@@ -62,6 +63,8 @@
* **deps:** update io.cucumber.version to v7.22.0 ([#1410](https://github.com/open-feature/java-sdk/issues/1410)) ([3c69f2f](https://github.com/open-feature/java-sdk/commit/3c69f2f36c4e975d690ecc2e790df632a33001ba))
* **deps:** update io.cucumber.version to v7.22.1 ([#1426](https://github.com/open-feature/java-sdk/issues/1426)) ([844374a](https://github.com/open-feature/java-sdk/commit/844374a42b94deffab6856e978766354a6f46576))
* **deps:** update io.cucumber.version to v7.22.2 ([#1441](https://github.com/open-feature/java-sdk/issues/1441)) ([58454b4](https://github.com/open-feature/java-sdk/commit/58454b4eaabfd3327f7ceaff4bf335a5a839ed41))
+* **main:** release 1.15.0 ([#1431](https://github.com/open-feature/java-sdk/issues/1431)) ([7182a7f](https://github.com/open-feature/java-sdk/commit/7182a7fc4197e70218e829971dae2cff09f948c9))
+* update boostrap sha for release please ([f6bd30d](https://github.com/open-feature/java-sdk/commit/f6bd30db93e37e596d211d899315a62d9f810199))
* update codeowners to give global maintainers code ownership ([#1412](https://github.com/open-feature/java-sdk/issues/1412)) ([498fd38](https://github.com/open-feature/java-sdk/commit/498fd382659669315b0db61db5f19ce054467bc9))
* update release please action ([#1430](https://github.com/open-feature/java-sdk/issues/1430)) ([1cc851b](https://github.com/open-feature/java-sdk/commit/1cc851b293008a8dd273e904e4c77a650ad71146))
* use PAT for release please ([014f8a5](https://github.com/open-feature/java-sdk/commit/014f8a59da8f1e976e440ed1ea17e85561f98e2d))
diff --git a/README.md b/README.md
index 3f1a487b3..6593c9b1e 100644
--- a/README.md
+++ b/README.md
@@ -18,8 +18,8 @@
-
-
+
+
@@ -59,7 +59,7 @@ Note that this library is intended to be used in server-side contexts and has no
dev.openfeature
sdk
- 1.15.0
+ 1.15.1
```
@@ -84,7 +84,7 @@ If you would like snapshot builds, this is the relevant repository information:
```groovy
dependencies {
- implementation 'dev.openfeature:sdk:1.15.0'
+ implementation 'dev.openfeature:sdk:1.15.1'
}
```
diff --git a/pom.xml b/pom.xml
index 1ae9f9b17..0146f15f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
dev.openfeature
sdk
- 1.15.0
+ 1.15.1
[17,)
diff --git a/version.txt b/version.txt
index 141f2e805..ace44233b 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-1.15.0
+1.15.1
From d9a72d2aafd787a1814132f000897ad1c94181e4 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 14 May 2025 22:43:05 +0000
Subject: [PATCH 124/169] chore(deps): update github/codeql-action digest to
510dfa3 (#1450)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index ae3651a3c..d258e0312 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@15bce5bb14748fcfd6fe32738ca1cba36e5f218f
+ uses: github/codeql-action/init@510dfa3460b15b34a807ab5609b4691aed5ebbee
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@15bce5bb14748fcfd6fe32738ca1cba36e5f218f
+ uses: github/codeql-action/analyze@510dfa3460b15b34a807ab5609b4691aed5ebbee
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index f9a9cf613..b49e054fa 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@15bce5bb14748fcfd6fe32738ca1cba36e5f218f
+ uses: github/codeql-action/init@510dfa3460b15b34a807ab5609b4691aed5ebbee
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@15bce5bb14748fcfd6fe32738ca1cba36e5f218f
+ uses: github/codeql-action/autobuild@510dfa3460b15b34a807ab5609b4691aed5ebbee
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@15bce5bb14748fcfd6fe32738ca1cba36e5f218f
+ uses: github/codeql-action/analyze@510dfa3460b15b34a807ab5609b4691aed5ebbee
From 1714efe81aa6ae025f4f8b12c9c042561498d25e Mon Sep 17 00:00:00 2001
From: Todd Baert
Date: Thu, 15 May 2025 11:22:10 -0400
Subject: [PATCH 125/169] chore: improvements to release workflow (#1451)
Signed-off-by: Todd Baert
Co-authored-by: chrfwow
---
.github/workflows/release.yml | 29 ++++++++++++++++++-----------
1 file changed, 18 insertions(+), 11 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 41d308de1..546747584 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -12,11 +12,11 @@ permissions: # added using https://github.com/step-security/secure-workflows
jobs:
release-please:
- environment: publish
- permissions:
- contents: write # for google-github-actions/release-please-action to create release commit
- pull-requests: write # for google-github-actions/release-please-action to create release PR
runs-on: ubuntu-latest
+ permissions:
+ contents: write # for googleapis/release-please-action to create release commit
+ pull-requests: write # for googleapis/release-please-action to create release PR
+ issues: write # for googleapis/release-please-action to create labels
# Release-please creates a PR that tracks all changes
steps:
@@ -24,13 +24,22 @@ jobs:
id: release
with:
token: ${{secrets.RELEASE_PLEASE_ACTION_TOKEN}}
+ outputs:
+ release_created: ${{ fromJSON(steps.release.outputs.paths_released)[0] != null }} # if we have a single release path, do the release
- # These steps are only run if this was a merged release-please PR
- - name: checkout
- if: ${{ steps.release.outputs.release_created }}
+ publish:
+ environment: publish
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ needs: release-please
+ if: ${{ fromJSON(needs.release-please.outputs.release_created || false) }}
+
+ steps:
+ - name: Checkout Repository
uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2
+
- name: Set up JDK 17
- if: ${{ steps.release.outputs.release_created }}
uses: actions/setup-java@f4f1212c880fdec8162ea9a6493f4495191887b4
with:
java-version: '17'
@@ -41,17 +50,15 @@ jobs:
server-password: ${{ secrets.OSSRH_PASSWORD }}
- name: Configure GPG Key
- if: ${{ steps.release.outputs.release_created }}
run: |
echo -n "$GPG_SIGNING_KEY" | base64 --decode | gpg --import
env:
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
- name: Deploy
- if: ${{ steps.release.outputs.release_created }}
run: |
mvn --batch-mode \
- --settings release/m2-settings.xml clean deploy
+ --settings release/m2-settings.xml -DskipTests clean deploy
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
From b667aa325136b78c01867d40342f81eeb7e16f46 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 15 May 2025 20:01:17 +0000
Subject: [PATCH 126/169] chore(deps): update github/codeql-action digest to
b86edfc (#1453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index d258e0312..c9398132d 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@510dfa3460b15b34a807ab5609b4691aed5ebbee
+ uses: github/codeql-action/init@b86edfc27a1e0d3b55127a7496a1c770a02b2f84
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@510dfa3460b15b34a807ab5609b4691aed5ebbee
+ uses: github/codeql-action/analyze@b86edfc27a1e0d3b55127a7496a1c770a02b2f84
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index b49e054fa..c63d8876d 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@510dfa3460b15b34a807ab5609b4691aed5ebbee
+ uses: github/codeql-action/init@b86edfc27a1e0d3b55127a7496a1c770a02b2f84
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@510dfa3460b15b34a807ab5609b4691aed5ebbee
+ uses: github/codeql-action/autobuild@b86edfc27a1e0d3b55127a7496a1c770a02b2f84
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@510dfa3460b15b34a807ab5609b4691aed5ebbee
+ uses: github/codeql-action/analyze@b86edfc27a1e0d3b55127a7496a1c770a02b2f84
From e3379395e6bfb0ce811d8372761a3cb015ad2cde Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 16 May 2025 01:40:23 +0000
Subject: [PATCH 127/169] chore(deps): update codecov/codecov-action action to
v5.4.3 (#1454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/merge.yml | 2 +-
.github/workflows/pullrequest.yml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml
index 58e096350..c92523417 100644
--- a/.github/workflows/merge.yml
+++ b/.github/workflows/merge.yml
@@ -50,7 +50,7 @@ jobs:
run: mvn --batch-mode --update-snapshots verify
- name: Upload coverage to Codecov
- uses: codecov/codecov-action@v5.4.2
+ uses: codecov/codecov-action@v5.4.3
with:
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
flags: unittests # optional
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index c9398132d..755a4fc04 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -46,7 +46,7 @@ jobs:
- if: matrix.build.java == '17'
name: Upload coverage to Codecov
- uses: codecov/codecov-action@v5.4.2
+ uses: codecov/codecov-action@v5.4.3
with:
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
flags: unittests # optional
From 36eed065e763bbfa0f8f97d704202bbd219332ca Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 16 May 2025 15:06:06 +0000
Subject: [PATCH 128/169] chore(deps): update github/codeql-action digest to
57eebf6 (#1455)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 755a4fc04..8fbfd3182 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@b86edfc27a1e0d3b55127a7496a1c770a02b2f84
+ uses: github/codeql-action/init@57eebf61a2246ab60a0c2f5a85766db783ad3553
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@b86edfc27a1e0d3b55127a7496a1c770a02b2f84
+ uses: github/codeql-action/analyze@57eebf61a2246ab60a0c2f5a85766db783ad3553
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index c63d8876d..db87c3e3a 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@b86edfc27a1e0d3b55127a7496a1c770a02b2f84
+ uses: github/codeql-action/init@57eebf61a2246ab60a0c2f5a85766db783ad3553
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@b86edfc27a1e0d3b55127a7496a1c770a02b2f84
+ uses: github/codeql-action/autobuild@57eebf61a2246ab60a0c2f5a85766db783ad3553
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@b86edfc27a1e0d3b55127a7496a1c770a02b2f84
+ uses: github/codeql-action/analyze@57eebf61a2246ab60a0c2f5a85766db783ad3553
From b45a9370173e3d3b97c78449dfc99225fb572228 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 19 May 2025 23:54:03 +0000
Subject: [PATCH 129/169] chore(deps): update github/codeql-action digest to
396fd27 (#1456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 8fbfd3182..9fd72b6de 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@57eebf61a2246ab60a0c2f5a85766db783ad3553
+ uses: github/codeql-action/init@396fd27c308b7ab96df64e7e4cb9a7c6e22f4ebc
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@57eebf61a2246ab60a0c2f5a85766db783ad3553
+ uses: github/codeql-action/analyze@396fd27c308b7ab96df64e7e4cb9a7c6e22f4ebc
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index db87c3e3a..f0fd3b95e 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@57eebf61a2246ab60a0c2f5a85766db783ad3553
+ uses: github/codeql-action/init@396fd27c308b7ab96df64e7e4cb9a7c6e22f4ebc
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@57eebf61a2246ab60a0c2f5a85766db783ad3553
+ uses: github/codeql-action/autobuild@396fd27c308b7ab96df64e7e4cb9a7c6e22f4ebc
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@57eebf61a2246ab60a0c2f5a85766db783ad3553
+ uses: github/codeql-action/analyze@396fd27c308b7ab96df64e7e4cb9a7c6e22f4ebc
From e17b0b29758ae7cdbdac9ddb2178382c55eb1277 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 21 May 2025 04:08:45 +0000
Subject: [PATCH 130/169] chore(deps): update dependency
org.mockito:mockito-core to v5.18.0 (#1457)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 0146f15f8..ff52af7ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
${maven.compiler.source}
5.12.2
7.22.2
- 5.17.0
+ 5.18.0
**/e2e/*.java
${project.groupId}.${project.artifactId}
From dcbfd265a3875271695af760fce9870e53c69f13 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 22 May 2025 06:29:34 +0000
Subject: [PATCH 131/169] chore(deps): update dependency
com.puppycrawl.tools:checkstyle to v10.24.0 (#1458)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ff52af7ad..6ec4b1fb1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -457,7 +457,7 @@
com.puppycrawl.tools
checkstyle
- 10.23.1
+ 10.24.0
From 6a95c008e975dd3c7328c32f1d7cf626bbaecfa6 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 22 May 2025 22:59:22 +0000
Subject: [PATCH 132/169] chore(deps): update github/codeql-action digest to
7b0fb5a (#1459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 9fd72b6de..96cada045 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@396fd27c308b7ab96df64e7e4cb9a7c6e22f4ebc
+ uses: github/codeql-action/init@7b0fb5a4ac3b38ee6ee9a3ab6ffe59c27e9c4d3b
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@396fd27c308b7ab96df64e7e4cb9a7c6e22f4ebc
+ uses: github/codeql-action/analyze@7b0fb5a4ac3b38ee6ee9a3ab6ffe59c27e9c4d3b
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index f0fd3b95e..1bfc48a62 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@396fd27c308b7ab96df64e7e4cb9a7c6e22f4ebc
+ uses: github/codeql-action/init@7b0fb5a4ac3b38ee6ee9a3ab6ffe59c27e9c4d3b
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@396fd27c308b7ab96df64e7e4cb9a7c6e22f4ebc
+ uses: github/codeql-action/autobuild@7b0fb5a4ac3b38ee6ee9a3ab6ffe59c27e9c4d3b
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@396fd27c308b7ab96df64e7e4cb9a7c6e22f4ebc
+ uses: github/codeql-action/analyze@7b0fb5a4ac3b38ee6ee9a3ab6ffe59c27e9c4d3b
From 5e922cf3efc156135563707de92e508b0a4d19f3 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 27 May 2025 22:26:25 +0000
Subject: [PATCH 133/169] chore(deps): update github/codeql-action digest to
bc02a25 (#1460)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 96cada045..6ce471baf 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@7b0fb5a4ac3b38ee6ee9a3ab6ffe59c27e9c4d3b
+ uses: github/codeql-action/init@bc02a25f6449997c5e9d5a368879b28f56ae19a1
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@7b0fb5a4ac3b38ee6ee9a3ab6ffe59c27e9c4d3b
+ uses: github/codeql-action/analyze@bc02a25f6449997c5e9d5a368879b28f56ae19a1
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 1bfc48a62..9405793c7 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@7b0fb5a4ac3b38ee6ee9a3ab6ffe59c27e9c4d3b
+ uses: github/codeql-action/init@bc02a25f6449997c5e9d5a368879b28f56ae19a1
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@7b0fb5a4ac3b38ee6ee9a3ab6ffe59c27e9c4d3b
+ uses: github/codeql-action/autobuild@bc02a25f6449997c5e9d5a368879b28f56ae19a1
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@7b0fb5a4ac3b38ee6ee9a3ab6ffe59c27e9c4d3b
+ uses: github/codeql-action/analyze@bc02a25f6449997c5e9d5a368879b28f56ae19a1
From 40b319c5de0461bec13f76978ae09edc958310cd Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 28 May 2025 04:12:52 +0000
Subject: [PATCH 134/169] chore(deps): update dependency
com.diffplug.spotless:spotless-maven-plugin to v2.44.5 (#1462)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 6ec4b1fb1..027f477bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -473,7 +473,7 @@
com.diffplug.spotless
spotless-maven-plugin
- 2.44.4
+ 2.44.5
From f10aaaa357581b573895f4d6e2329abb705582aa Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 28 May 2025 22:25:40 +0000
Subject: [PATCH 135/169] chore(deps): update github/codeql-action digest to
7fd6215 (#1464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 6ce471baf..1ee66b175 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@bc02a25f6449997c5e9d5a368879b28f56ae19a1
+ uses: github/codeql-action/init@7fd62151d9daff11d4b981415ffb365dcd93f75a
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@bc02a25f6449997c5e9d5a368879b28f56ae19a1
+ uses: github/codeql-action/analyze@7fd62151d9daff11d4b981415ffb365dcd93f75a
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 9405793c7..29a95683d 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@bc02a25f6449997c5e9d5a368879b28f56ae19a1
+ uses: github/codeql-action/init@7fd62151d9daff11d4b981415ffb365dcd93f75a
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@bc02a25f6449997c5e9d5a368879b28f56ae19a1
+ uses: github/codeql-action/autobuild@7fd62151d9daff11d4b981415ffb365dcd93f75a
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@bc02a25f6449997c5e9d5a368879b28f56ae19a1
+ uses: github/codeql-action/analyze@7fd62151d9daff11d4b981415ffb365dcd93f75a
From 2de76166764bacd34883b13220dd0bad824c8b1a Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 29 May 2025 23:00:03 +0000
Subject: [PATCH 136/169] chore(deps): update io.cucumber.version to v7.23.0
(#1465)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 027f477bf..035a3dcb5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
11
${maven.compiler.source}
5.12.2
- 7.22.2
+ 7.23.0
5.18.0
**/e2e/*.java
From b6ceff2ecb0e34be2ccdb83f7f37c1177de6f27e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 30 May 2025 02:01:25 +0000
Subject: [PATCH 137/169] chore(deps): update dependency
org.codehaus.mojo:exec-maven-plugin to v3.5.1 (#1461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 035a3dcb5..c02254e96 100644
--- a/pom.xml
+++ b/pom.xml
@@ -622,7 +622,7 @@
org.codehaus.mojo
exec-maven-plugin
- 3.5.0
+ 3.5.1
update-test-harness-submodule
From 50a6b168a7de40337aa51ef3d79d122030956cb9 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 30 May 2025 05:38:25 +0000
Subject: [PATCH 138/169] fix(deps): update dependency io.cucumber:cucumber-bom
to v7.23.0 (#1466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index c02254e96..2f00ce9a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -204,7 +204,7 @@
io.cucumber
cucumber-bom
- 7.22.2
+ 7.23.0
pom
import
From f8260a1c3a345c877eba95bfe41184ad11f6555e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 30 May 2025 21:02:38 +0000
Subject: [PATCH 139/169] fix(deps): update junit5 monorepo (#1467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pom.xml b/pom.xml
index 2f00ce9a8..b9d48d566 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
UTF-8
11
${maven.compiler.source}
- 5.12.2
+ 5.13.0
7.23.0
5.18.0
@@ -125,7 +125,7 @@
org.junit.platform
junit-platform-suite
- 1.12.2
+ 1.13.0
test
@@ -212,7 +212,7 @@
org.junit
junit-bom
- 5.12.2
+ 5.13.0
pom
import
From 1558a862497c0e133d11d53ff6d7f28437653d43 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 31 May 2025 21:27:57 +0000
Subject: [PATCH 140/169] chore(deps): update dependency
com.puppycrawl.tools:checkstyle to v10.25.0 (#1468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index b9d48d566..7fb333134 100644
--- a/pom.xml
+++ b/pom.xml
@@ -457,7 +457,7 @@
com.puppycrawl.tools
checkstyle
- 10.24.0
+ 10.25.0
From 376f81f5c3b66d7e3e298aac30ac7544b84e7362 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 2 Jun 2025 19:28:18 +0000
Subject: [PATCH 141/169] chore(deps): update github/codeql-action digest to
4a00331 (#1469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 1ee66b175..7185b39ff 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@7fd62151d9daff11d4b981415ffb365dcd93f75a
+ uses: github/codeql-action/init@4a00331d4ecf79a214751520faf8e540e60c7567
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@7fd62151d9daff11d4b981415ffb365dcd93f75a
+ uses: github/codeql-action/analyze@4a00331d4ecf79a214751520faf8e540e60c7567
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 29a95683d..2563d859d 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@7fd62151d9daff11d4b981415ffb365dcd93f75a
+ uses: github/codeql-action/init@4a00331d4ecf79a214751520faf8e540e60c7567
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@7fd62151d9daff11d4b981415ffb365dcd93f75a
+ uses: github/codeql-action/autobuild@4a00331d4ecf79a214751520faf8e540e60c7567
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@7fd62151d9daff11d4b981415ffb365dcd93f75a
+ uses: github/codeql-action/analyze@4a00331d4ecf79a214751520faf8e540e60c7567
From 6597de7a98e0fae10a541a8a9b60837623c133a8 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 3 Jun 2025 18:05:22 +0000
Subject: [PATCH 142/169] chore(deps): update github/codeql-action digest to
075e08a (#1470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 7185b39ff..578dfa453 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@4a00331d4ecf79a214751520faf8e540e60c7567
+ uses: github/codeql-action/init@075e08aca6be12984ae56ae245bd0767609134f2
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@4a00331d4ecf79a214751520faf8e540e60c7567
+ uses: github/codeql-action/analyze@075e08aca6be12984ae56ae245bd0767609134f2
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 2563d859d..4273ba2d3 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@4a00331d4ecf79a214751520faf8e540e60c7567
+ uses: github/codeql-action/init@075e08aca6be12984ae56ae245bd0767609134f2
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@4a00331d4ecf79a214751520faf8e540e60c7567
+ uses: github/codeql-action/autobuild@075e08aca6be12984ae56ae245bd0767609134f2
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@4a00331d4ecf79a214751520faf8e540e60c7567
+ uses: github/codeql-action/analyze@075e08aca6be12984ae56ae245bd0767609134f2
From 3ed65cfb0cb5ee5b70793cd68a27909c81cd4fab Mon Sep 17 00:00:00 2001
From: Simon Schrottner
Date: Wed, 4 Jun 2025 16:44:38 +0200
Subject: [PATCH 143/169] chore: remove unneeded version information (#1428)
Signed-off-by: Simon Schrottner
---
pom.xml | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/pom.xml b/pom.xml
index 7fb333134..052f1c6cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,8 +12,6 @@
UTF-8
11
${maven.compiler.source}
- 5.13.0
- 7.23.0
5.18.0
**/e2e/*.java
@@ -97,56 +95,48 @@
org.junit.jupiter
junit-jupiter
- ${junit.jupiter.version}
test
org.junit.jupiter
junit-jupiter-engine
- ${junit.jupiter.version}
test
org.junit.jupiter
junit-jupiter-api
- ${junit.jupiter.version}
test
org.junit.jupiter
junit-jupiter-params
- ${junit.jupiter.version}
test
org.junit.platform
junit-platform-suite
- 1.13.0
test
io.cucumber
cucumber-java
- ${io.cucumber.version}
test
io.cucumber
cucumber-junit-platform-engine
- ${io.cucumber.version}
test
io.cucumber
cucumber-picocontainer
- ${io.cucumber.version}
test
From 2dcd6a1dd0c80ee676b9860afd6a6002d0ea4aea Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 5 Jun 2025 06:27:45 +0000
Subject: [PATCH 144/169] chore(deps): update github/codeql-action digest to
b1e4dc3 (#1471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 578dfa453..a711d4b34 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@075e08aca6be12984ae56ae245bd0767609134f2
+ uses: github/codeql-action/init@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@075e08aca6be12984ae56ae245bd0767609134f2
+ uses: github/codeql-action/analyze@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 4273ba2d3..c567e9d0f 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@075e08aca6be12984ae56ae245bd0767609134f2
+ uses: github/codeql-action/init@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@075e08aca6be12984ae56ae245bd0767609134f2
+ uses: github/codeql-action/autobuild@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@075e08aca6be12984ae56ae245bd0767609134f2
+ uses: github/codeql-action/analyze@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf
From 545d6aac09dbc74c00a0a4e5c26f4ef80be22379 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 7 Jun 2025 13:08:10 +0000
Subject: [PATCH 145/169] fix(deps): update dependency org.junit:junit-bom to
v5.13.1 (#1475)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 052f1c6cd..4f36c2689 100644
--- a/pom.xml
+++ b/pom.xml
@@ -202,7 +202,7 @@
org.junit
junit-bom
- 5.13.0
+ 5.13.1
pom
import
From b5d873e44d3c41b42f11569b0fafccc0a002ebdd Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 7 Jun 2025 17:39:13 +0000
Subject: [PATCH 146/169] chore(deps): update actions/checkout digest to
09d2aca (#1473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/merge.yml | 2 +-
.github/workflows/pullrequest.yml | 2 +-
.github/workflows/release.yml | 2 +-
.github/workflows/static-code-scanning.yaml | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml
index c92523417..77a649385 100644
--- a/.github/workflows/merge.yml
+++ b/.github/workflows/merge.yml
@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2
+ - uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
- name: Set up JDK 17
uses: actions/setup-java@f4f1212c880fdec8162ea9a6493f4495191887b4
with:
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index a711d4b34..1cde047fb 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -19,7 +19,7 @@ jobs:
runs-on: ${{ matrix.os}}
steps:
- name: Check out the code
- uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2
+ uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
- name: Set up JDK 11
uses: actions/setup-java@f4f1212c880fdec8162ea9a6493f4495191887b4
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 546747584..61df7d93e 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -37,7 +37,7 @@ jobs:
steps:
- name: Checkout Repository
- uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2
+ uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
- name: Set up JDK 17
uses: actions/setup-java@f4f1212c880fdec8162ea9a6493f4495191887b4
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index c567e9d0f..cb9c940c4 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -29,7 +29,7 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2
+ uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
From 4481537cebc213dcfe19bb8cd9b70a4c91a682b2 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 7 Jun 2025 21:59:01 +0000
Subject: [PATCH 147/169] chore(deps): update dependency maven to v3.9.10
(#1474)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.mvn/wrapper/maven-wrapper.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index d58dfb70b..2f94e6169 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -16,4 +16,4 @@
# under the License.
wrapperVersion=3.3.2
distributionType=only-script
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.10/apache-maven-3.9.10-bin.zip
From 6cca721be5bc6f5926fe64668a7c03728cab3cb0 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 10 Jun 2025 01:27:44 +0000
Subject: [PATCH 148/169] chore(deps): update github/codeql-action digest to
7cb9b16 (#1476)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 1cde047fb..e3b4f4aca 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf
+ uses: github/codeql-action/init@7cb9b16051842e6c23c8b9fbcf92481f92d0644a
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf
+ uses: github/codeql-action/analyze@7cb9b16051842e6c23c8b9fbcf92481f92d0644a
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index cb9c940c4..55764e9bf 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf
+ uses: github/codeql-action/init@7cb9b16051842e6c23c8b9fbcf92481f92d0644a
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf
+ uses: github/codeql-action/autobuild@7cb9b16051842e6c23c8b9fbcf92481f92d0644a
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf
+ uses: github/codeql-action/analyze@7cb9b16051842e6c23c8b9fbcf92481f92d0644a
From 3dd7d5d4262f1f4461e13c13a7d64d2fa8bfd764 Mon Sep 17 00:00:00 2001
From: chrfwow
Date: Tue, 10 Jun 2025 17:27:15 +0200
Subject: [PATCH 149/169] feat: add means of awaiting event emission, fix flaky
build (#1463)
## This PR
- adds the ability to await event emissions by returning a new construct
- uses this construct in tests
:warning: in rare cases, this could be a breaking change, but the events API is currently experimental, so we will not do a major version ubmp
### Related Issues
Fixes #1449
---
.../java/dev/openfeature/sdk/Awaitable.java | 44 +++++++++++
.../dev/openfeature/sdk/EventProvider.java | 47 ++++++++----
.../dev/openfeature/sdk/EventSupport.java | 28 +++----
.../dev/openfeature/sdk/AwaitableTest.java | 75 +++++++++++++++++++
.../sdk/DeveloperExperienceTest.java | 8 +-
.../openfeature/sdk/EventProviderTest.java | 1 +
.../java/dev/openfeature/sdk/EventsTest.java | 12 +--
.../memory/InMemoryProviderTest.java | 18 ++++-
8 files changed, 189 insertions(+), 44 deletions(-)
create mode 100644 src/main/java/dev/openfeature/sdk/Awaitable.java
create mode 100644 src/test/java/dev/openfeature/sdk/AwaitableTest.java
diff --git a/src/main/java/dev/openfeature/sdk/Awaitable.java b/src/main/java/dev/openfeature/sdk/Awaitable.java
new file mode 100644
index 000000000..7d5f477dc
--- /dev/null
+++ b/src/main/java/dev/openfeature/sdk/Awaitable.java
@@ -0,0 +1,44 @@
+package dev.openfeature.sdk;
+
+/**
+ * A class to help with synchronization by allowing the optional awaiting of the associated action.
+ */
+public class Awaitable {
+
+ /**
+ * An already-completed Awaitable. Awaiting this will return immediately.
+ */
+ public static final Awaitable FINISHED = new Awaitable(true);
+
+ private boolean isDone = false;
+
+ public Awaitable() {}
+
+ private Awaitable(boolean isDone) {
+ this.isDone = isDone;
+ }
+
+ /**
+ * Lets the calling thread wait until some other thread calls {@link Awaitable#wakeup()}. If
+ * {@link Awaitable#wakeup()} has been called before the current thread invokes this method, it will return
+ * immediately.
+ */
+ @SuppressWarnings("java:S2142")
+ public synchronized void await() {
+ while (!isDone) {
+ try {
+ this.wait();
+ } catch (InterruptedException ignored) {
+ // ignored, do not propagate the interrupted state
+ }
+ }
+ }
+
+ /**
+ * Wakes up all threads that have called {@link Awaitable#await()} and lets them proceed.
+ */
+ public synchronized void wakeup() {
+ isDone = true;
+ this.notifyAll();
+ }
+}
diff --git a/src/main/java/dev/openfeature/sdk/EventProvider.java b/src/main/java/dev/openfeature/sdk/EventProvider.java
index 659c6ad46..0d7e897c2 100644
--- a/src/main/java/dev/openfeature/sdk/EventProvider.java
+++ b/src/main/java/dev/openfeature/sdk/EventProvider.java
@@ -76,15 +76,32 @@ public void shutdown() {
* @param event The event type
* @param details The details of the event
*/
- public void emit(ProviderEvent event, ProviderEventDetails details) {
- if (eventProviderListener != null) {
- eventProviderListener.onEmit(event, details);
- }
+ public Awaitable emit(final ProviderEvent event, final ProviderEventDetails details) {
+ final var localEventProviderListener = this.eventProviderListener;
+ final var localOnEmit = this.onEmit;
- final TriConsumer localOnEmit = this.onEmit;
- if (localOnEmit != null) {
- emitterExecutor.submit(() -> localOnEmit.accept(this, event, details));
+ if (localEventProviderListener == null && localOnEmit == null) {
+ return Awaitable.FINISHED;
}
+
+ final var awaitable = new Awaitable();
+
+ // These calls need to be executed on a different thread to prevent deadlocks when the provider initialization
+ // relies on a ready event to be emitted
+ emitterExecutor.submit(() -> {
+ try (var ignored = OpenFeatureAPI.lock.readLockAutoCloseable()) {
+ if (localEventProviderListener != null) {
+ localEventProviderListener.onEmit(event, details);
+ }
+ if (localOnEmit != null) {
+ localOnEmit.accept(this, event, details);
+ }
+ } finally {
+ awaitable.wakeup();
+ }
+ });
+
+ return awaitable;
}
/**
@@ -93,8 +110,8 @@ public void emit(ProviderEvent event, ProviderEventDetails details) {
*
* @param details The details of the event
*/
- public void emitProviderReady(ProviderEventDetails details) {
- emit(ProviderEvent.PROVIDER_READY, details);
+ public Awaitable emitProviderReady(ProviderEventDetails details) {
+ return emit(ProviderEvent.PROVIDER_READY, details);
}
/**
@@ -104,8 +121,8 @@ public void emitProviderReady(ProviderEventDetails details) {
*
* @param details The details of the event
*/
- public void emitProviderConfigurationChanged(ProviderEventDetails details) {
- emit(ProviderEvent.PROVIDER_CONFIGURATION_CHANGED, details);
+ public Awaitable emitProviderConfigurationChanged(ProviderEventDetails details) {
+ return emit(ProviderEvent.PROVIDER_CONFIGURATION_CHANGED, details);
}
/**
@@ -114,8 +131,8 @@ public void emitProviderConfigurationChanged(ProviderEventDetails details) {
*
* @param details The details of the event
*/
- public void emitProviderStale(ProviderEventDetails details) {
- emit(ProviderEvent.PROVIDER_STALE, details);
+ public Awaitable emitProviderStale(ProviderEventDetails details) {
+ return emit(ProviderEvent.PROVIDER_STALE, details);
}
/**
@@ -124,7 +141,7 @@ public void emitProviderStale(ProviderEventDetails details) {
*
* @param details The details of the event
*/
- public void emitProviderError(ProviderEventDetails details) {
- emit(ProviderEvent.PROVIDER_ERROR, details);
+ public Awaitable emitProviderError(ProviderEventDetails details) {
+ return emit(ProviderEvent.PROVIDER_ERROR, details);
}
}
diff --git a/src/main/java/dev/openfeature/sdk/EventSupport.java b/src/main/java/dev/openfeature/sdk/EventSupport.java
index 5ebe90a4c..8396795bd 100644
--- a/src/main/java/dev/openfeature/sdk/EventSupport.java
+++ b/src/main/java/dev/openfeature/sdk/EventSupport.java
@@ -1,12 +1,12 @@
package dev.openfeature.sdk;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Collection;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
@@ -23,13 +23,10 @@ class EventSupport {
// we use a v4 uuid as a "placeholder" for anonymous clients, since
// ConcurrentHashMap doesn't support nulls
- private static final String defaultClientUuid = UUID.randomUUID().toString();
+ private static final String DEFAULT_CLIENT_UUID = UUID.randomUUID().toString();
private final Map handlerStores = new ConcurrentHashMap<>();
private final HandlerStore globalHandlerStore = new HandlerStore();
- private final ExecutorService taskExecutor = Executors.newCachedThreadPool(runnable -> {
- final Thread thread = new Thread(runnable);
- return thread;
- });
+ private final ExecutorService taskExecutor = Executors.newCachedThreadPool();
/**
* Run all the event handlers associated with this domain.
@@ -40,11 +37,10 @@ class EventSupport {
* @param eventDetails the event details
*/
public void runClientHandlers(String domain, ProviderEvent event, EventDetails eventDetails) {
- domain = Optional.ofNullable(domain).orElse(defaultClientUuid);
+ domain = Optional.ofNullable(domain).orElse(DEFAULT_CLIENT_UUID);
// run handlers if they exist
Optional.ofNullable(handlerStores.get(domain))
- .filter(store -> Optional.of(store).isPresent())
.map(store -> store.handlerMap.get(event))
.ifPresent(handlers -> handlers.forEach(handler -> runHandler(handler, eventDetails)));
}
@@ -69,7 +65,7 @@ public void runGlobalHandlers(ProviderEvent event, EventDetails eventDetails) {
* @param handler the handler function to run
*/
public void addClientHandler(String domain, ProviderEvent event, Consumer handler) {
- final String name = Optional.ofNullable(domain).orElse(defaultClientUuid);
+ final String name = Optional.ofNullable(domain).orElse(DEFAULT_CLIENT_UUID);
// lazily create and cache a HandlerStore if it doesn't exist
HandlerStore store = Optional.ofNullable(this.handlerStores.get(name)).orElseGet(() -> {
@@ -89,7 +85,7 @@ public void addClientHandler(String domain, ProviderEvent event, Consumer handler) {
- domain = Optional.ofNullable(domain).orElse(defaultClientUuid);
+ domain = Optional.ofNullable(domain).orElse(DEFAULT_CLIENT_UUID);
this.handlerStores.get(domain).removeHandler(event, handler);
}
@@ -160,14 +156,14 @@ public void shutdown() {
// instantiated when a handler is added to that client.
static class HandlerStore {
- private final Map>> handlerMap;
+ private final Map>> handlerMap;
HandlerStore() {
handlerMap = new ConcurrentHashMap<>();
- handlerMap.put(ProviderEvent.PROVIDER_READY, new ArrayList<>());
- handlerMap.put(ProviderEvent.PROVIDER_CONFIGURATION_CHANGED, new ArrayList<>());
- handlerMap.put(ProviderEvent.PROVIDER_ERROR, new ArrayList<>());
- handlerMap.put(ProviderEvent.PROVIDER_STALE, new ArrayList<>());
+ handlerMap.put(ProviderEvent.PROVIDER_READY, new ConcurrentLinkedQueue<>());
+ handlerMap.put(ProviderEvent.PROVIDER_CONFIGURATION_CHANGED, new ConcurrentLinkedQueue<>());
+ handlerMap.put(ProviderEvent.PROVIDER_ERROR, new ConcurrentLinkedQueue<>());
+ handlerMap.put(ProviderEvent.PROVIDER_STALE, new ConcurrentLinkedQueue<>());
}
void addHandler(ProviderEvent event, Consumer handler) {
diff --git a/src/test/java/dev/openfeature/sdk/AwaitableTest.java b/src/test/java/dev/openfeature/sdk/AwaitableTest.java
new file mode 100644
index 000000000..70ef7902c
--- /dev/null
+++ b/src/test/java/dev/openfeature/sdk/AwaitableTest.java
@@ -0,0 +1,75 @@
+package dev.openfeature.sdk;
+
+import static org.awaitility.Awaitility.await;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
+
+@Timeout(value = 5, threadMode = Timeout.ThreadMode.SEPARATE_THREAD)
+class AwaitableTest {
+ @Test
+ void waitingForFinishedIsANoOp() {
+ var startTime = System.currentTimeMillis();
+ Awaitable.FINISHED.await();
+ var endTime = System.currentTimeMillis();
+ assertTrue(endTime - startTime < 10);
+ }
+
+ @Test
+ void waitingForNotFinishedWaitsEvenWhenInterrupted() throws InterruptedException {
+ var awaitable = new Awaitable();
+ var mayProceed = new AtomicBoolean(false);
+
+ var thread = new Thread(() -> {
+ awaitable.await();
+ if (!mayProceed.get()) {
+ fail();
+ }
+ });
+ thread.start();
+
+ var startTime = System.currentTimeMillis();
+ do {
+ thread.interrupt();
+ } while (startTime + 1000 > System.currentTimeMillis());
+ mayProceed.set(true);
+ awaitable.wakeup();
+ thread.join();
+ }
+
+ @Test
+ void callingWakeUpWakesUpAllWaitingThreads() throws InterruptedException {
+ var awaitable = new Awaitable();
+ var isRunning = new AtomicInteger();
+
+ Runnable runnable = () -> {
+ isRunning.incrementAndGet();
+ var start = System.currentTimeMillis();
+ awaitable.await();
+ var end = System.currentTimeMillis();
+ if (end - start > 10) {
+ fail();
+ }
+ };
+
+ var numThreads = 2;
+ var threads = new Thread[numThreads];
+ for (int i = 0; i < numThreads; i++) {
+ threads[i] = new Thread(runnable);
+ threads[i].start();
+ }
+
+ await().atMost(1, TimeUnit.SECONDS).until(() -> isRunning.get() == numThreads);
+
+ awaitable.wakeup();
+
+ for (int i = 0; i < numThreads; i++) {
+ threads[i].join();
+ }
+ }
+}
diff --git a/src/test/java/dev/openfeature/sdk/DeveloperExperienceTest.java b/src/test/java/dev/openfeature/sdk/DeveloperExperienceTest.java
index 32fa605c2..c954c8b19 100644
--- a/src/test/java/dev/openfeature/sdk/DeveloperExperienceTest.java
+++ b/src/test/java/dev/openfeature/sdk/DeveloperExperienceTest.java
@@ -150,7 +150,7 @@ void shouldPutTheProviderInStateErrorAfterEmittingErrorEvent() {
api.setProviderAndWait(domain, provider);
Client client = api.getClient(domain);
assertThat(client.getProviderState()).isEqualTo(ProviderState.READY);
- provider.emitProviderError(ProviderEventDetails.builder().build());
+ provider.emitProviderError(ProviderEventDetails.builder().build()).await();
assertThat(client.getProviderState()).isEqualTo(ProviderState.ERROR);
}
@@ -165,7 +165,7 @@ void shouldPutTheProviderInStateStaleAfterEmittingStaleEvent() {
api.setProviderAndWait(domain, provider);
Client client = api.getClient(domain);
assertThat(client.getProviderState()).isEqualTo(ProviderState.READY);
- provider.emitProviderStale(ProviderEventDetails.builder().build());
+ provider.emitProviderStale(ProviderEventDetails.builder().build()).await();
assertThat(client.getProviderState()).isEqualTo(ProviderState.STALE);
}
@@ -180,9 +180,9 @@ void shouldPutTheProviderInStateReadyAfterEmittingReadyEvent() {
api.setProviderAndWait(domain, provider);
Client client = api.getClient(domain);
assertThat(client.getProviderState()).isEqualTo(ProviderState.READY);
- provider.emitProviderStale(ProviderEventDetails.builder().build());
+ provider.emitProviderStale(ProviderEventDetails.builder().build()).await();
assertThat(client.getProviderState()).isEqualTo(ProviderState.STALE);
- provider.emitProviderReady(ProviderEventDetails.builder().build());
+ provider.emitProviderReady(ProviderEventDetails.builder().build()).await();
assertThat(client.getProviderState()).isEqualTo(ProviderState.READY);
}
}
diff --git a/src/test/java/dev/openfeature/sdk/EventProviderTest.java b/src/test/java/dev/openfeature/sdk/EventProviderTest.java
index ebf8901cb..d04fa88d1 100644
--- a/src/test/java/dev/openfeature/sdk/EventProviderTest.java
+++ b/src/test/java/dev/openfeature/sdk/EventProviderTest.java
@@ -32,6 +32,7 @@ public static void resetDefaultProvider() {
}
@Test
+ @Timeout(value = 2, threadMode = Timeout.ThreadMode.SEPARATE_THREAD)
@DisplayName("should run attached onEmit with emitters")
void emitsEventsWhenAttached() {
TriConsumer onEmit = mockOnEmit();
diff --git a/src/test/java/dev/openfeature/sdk/EventsTest.java b/src/test/java/dev/openfeature/sdk/EventsTest.java
index 157c0bafe..b232f1177 100644
--- a/src/test/java/dev/openfeature/sdk/EventsTest.java
+++ b/src/test/java/dev/openfeature/sdk/EventsTest.java
@@ -24,7 +24,7 @@ class EventsTest {
private OpenFeatureAPI api;
@BeforeEach
- public void setUp() throws Exception {
+ void setUp() {
api = new OpenFeatureAPI();
}
@@ -578,7 +578,7 @@ void shouldHaveAllProperties() {
number = "5.3.3",
text = "Handlers attached after the provider is already in the associated state, MUST run immediately.")
void matchingReadyEventsMustRunImmediately() {
- final String name = "matchingEventsMustRunImmediately";
+ final String name = "matchingReadyEventsMustRunImmediately";
final Consumer handler = mockHandler();
// provider which is already ready
@@ -597,14 +597,14 @@ void matchingReadyEventsMustRunImmediately() {
number = "5.3.3",
text = "Handlers attached after the provider is already in the associated state, MUST run immediately.")
void matchingStaleEventsMustRunImmediately() {
- final String name = "matchingEventsMustRunImmediately";
+ final String name = "matchingStaleEventsMustRunImmediately";
final Consumer handler = mockHandler();
// provider which is already stale
TestEventsProvider provider = new TestEventsProvider(INIT_DELAY);
Client client = api.getClient(name);
api.setProviderAndWait(name, provider);
- provider.emitProviderStale(ProviderEventDetails.builder().build());
+ provider.emitProviderStale(ProviderEventDetails.builder().build()).await();
assertThat(client.getProviderState()).isEqualTo(ProviderState.STALE);
// should run even though handler was added after stale
@@ -618,14 +618,14 @@ void matchingStaleEventsMustRunImmediately() {
number = "5.3.3",
text = "Handlers attached after the provider is already in the associated state, MUST run immediately.")
void matchingErrorEventsMustRunImmediately() {
- final String name = "matchingEventsMustRunImmediately";
+ final String name = "matchingErrorEventsMustRunImmediately";
final Consumer handler = mockHandler();
// provider which is already in error
TestEventsProvider provider = new TestEventsProvider(INIT_DELAY);
Client client = api.getClient(name);
api.setProviderAndWait(name, provider);
- provider.emitProviderError(ProviderEventDetails.builder().build());
+ provider.emitProviderError(ProviderEventDetails.builder().build()).await();
assertThat(client.getProviderState()).isEqualTo(ProviderState.ERROR);
verify(handler, never()).accept(any());
diff --git a/src/test/java/dev/openfeature/sdk/providers/memory/InMemoryProviderTest.java b/src/test/java/dev/openfeature/sdk/providers/memory/InMemoryProviderTest.java
index 4d2a8b287..970495940 100644
--- a/src/test/java/dev/openfeature/sdk/providers/memory/InMemoryProviderTest.java
+++ b/src/test/java/dev/openfeature/sdk/providers/memory/InMemoryProviderTest.java
@@ -3,9 +3,14 @@
import static dev.openfeature.sdk.Structure.mapToStructure;
import static dev.openfeature.sdk.testutils.TestFlagsUtils.buildFlags;
import static org.awaitility.Awaitility.await;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.argThat;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
import com.google.common.collect.ImmutableMap;
import dev.openfeature.sdk.Client;
@@ -19,6 +24,7 @@
import dev.openfeature.sdk.exceptions.TypeMismatchError;
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
import lombok.SneakyThrows;
import org.junit.jupiter.api.BeforeEach;
@@ -34,10 +40,11 @@ class InMemoryProviderTest {
@SneakyThrows
@BeforeEach
void beforeEach() {
+ final var configChangedEventCounter = new AtomicInteger();
Map> flags = buildFlags();
provider = spy(new InMemoryProvider(flags));
api = OpenFeatureAPITestUtil.createAPI();
- api.onProviderConfigurationChanged(eventDetails -> {});
+ api.onProviderConfigurationChanged(eventDetails -> configChangedEventCounter.incrementAndGet());
api.setProviderAndWait(provider);
client = api.getClient();
provider.updateFlags(flags);
@@ -48,6 +55,11 @@ void beforeEach() {
.variant("off", false)
.defaultVariant("on")
.build());
+
+ // wait for the two config changed events to be fired, otherwise they could mess with our tests
+ while (configChangedEventCounter.get() < 2) {
+ Thread.sleep(1);
+ }
}
@Test
From 0b57bcafc14b946000feb4a3421d73b9616e83cb Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 11 Jun 2025 21:43:28 +0000
Subject: [PATCH 150/169] chore(deps): update github/codeql-action digest to
466d6ce (#1477)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index e3b4f4aca..5537d253f 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@7cb9b16051842e6c23c8b9fbcf92481f92d0644a
+ uses: github/codeql-action/init@466d6ce58447f9589003cca18ec288b128465541
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@7cb9b16051842e6c23c8b9fbcf92481f92d0644a
+ uses: github/codeql-action/analyze@466d6ce58447f9589003cca18ec288b128465541
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 55764e9bf..e3f9d39ca 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@7cb9b16051842e6c23c8b9fbcf92481f92d0644a
+ uses: github/codeql-action/init@466d6ce58447f9589003cca18ec288b128465541
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@7cb9b16051842e6c23c8b9fbcf92481f92d0644a
+ uses: github/codeql-action/autobuild@466d6ce58447f9589003cca18ec288b128465541
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@7cb9b16051842e6c23c8b9fbcf92481f92d0644a
+ uses: github/codeql-action/analyze@466d6ce58447f9589003cca18ec288b128465541
From 844d5e244b02703b624cf75e5bf8448c07e62d3d Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 13 Jun 2025 18:52:24 +0000
Subject: [PATCH 151/169] chore(deps): update github/codeql-action digest to
be30325 (#1479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 5537d253f..5dfbb656f 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@466d6ce58447f9589003cca18ec288b128465541
+ uses: github/codeql-action/init@be30325fa679497c9a67f006166793cfa1d5840d
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@466d6ce58447f9589003cca18ec288b128465541
+ uses: github/codeql-action/analyze@be30325fa679497c9a67f006166793cfa1d5840d
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index e3f9d39ca..d0f39dafc 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@466d6ce58447f9589003cca18ec288b128465541
+ uses: github/codeql-action/init@be30325fa679497c9a67f006166793cfa1d5840d
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@466d6ce58447f9589003cca18ec288b128465541
+ uses: github/codeql-action/autobuild@be30325fa679497c9a67f006166793cfa1d5840d
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@466d6ce58447f9589003cca18ec288b128465541
+ uses: github/codeql-action/analyze@be30325fa679497c9a67f006166793cfa1d5840d
From 8e51e6fe101882184a5d09be31fa65563d82c673 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 16 Jun 2025 18:37:11 +0200
Subject: [PATCH 152/169] chore(deps): update dependency
net.bytebuddy:byte-buddy to v1.17.6 (#1482)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 4f36c2689..664210c66 100644
--- a/pom.xml
+++ b/pom.xml
@@ -179,7 +179,7 @@
net.bytebuddy
byte-buddy
- 1.17.5
+ 1.17.6
test
From 99a3006de878ab0ba1f0e61a4cb5432914425795 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 16 Jun 2025 16:44:00 +0000
Subject: [PATCH 153/169] chore(deps): update github/codeql-action digest to
3de706a (#1481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 5dfbb656f..53d32e03f 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@be30325fa679497c9a67f006166793cfa1d5840d
+ uses: github/codeql-action/init@3de706a4a34b7e2fe37e4a10aecbdd3ec5dc0664
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@be30325fa679497c9a67f006166793cfa1d5840d
+ uses: github/codeql-action/analyze@3de706a4a34b7e2fe37e4a10aecbdd3ec5dc0664
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index d0f39dafc..b90bb964b 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@be30325fa679497c9a67f006166793cfa1d5840d
+ uses: github/codeql-action/init@3de706a4a34b7e2fe37e4a10aecbdd3ec5dc0664
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@be30325fa679497c9a67f006166793cfa1d5840d
+ uses: github/codeql-action/autobuild@3de706a4a34b7e2fe37e4a10aecbdd3ec5dc0664
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@be30325fa679497c9a67f006166793cfa1d5840d
+ uses: github/codeql-action/analyze@3de706a4a34b7e2fe37e4a10aecbdd3ec5dc0664
From 936ff60fac471a83a7c14412d2e825b2a7f9704c Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 16 Jun 2025 16:50:34 +0000
Subject: [PATCH 154/169] chore(deps): update dependency
net.bytebuddy:byte-buddy-agent to v1.17.6 (#1483)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 664210c66..e7b875bfc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -186,7 +186,7 @@
net.bytebuddy
byte-buddy-agent
- 1.17.5
+ 1.17.6
test
From 8bf777a7e99be4dfac8917b8e61cb6c23385b8ce Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 17 Jun 2025 04:48:36 +0000
Subject: [PATCH 155/169] chore(deps): update github/codeql-action digest to
ef36b69 (#1484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 53d32e03f..440023909 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@3de706a4a34b7e2fe37e4a10aecbdd3ec5dc0664
+ uses: github/codeql-action/init@ef36b69c6d7c22bd9d0183f534d82d47639dc745
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@3de706a4a34b7e2fe37e4a10aecbdd3ec5dc0664
+ uses: github/codeql-action/analyze@ef36b69c6d7c22bd9d0183f534d82d47639dc745
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index b90bb964b..d914fe240 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@3de706a4a34b7e2fe37e4a10aecbdd3ec5dc0664
+ uses: github/codeql-action/init@ef36b69c6d7c22bd9d0183f534d82d47639dc745
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@3de706a4a34b7e2fe37e4a10aecbdd3ec5dc0664
+ uses: github/codeql-action/autobuild@ef36b69c6d7c22bd9d0183f534d82d47639dc745
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@3de706a4a34b7e2fe37e4a10aecbdd3ec5dc0664
+ uses: github/codeql-action/analyze@ef36b69c6d7c22bd9d0183f534d82d47639dc745
From 7c2af57a362ee11f757a431ee17eff3ee448bf6c Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 17 Jun 2025 20:05:59 +0000
Subject: [PATCH 156/169] chore(deps): update actions/cache digest to 640a1c2
(#1485)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/merge.yml | 2 +-
.github/workflows/pullrequest.yml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml
index 77a649385..6e50995a9 100644
--- a/.github/workflows/merge.yml
+++ b/.github/workflows/merge.yml
@@ -33,7 +33,7 @@ jobs:
server-password: ${{ secrets.OSSRH_PASSWORD }}
- name: Cache local Maven repository
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684
+ uses: actions/cache@640a1c2554105b57832a23eea0b4672fc7a790d5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-17-maven-${{ hashFiles('**/pom.xml') }}
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 440023909..6ad2a03e2 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -34,7 +34,7 @@ jobs:
languages: java
- name: Cache local Maven repository
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684
+ uses: actions/cache@640a1c2554105b57832a23eea0b4672fc7a790d5
with:
path: ~/.m2/repository
key: ${{ runner.os }}${{ matrix.build.java }}-maven-${{ hashFiles('**/pom.xml') }}
From c3eaecdb8b34d3b33946bd205ee92d49584602bd Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 20 Jun 2025 01:25:24 +0000
Subject: [PATCH 157/169] chore(deps): update github/codeql-action digest to
66d7255 (#1487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 6ad2a03e2..3ac011ce5 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@ef36b69c6d7c22bd9d0183f534d82d47639dc745
+ uses: github/codeql-action/init@66d72553a22659994d73473ae27a699b25587b48
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@ef36b69c6d7c22bd9d0183f534d82d47639dc745
+ uses: github/codeql-action/analyze@66d72553a22659994d73473ae27a699b25587b48
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index d914fe240..478a26250 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@ef36b69c6d7c22bd9d0183f534d82d47639dc745
+ uses: github/codeql-action/init@66d72553a22659994d73473ae27a699b25587b48
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@ef36b69c6d7c22bd9d0183f534d82d47639dc745
+ uses: github/codeql-action/autobuild@66d72553a22659994d73473ae27a699b25587b48
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@ef36b69c6d7c22bd9d0183f534d82d47639dc745
+ uses: github/codeql-action/analyze@66d72553a22659994d73473ae27a699b25587b48
From 8fad544b17ee08b4280d7975073d00a874c374db Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 20 Jun 2025 19:08:37 +0000
Subject: [PATCH 158/169] chore(deps): update github/codeql-action digest to
ac30a39 (#1488)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 3ac011ce5..7622ecef2 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@66d72553a22659994d73473ae27a699b25587b48
+ uses: github/codeql-action/init@ac30a39d8c6142a41d62949496fef51750e6f1bf
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@66d72553a22659994d73473ae27a699b25587b48
+ uses: github/codeql-action/analyze@ac30a39d8c6142a41d62949496fef51750e6f1bf
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 478a26250..08811ea73 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@66d72553a22659994d73473ae27a699b25587b48
+ uses: github/codeql-action/init@ac30a39d8c6142a41d62949496fef51750e6f1bf
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@66d72553a22659994d73473ae27a699b25587b48
+ uses: github/codeql-action/autobuild@ac30a39d8c6142a41d62949496fef51750e6f1bf
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@66d72553a22659994d73473ae27a699b25587b48
+ uses: github/codeql-action/analyze@ac30a39d8c6142a41d62949496fef51750e6f1bf
From 312b6df5d2c891ac758bf398f8399ecd25b7597e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 21 Jun 2025 21:10:50 +0000
Subject: [PATCH 159/169] chore(deps): update dependency
com.puppycrawl.tools:checkstyle to v10.25.1 (#1489)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index e7b875bfc..67b4c5722 100644
--- a/pom.xml
+++ b/pom.xml
@@ -447,7 +447,7 @@
com.puppycrawl.tools
checkstyle
- 10.25.0
+ 10.25.1
From e67f5983573afff805a56ef18584d1a7291ccafc Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 23 Jun 2025 22:42:58 +0000
Subject: [PATCH 160/169] chore(deps): update actions/setup-java digest to
ebb356c (#1490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/merge.yml | 2 +-
.github/workflows/pullrequest.yml | 2 +-
.github/workflows/release.yml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml
index 6e50995a9..37295eb31 100644
--- a/.github/workflows/merge.yml
+++ b/.github/workflows/merge.yml
@@ -23,7 +23,7 @@ jobs:
steps:
- uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
- name: Set up JDK 17
- uses: actions/setup-java@f4f1212c880fdec8162ea9a6493f4495191887b4
+ uses: actions/setup-java@ebb356cc4e59bcf94f518203228485f5d40e4b58
with:
java-version: '17'
distribution: 'temurin'
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 7622ecef2..8defbae23 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -22,7 +22,7 @@ jobs:
uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
- name: Set up JDK 11
- uses: actions/setup-java@f4f1212c880fdec8162ea9a6493f4495191887b4
+ uses: actions/setup-java@ebb356cc4e59bcf94f518203228485f5d40e4b58
with:
java-version: ${{ matrix.build.java }}
distribution: 'temurin'
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 61df7d93e..53141b448 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -40,7 +40,7 @@ jobs:
uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
- name: Set up JDK 17
- uses: actions/setup-java@f4f1212c880fdec8162ea9a6493f4495191887b4
+ uses: actions/setup-java@ebb356cc4e59bcf94f518203228485f5d40e4b58
with:
java-version: '17'
distribution: 'temurin'
From 6f67b06f712c461f331681a76f5cb2c3ddb0d36b Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 24 Jun 2025 20:50:48 +0000
Subject: [PATCH 161/169] chore(deps): update github/codeql-action digest to
9b02dc2 (#1491)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 8defbae23..61ab2e54c 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@ac30a39d8c6142a41d62949496fef51750e6f1bf
+ uses: github/codeql-action/init@9b02dc2f60288b463e7a66e39c78829b62780db7
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@ac30a39d8c6142a41d62949496fef51750e6f1bf
+ uses: github/codeql-action/analyze@9b02dc2f60288b463e7a66e39c78829b62780db7
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 08811ea73..7d113656c 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@ac30a39d8c6142a41d62949496fef51750e6f1bf
+ uses: github/codeql-action/init@9b02dc2f60288b463e7a66e39c78829b62780db7
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@ac30a39d8c6142a41d62949496fef51750e6f1bf
+ uses: github/codeql-action/autobuild@9b02dc2f60288b463e7a66e39c78829b62780db7
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@ac30a39d8c6142a41d62949496fef51750e6f1bf
+ uses: github/codeql-action/analyze@9b02dc2f60288b463e7a66e39c78829b62780db7
From b64efe82d993defe070dfeb9aa60e740ccf757cd Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 25 Jun 2025 02:49:37 +0000
Subject: [PATCH 162/169] chore(deps): update dependency
com.github.spotbugs:spotbugs-maven-plugin to v4.9.3.1 (#1493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 67b4c5722..e8c280551 100644
--- a/pom.xml
+++ b/pom.xml
@@ -403,7 +403,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.9.3.0
+ 4.9.3.1
spotbugs-exclusions.xml
From 300a705e0af959da7ed0e88e9975379ff6fc4138 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 25 Jun 2025 08:32:52 +0200
Subject: [PATCH 163/169] chore(deps): update dependency
com.puppycrawl.tools:checkstyle to v10.26.0 (#1494)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index e8c280551..66443a758 100644
--- a/pom.xml
+++ b/pom.xml
@@ -447,7 +447,7 @@
com.puppycrawl.tools
checkstyle
- 10.25.1
+ 10.26.0
From 34b22e8d93a986fdb81500ab539b4d2fe038b618 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 25 Jun 2025 06:40:04 +0000
Subject: [PATCH 164/169] fix(deps): update dependency org.junit:junit-bom to
v5.13.2 (#1492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 66443a758..19740e671 100644
--- a/pom.xml
+++ b/pom.xml
@@ -202,7 +202,7 @@
org.junit
junit-bom
- 5.13.1
+ 5.13.2
pom
import
From 86a5916f0dc6116b5b9e5dc897ff4b8705ac01e3 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 26 Jun 2025 14:54:48 +0200
Subject: [PATCH 165/169] chore(deps): update github/codeql-action digest to
8ef1782 (#1495)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 61ab2e54c..d6a3d81fd 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@9b02dc2f60288b463e7a66e39c78829b62780db7
+ uses: github/codeql-action/init@8ef17824cfb2a3f40cbc7f41bac7e055e53b8164
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@9b02dc2f60288b463e7a66e39c78829b62780db7
+ uses: github/codeql-action/analyze@8ef17824cfb2a3f40cbc7f41bac7e055e53b8164
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 7d113656c..bb4bc312e 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@9b02dc2f60288b463e7a66e39c78829b62780db7
+ uses: github/codeql-action/init@8ef17824cfb2a3f40cbc7f41bac7e055e53b8164
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@9b02dc2f60288b463e7a66e39c78829b62780db7
+ uses: github/codeql-action/autobuild@8ef17824cfb2a3f40cbc7f41bac7e055e53b8164
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@9b02dc2f60288b463e7a66e39c78829b62780db7
+ uses: github/codeql-action/analyze@8ef17824cfb2a3f40cbc7f41bac7e055e53b8164
From fc430c3e1d57a532d8c0c879c3e7e25c46d4ad84 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 27 Jun 2025 07:35:50 +0200
Subject: [PATCH 166/169] chore(deps): update dependency
com.github.spotbugs:spotbugs-maven-plugin to v4.9.3.2 (#1496)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 19740e671..0da829ac5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -403,7 +403,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.9.3.1
+ 4.9.3.2
spotbugs-exclusions.xml
From 49214b7282ddde1ee16cf80f92c11cc90ef7612a Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 27 Jun 2025 23:59:31 +0000
Subject: [PATCH 167/169] chore(deps): update github/codeql-action digest to
4c57370 (#1497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index d6a3d81fd..46af658f1 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@8ef17824cfb2a3f40cbc7f41bac7e055e53b8164
+ uses: github/codeql-action/init@4c57370d0304fbff638216539f81d9163f77712a
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@8ef17824cfb2a3f40cbc7f41bac7e055e53b8164
+ uses: github/codeql-action/analyze@4c57370d0304fbff638216539f81d9163f77712a
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index bb4bc312e..8a8f26944 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@8ef17824cfb2a3f40cbc7f41bac7e055e53b8164
+ uses: github/codeql-action/init@4c57370d0304fbff638216539f81d9163f77712a
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@8ef17824cfb2a3f40cbc7f41bac7e055e53b8164
+ uses: github/codeql-action/autobuild@4c57370d0304fbff638216539f81d9163f77712a
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@8ef17824cfb2a3f40cbc7f41bac7e055e53b8164
+ uses: github/codeql-action/analyze@4c57370d0304fbff638216539f81d9163f77712a
From 2e3b479cb1e8b0b65652ee813eaa2e1940d53c8e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 30 Jun 2025 01:58:05 +0000
Subject: [PATCH 168/169] chore(deps): update dependency
com.puppycrawl.tools:checkstyle to v10.26.1 (#1498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 0da829ac5..433487606 100644
--- a/pom.xml
+++ b/pom.xml
@@ -447,7 +447,7 @@
com.puppycrawl.tools
checkstyle
- 10.26.0
+ 10.26.1
From 69519b1ef7274ceae39d6746c5a5a98dc69f562f Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 30 Jun 2025 20:37:12 +0000
Subject: [PATCH 169/169] chore(deps): update github/codeql-action digest to
dcc1a66 (#1499)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/pullrequest.yml | 4 ++--
.github/workflows/static-code-scanning.yaml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 46af658f1..89def2ed2 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -29,7 +29,7 @@ jobs:
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@4c57370d0304fbff638216539f81d9163f77712a
+ uses: github/codeql-action/init@dcc1a6637b570d406bec5125dce2e2157d914359
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@4c57370d0304fbff638216539f81d9163f77712a
+ uses: github/codeql-action/analyze@dcc1a6637b570d406bec5125dce2e2157d914359
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index 8a8f26944..ca875406d 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -33,12 +33,12 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@4c57370d0304fbff638216539f81d9163f77712a
+ uses: github/codeql-action/init@dcc1a6637b570d406bec5125dce2e2157d914359
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@4c57370d0304fbff638216539f81d9163f77712a
+ uses: github/codeql-action/autobuild@dcc1a6637b570d406bec5125dce2e2157d914359
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@4c57370d0304fbff638216539f81d9163f77712a
+ uses: github/codeql-action/analyze@dcc1a6637b570d406bec5125dce2e2157d914359