OpenFeature
core/v0.16.0CI/CD & App Deliveryflagd core v0.16.0 changes disabled flag evaluation from an error response to a successful resolution with reason=DISABLED, affecting gRPC/OFREP callers and code that inspects evaluation metadata.
breakingAudit any code that checks errorCode or reason on flag evaluations
If your code branches on FLAG_DISABLED error codes or checks the reason field from direct gRPC/OFREP responses, it will no longer receive that error path for disabled flags — it'll get a success with reason=DISABLED instead. Search your codebase for FLAG_DISABLED string matches, error-code switch statements, and reason-field conditionals before upgrading. SDK users who only consume the resolved value are unaffected and can upgrade without changes.
enhancementUse reason=DISABLED for observability and audit logging
The new behavior is actually cleaner for telemetry. Since disabled flags now resolve successfully, you can distinguish 'flag disabled' from 'evaluation error' in your metrics and logs without special-casing error codes. Update your dashboards and alerting rules to treat reason=DISABLED as an expected, non-error signal rather than filtering it out as noise.
主な変更 (4)
- Disabled flags now return reason=DISABLED with a successful evaluation instead of a FLAG_DISABLED error code
- Resolved values are unchanged — SDKs still surface the caller-provided default, so end-user behavior is identical
- Breaking impact is scoped: affects direct gRPC/OFREP callers, code checking errorCode/reason fields, and importers of core/pkg/model
- An Architecture Decision Record (ADR) documents the rationale for this semantic change