diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml
index ccf09bac5..847f26671 100644
--- a/.github/workflows/merge.yml
+++ b/.github/workflows/merge.yml
@@ -21,9 +21,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
+ - uses: actions/checkout@8edcb1bdb4e267140fa742c62e395cd74f332709
- name: Set up JDK 17
- uses: actions/setup-java@67aec007b3fcabe15ca665bfccc1e255dd52e30d
+ uses: actions/setup-java@e9343db97e09d87a3c50e544105d99fe912c204b
with:
java-version: '17'
distribution: 'temurin'
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 00cf0a525..d50d446ca 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -19,17 +19,17 @@ jobs:
runs-on: ${{ matrix.os}}
steps:
- name: Check out the code
- uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
+ uses: actions/checkout@8edcb1bdb4e267140fa742c62e395cd74f332709
- name: Set up JDK 11
- uses: actions/setup-java@67aec007b3fcabe15ca665bfccc1e255dd52e30d
+ uses: actions/setup-java@e9343db97e09d87a3c50e544105d99fe912c204b
with:
java-version: ${{ matrix.build.java }}
distribution: 'temurin'
cache: maven
- name: Initialize CodeQL
- uses: github/codeql-action/init@b69421388d5449cc5a5e1ca344d71926bda69e07
+ uses: github/codeql-action/init@7273f08caa1dcf2c2837f362f1982de0ab4dc344
with:
languages: java
@@ -55,4 +55,4 @@ jobs:
verbose: true # optional (default = false)
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@b69421388d5449cc5a5e1ca344d71926bda69e07
+ uses: github/codeql-action/analyze@7273f08caa1dcf2c2837f362f1982de0ab4dc344
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index fcdee10f2..347cad75d 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -37,10 +37,10 @@ jobs:
steps:
- name: Checkout Repository
- uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
+ uses: actions/checkout@8edcb1bdb4e267140fa742c62e395cd74f332709
- name: Set up JDK 17
- uses: actions/setup-java@67aec007b3fcabe15ca665bfccc1e255dd52e30d
+ uses: actions/setup-java@e9343db97e09d87a3c50e544105d99fe912c204b
with:
java-version: '17'
distribution: 'temurin'
diff --git a/.github/workflows/static-code-scanning.yaml b/.github/workflows/static-code-scanning.yaml
index c210033e4..882a47478 100644
--- a/.github/workflows/static-code-scanning.yaml
+++ b/.github/workflows/static-code-scanning.yaml
@@ -29,16 +29,16 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
+ uses: actions/checkout@8edcb1bdb4e267140fa742c62e395cd74f332709
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@b69421388d5449cc5a5e1ca344d71926bda69e07
+ uses: github/codeql-action/init@7273f08caa1dcf2c2837f362f1982de0ab4dc344
with:
languages: java
- name: Autobuild
- uses: github/codeql-action/autobuild@b69421388d5449cc5a5e1ca344d71926bda69e07
+ uses: github/codeql-action/autobuild@7273f08caa1dcf2c2837f362f1982de0ab4dc344
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@b69421388d5449cc5a5e1ca344d71926bda69e07
+ uses: github/codeql-action/analyze@7273f08caa1dcf2c2837f362f1982de0ab4dc344
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index 2f94e6169..12fbe1e90 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.10/apache-maven-3.9.10-bin.zip
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 8997e1812..f5c3b938e 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1 +1 @@
-{".":"1.16.0"}
+{".":"1.17.0"}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2529b1871..5513f0e55 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,46 @@
# Changelog
+## [1.17.0](https://github.com/open-feature/java-sdk/compare/v1.16.0...v1.17.0) (2025-08-01)
+
+
+### ๐ Bug Fixes
+
+* **deps:** update dependency io.cucumber:cucumber-bom to v7.24.0 ([#1510](https://github.com/open-feature/java-sdk/issues/1510)) ([4881966](https://github.com/open-feature/java-sdk/commit/488196656ad0fbca5211e270bfc55e3d83fa9a2f))
+* **deps:** update dependency io.cucumber:cucumber-bom to v7.25.0 ([#1514](https://github.com/open-feature/java-sdk/issues/1514)) ([bf68cbd](https://github.com/open-feature/java-sdk/commit/bf68cbdedf6ce7218fadfe3a39df38019da8bcbb))
+* **deps:** update dependency io.cucumber:cucumber-bom to v7.26.0 ([#1516](https://github.com/open-feature/java-sdk/issues/1516)) ([1d3fab6](https://github.com/open-feature/java-sdk/commit/1d3fab6184b4ba45b3e4cee420e24be722c76946))
+* **deps:** update dependency io.cucumber:cucumber-bom to v7.27.0 ([#1530](https://github.com/open-feature/java-sdk/issues/1530)) ([c06d6d5](https://github.com/open-feature/java-sdk/commit/c06d6d588d529ae52d763a8dcf414b7aa1025d81))
+* **deps:** update dependency org.junit:junit-bom to v5.13.4 ([#1524](https://github.com/open-feature/java-sdk/issues/1524)) ([db47b7e](https://github.com/open-feature/java-sdk/commit/db47b7e8233970b0bf37dbb5679227d1917e15b7))
+
+
+### โจ New Features
+
+* Allow Access to ImmutableMetadata Map as unmodifiable Map ([#1534](https://github.com/open-feature/java-sdk/issues/1534)) ([09e3c3f](https://github.com/open-feature/java-sdk/commit/09e3c3faf8fe6c3e8c4d46c6fa3e3a7a2dd8f146))
+
+
+### ๐งน Chore
+
+* **deps:** update actions/checkout digest to 8edcb1b ([#1529](https://github.com/open-feature/java-sdk/issues/1529)) ([074a5ec](https://github.com/open-feature/java-sdk/commit/074a5ec52d7591e5b06801782415d1f2c930086e))
+* **deps:** update actions/setup-java digest to ae2b61d ([#1518](https://github.com/open-feature/java-sdk/issues/1518)) ([1382b36](https://github.com/open-feature/java-sdk/commit/1382b367d934feaa5effe851f8b03b02bb2482c1))
+* **deps:** update actions/setup-java digest to c190c18 ([#1508](https://github.com/open-feature/java-sdk/issues/1508)) ([908755c](https://github.com/open-feature/java-sdk/commit/908755c2c2e3abcef84f29728fd19092a9d66646))
+* **deps:** update actions/setup-java digest to e9343db ([#1535](https://github.com/open-feature/java-sdk/issues/1535)) ([7cca589](https://github.com/open-feature/java-sdk/commit/7cca589a7e2de6f3a9ec2d803dd9564205af722a))
+* **deps:** update dependency com.diffplug.spotless:spotless-maven-plugin to v2.45.0 ([#1509](https://github.com/open-feature/java-sdk/issues/1509)) ([62738f7](https://github.com/open-feature/java-sdk/commit/62738f7f16b783eabb7325bed3ac26be086b35e4))
+* **deps:** update dependency com.diffplug.spotless:spotless-maven-plugin to v2.46.0 ([#1522](https://github.com/open-feature/java-sdk/issues/1522)) ([844f6df](https://github.com/open-feature/java-sdk/commit/844f6df33542b927d38627f9a8ee5f9371e47aca))
+* **deps:** update dependency com.diffplug.spotless:spotless-maven-plugin to v2.46.1 ([#1526](https://github.com/open-feature/java-sdk/issues/1526)) ([91e451b](https://github.com/open-feature/java-sdk/commit/91e451b29b10031a9697156194af1d209ee5fec6))
+* **deps:** update dependency com.google.guava:guava to v33.4.8-jre ([#1382](https://github.com/open-feature/java-sdk/issues/1382)) ([1e8f5c8](https://github.com/open-feature/java-sdk/commit/1e8f5c880c1a0e8f0ccaa7c4b7452a051973f2b6))
+* **deps:** update dependency maven to v3.9.11 ([#1519](https://github.com/open-feature/java-sdk/issues/1519)) ([cbf7a58](https://github.com/open-feature/java-sdk/commit/cbf7a5862286dc36023095208c3e865b058dacb0))
+* **deps:** update github/codeql-action digest to 03a2a17 ([#1520](https://github.com/open-feature/java-sdk/issues/1520)) ([ecc8f7e](https://github.com/open-feature/java-sdk/commit/ecc8f7e3ade314c050c67710ae96a182534b9692))
+* **deps:** update github/codeql-action digest to 0d17ea4 ([#1517](https://github.com/open-feature/java-sdk/issues/1517)) ([5b3e365](https://github.com/open-feature/java-sdk/commit/5b3e3656f6efad1f9020937bc3ea18078c4defc8))
+* **deps:** update github/codeql-action digest to 624d0bc ([#1507](https://github.com/open-feature/java-sdk/issues/1507)) ([26716a5](https://github.com/open-feature/java-sdk/commit/26716a51cfc720bdb294b50ff3759f8ae41fe410))
+* **deps:** update github/codeql-action digest to 6f936b5 ([#1515](https://github.com/open-feature/java-sdk/issues/1515)) ([006ae75](https://github.com/open-feature/java-sdk/commit/006ae75e2b1c745476dfda35113a06fc7fbceafb))
+* **deps:** update github/codeql-action digest to 701df0e ([#1528](https://github.com/open-feature/java-sdk/issues/1528)) ([b5e335c](https://github.com/open-feature/java-sdk/commit/b5e335c3ee7865f26bcd688953204280affe2834))
+* **deps:** update github/codeql-action digest to 7273f08 ([#1537](https://github.com/open-feature/java-sdk/issues/1537)) ([4addf64](https://github.com/open-feature/java-sdk/commit/4addf6458dacbc00bb599a758d87478e6d97d369))
+* **deps:** update github/codeql-action digest to 76bf77d ([#1527](https://github.com/open-feature/java-sdk/issues/1527)) ([c05757e](https://github.com/open-feature/java-sdk/commit/c05757e4895253053e49982dbe8f16ef501fd038))
+* **deps:** update github/codeql-action digest to 7710ed1 ([#1521](https://github.com/open-feature/java-sdk/issues/1521)) ([ac3344c](https://github.com/open-feature/java-sdk/commit/ac3344c7f6293ac72523a5d0c5e61d4304c0a8b1))
+* **deps:** update github/codeql-action digest to acdac9e ([#1531](https://github.com/open-feature/java-sdk/issues/1531)) ([15aaf58](https://github.com/open-feature/java-sdk/commit/15aaf5800f0fb2b8d22415fa5d9b61dacc651932))
+* **deps:** update github/codeql-action digest to b9b3b12 ([#1533](https://github.com/open-feature/java-sdk/issues/1533)) ([477d7ce](https://github.com/open-feature/java-sdk/commit/477d7ce752ecbc5b3ad13753888d5ee6b650c390))
+* **deps:** update github/codeql-action digest to eefe1b5 ([#1523](https://github.com/open-feature/java-sdk/issues/1523)) ([66215ef](https://github.com/open-feature/java-sdk/commit/66215efaf3a18eeeb4c244775d6a72725a274097))
+* **deps:** update github/codeql-action digest to f53ec7c ([#1512](https://github.com/open-feature/java-sdk/issues/1512)) ([aa05693](https://github.com/open-feature/java-sdk/commit/aa0569379bd85d11a5f91bd1078cd9f2b3b311b4))
+
## [1.16.0](https://github.com/open-feature/java-sdk/compare/v1.15.1...v1.16.0) (2025-07-07)
diff --git a/README.md b/README.md
index 279efba7c..24bae2a3c 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.16.0
+ 1.17.0
```
@@ -84,7 +84,7 @@ If you would like snapshot builds, this is the relevant repository information:
```groovy
dependencies {
- implementation 'dev.openfeature:sdk:1.16.0'
+ implementation 'dev.openfeature:sdk:1.17.0'
}
```
diff --git a/pom.xml b/pom.xml
index 569ca9cd6..1c9c8fa05 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
dev.openfeature
sdk
- 1.16.0
+ 1.17.0
[17,)
@@ -150,7 +150,7 @@
com.google.guava
guava
- 33.4.0-jre
+ 33.4.8-jre
test
@@ -194,7 +194,7 @@
io.cucumber
cucumber-bom
- 7.23.0
+ 7.27.0
pom
import
@@ -202,7 +202,7 @@
org.junit
junit-bom
- 5.13.3
+ 5.13.4
pom
import
@@ -463,7 +463,7 @@
com.diffplug.spotless
spotless-maven-plugin
- 2.44.5
+ 2.46.1
diff --git a/src/main/java/dev/openfeature/sdk/ImmutableMetadata.java b/src/main/java/dev/openfeature/sdk/ImmutableMetadata.java
index 7f57a174d..f6c1d742e 100644
--- a/src/main/java/dev/openfeature/sdk/ImmutableMetadata.java
+++ b/src/main/java/dev/openfeature/sdk/ImmutableMetadata.java
@@ -1,5 +1,6 @@
package dev.openfeature.sdk;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import lombok.EqualsAndHashCode;
@@ -97,6 +98,10 @@ public T getValue(final String key, final Class type) {
}
}
+ public Map asUnmodifiableMap() {
+ return Collections.unmodifiableMap(metadata);
+ }
+
public boolean isEmpty() {
return metadata.isEmpty();
}
diff --git a/src/test/java/dev/openfeature/sdk/ImmutableMetadataTest.java b/src/test/java/dev/openfeature/sdk/ImmutableMetadataTest.java
index e3bd03165..108fac0fe 100644
--- a/src/test/java/dev/openfeature/sdk/ImmutableMetadataTest.java
+++ b/src/test/java/dev/openfeature/sdk/ImmutableMetadataTest.java
@@ -3,6 +3,8 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import java.util.Map;
+import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
class ImmutableMetadataTest {
@@ -25,4 +27,15 @@ void equalImmutableMetadataAreEqual() {
assertEquals(i1, i2);
}
+
+ @Test
+ void retrieveAsUnmodifiableMap() {
+ ImmutableMetadata metadata =
+ ImmutableMetadata.builder().addString("key1", "value1").build();
+
+ Map unmodifiableMap = metadata.asUnmodifiableMap();
+ assertEquals(unmodifiableMap.size(), 1);
+ assertEquals(unmodifiableMap.get("key1"), "value1");
+ Assertions.assertThrows(UnsupportedOperationException.class, () -> unmodifiableMap.put("key3", "value3"));
+ }
}
diff --git a/version.txt b/version.txt
index 15b989e39..092afa15d 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-1.16.0
+1.17.0