From b280ddb587ecd398d3b8f2d3fbf4dc75361e6c17 Mon Sep 17 00:00:00 2001 From: marcozabel Date: Thu, 29 Jan 2026 12:21:01 +0100 Subject: [PATCH 1/7] feat: Make defaultVariant and value optional Signed-off-by: marcozabel --- gherkin/evaluation.feature | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gherkin/evaluation.feature b/gherkin/evaluation.feature index d44a20c..e290421 100644 --- a/gherkin/evaluation.feature +++ b/gherkin/evaluation.feature @@ -77,10 +77,10 @@ Feature: flagd evaluations # This may be handled more gracefully in the future. Examples: | key | type | email | default | resolved_value | reason | error_code | - | null-default-flag | Boolean | | true | true | ERROR | FLAG_NOT_FOUND | - | null-default-flag | Boolean | | false | false | ERROR | FLAG_NOT_FOUND | - | undefined-default-flag | Integer | | 100 | 100 | ERROR | FLAG_NOT_FOUND | - | no-default-flag-null-targeting-variant | String | wozniak@orange.com | Inventor | Inventor | ERROR | FLAG_NOT_FOUND | - | no-default-flag-null-targeting-variant | String | wozniak@orange.com | Founder | Founder | ERROR | FLAG_NOT_FOUND | + | null-default-flag | Boolean | | | | DEFAULT | | + | null-default-flag | Boolean | | | | DEFAULT | | + | undefined-default-flag | Integer | | | | DEFAULT | | + | no-default-flag-null-targeting-variant | String | wozniak@orange.com | | | DEFAULT | | + | no-default-flag-null-targeting-variant | String | wozniak@orange.com | | | DEFAULT | | | no-default-flag-null-targeting-variant | String | jobs@orange.com | CEO | CEO | TARGETING_MATCH | | - | no-default-flag-undefined-targeting-variant | String | wozniak@orange.com | Retired | Retired | ERROR | FLAG_NOT_FOUND | + | no-default-flag-undefined-targeting-variant | String | wozniak@orange.com | | | DEFAULT | | From 0e92e8be6e35e3451fa27ff0207e2702ce02459b Mon Sep 17 00:00:00 2001 From: marcozabel Date: Mon, 2 Feb 2026 17:07:39 +0100 Subject: [PATCH 2/7] fix: readd code default values Signed-off-by: marcozabel --- gherkin/evaluation.feature | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/gherkin/evaluation.feature b/gherkin/evaluation.feature index e290421..164b87e 100644 --- a/gherkin/evaluation.feature +++ b/gherkin/evaluation.feature @@ -71,16 +71,15 @@ Feature: flagd evaluations When the flag was evaluated with details Then the resolved details value should be "" And the reason should be "" - And the error-code should be "" # For now, no defaultValue is resolved as FLAG_NOT_FOUND to result in a code default. # This may be handled more gracefully in the future. Examples: - | key | type | email | default | resolved_value | reason | error_code | - | null-default-flag | Boolean | | | | DEFAULT | | - | null-default-flag | Boolean | | | | DEFAULT | | - | undefined-default-flag | Integer | | | | DEFAULT | | - | no-default-flag-null-targeting-variant | String | wozniak@orange.com | | | DEFAULT | | - | no-default-flag-null-targeting-variant | String | wozniak@orange.com | | | DEFAULT | | - | no-default-flag-null-targeting-variant | String | jobs@orange.com | CEO | CEO | TARGETING_MATCH | | - | no-default-flag-undefined-targeting-variant | String | wozniak@orange.com | | | DEFAULT | | + | key | type | email | code_default | resolved_value | reason | + | null-default-flag | Boolean | | true | true | DEFAULT | + | null-default-flag | Boolean | | false | false | DEFAULT | + | undefined-default-flag | Integer | | 100 | 100 | DEFAULT | + | no-default-flag-null-targeting-variant | String | wozniak@orange.com | Inventor | Inventor | DEFAULT | + | no-default-flag-null-targeting-variant | String | wozniak@orange.com | Founder | Founder | DEFAULT | + | no-default-flag-null-targeting-variant | String | jobs@orange.com | CEO | CEO | TARGETING_MATCH | + | no-default-flag-undefined-targeting-variant | String | wozniak@orange.com | Retired | Retired | DEFAULT | From 605fbb0398d5b671af0ccf1344b8d2c21a8bb60f Mon Sep 17 00:00:00 2001 From: marcozabel Date: Mon, 2 Feb 2026 17:08:40 +0100 Subject: [PATCH 3/7] fix: variable name Signed-off-by: marcozabel --- gherkin/evaluation.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gherkin/evaluation.feature b/gherkin/evaluation.feature index 164b87e..5d19a31 100644 --- a/gherkin/evaluation.feature +++ b/gherkin/evaluation.feature @@ -66,7 +66,7 @@ Feature: flagd evaluations @no-default Scenario Outline: Resolves flag with no defaultValue correctly - Given a -flag with key "" and a default value "" + Given a -flag with key "" and a default value "" And a context containing a key "email", with type "String" and with value "" When the flag was evaluated with details Then the resolved details value should be "" From eef4ec9aacd91a2bd6c3002451d8bd5cb1bfd8d8 Mon Sep 17 00:00:00 2001 From: marcozabel Date: Wed, 4 Feb 2026 09:17:55 +0100 Subject: [PATCH 4/7] fix: add previous no-default test stage Signed-off-by: marcozabel --- gherkin/evaluation.feature | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gherkin/evaluation.feature b/gherkin/evaluation.feature index 5d19a31..e18cebe 100644 --- a/gherkin/evaluation.feature +++ b/gherkin/evaluation.feature @@ -65,6 +65,27 @@ Feature: flagd evaluations | float-targeted-zero-flag | Float | 0.1 | 0.0 | @no-default + Scenario Outline: Resolves flag with no defaultValue correctly + Given a -flag with key "" and a default value "" + And a context containing a key "email", with type "String" and with value "" + When the flag was evaluated with details + Then the resolved details value should be "" + And the reason should be "" + And the error-code should be "" + + # For now, no defaultValue is resolved as FLAG_NOT_FOUND to result in a code default. + # This may be handled more gracefully in the future. + Examples: + | key | type | email | default | resolved_value | reason | error_code | + | null-default-flag | Boolean | | true | true | ERROR | FLAG_NOT_FOUND | + | null-default-flag | Boolean | | false | false | ERROR | FLAG_NOT_FOUND | + | undefined-default-flag | Integer | | 100 | 100 | ERROR | FLAG_NOT_FOUND | + | no-default-flag-null-targeting-variant | String | wozniak@orange.com | Inventor | Inventor | ERROR | FLAG_NOT_FOUND | + | no-default-flag-null-targeting-variant | String | wozniak@orange.com | Founder | Founder | ERROR | FLAG_NOT_FOUND | + | no-default-flag-null-targeting-variant | String | jobs@orange.com | CEO | CEO | TARGETING_MATCH | | + | no-default-flag-undefined-targeting-variant | String | wozniak@orange.com | Retired | Retired | ERROR | FLAG_NOT_FOUND | + + @no-default-variant Scenario Outline: Resolves flag with no defaultValue correctly Given a -flag with key "" and a default value "" And a context containing a key "email", with type "String" and with value "" From 119f9f66230a50f1604c8f66ac60970b8a13d3b5 Mon Sep 17 00:00:00 2001 From: marcozabel Date: Wed, 4 Feb 2026 09:19:36 +0100 Subject: [PATCH 5/7] fix: test suite name Signed-off-by: marcozabel --- gherkin/evaluation.feature | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gherkin/evaluation.feature b/gherkin/evaluation.feature index e18cebe..bca65df 100644 --- a/gherkin/evaluation.feature +++ b/gherkin/evaluation.feature @@ -86,15 +86,13 @@ Feature: flagd evaluations | no-default-flag-undefined-targeting-variant | String | wozniak@orange.com | Retired | Retired | ERROR | FLAG_NOT_FOUND | @no-default-variant - Scenario Outline: Resolves flag with no defaultValue correctly + Scenario Outline: Resolves flag with no default variant correctly Given a -flag with key "" and a default value "" And a context containing a key "email", with type "String" and with value "" When the flag was evaluated with details Then the resolved details value should be "" And the reason should be "" - # For now, no defaultValue is resolved as FLAG_NOT_FOUND to result in a code default. - # This may be handled more gracefully in the future. Examples: | key | type | email | code_default | resolved_value | reason | | null-default-flag | Boolean | | true | true | DEFAULT | From 8a919e5cfb84c521c4a8218f290a67706debac2e Mon Sep 17 00:00:00 2001 From: marcozabel Date: Wed, 4 Feb 2026 09:23:36 +0100 Subject: [PATCH 6/7] chore: add deprecation notice Signed-off-by: marcozabel --- gherkin/evaluation.feature | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gherkin/evaluation.feature b/gherkin/evaluation.feature index bca65df..a6516c7 100644 --- a/gherkin/evaluation.feature +++ b/gherkin/evaluation.feature @@ -64,7 +64,8 @@ Feature: flagd evaluations | integer-targeted-zero-flag | Integer | 1 | 0 | | float-targeted-zero-flag | Float | 0.1 | 0.0 | - @no-default + # This suite is deprecated and @no-default-variant should be used instead + @no-default @deprecated Scenario Outline: Resolves flag with no defaultValue correctly Given a -flag with key "" and a default value "" And a context containing a key "email", with type "String" and with value "" From 9384c07239110ad4469234add2f608344ac66a20 Mon Sep 17 00:00:00 2001 From: Todd Baert Date: Wed, 4 Mar 2026 04:12:18 -0500 Subject: [PATCH 7/7] fixup: update flagd Signed-off-by: Todd Baert --- flagd/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flagd/Dockerfile b/flagd/Dockerfile index 5214475..02ff773 100644 --- a/flagd/Dockerfile +++ b/flagd/Dockerfile @@ -1,4 +1,4 @@ -ARG FLAGD_BASE_IMAGE=ghcr.io/open-feature/flagd:v0.12.9 +ARG FLAGD_BASE_IMAGE=ghcr.io/open-feature/flagd:v0.14.0 ARG TARGETARCH FROM ${FLAGD_BASE_IMAGE} AS flagd