0.0.23 (2026-08-14)
This release contains the first lifecycle and evaluation-safety work toward
OpenFeature v0.9.0. It does not claim complete v0.9 conformance; remaining
requirements are tracked in
#121.
Notable compatibility changes
- Raise the minimum supported Dart SDK from 3.11.4 to 3.12.2
(#123). - Make
OpenFeatureAPI.resetInstance()asynchronous so callers can await
provider and controller teardown before creating a replacement API instance
(#138). - Make
FlagEvaluationDetails.flagMetadatanon-nullable and immutable. Missing
metadata now defaults to an empty map, and mutation attempts throw
UnsupportedError
(#126,
#132).
Features
- Add provider-owned lifecycle events and per-instance lifecycle coordination,
including dynamic client rebinding, domain-scoped providers, final-binding
shutdown, and explicit wait-for-readiness APIs
(#124).
Bug fixes
- Contain provider, hook, and context-resolution failures while preserving
targeting keys and caller defaults
(#126). - Preserve the latest concurrent provider and domain binding request, serialize
rebinding with provider shutdown, and prevent late initialization from
restoring stale bindings
(#132,
#133,
#134,
#138).
Documentation
- Add the server v0.9 conformance matrix and provider-lifecycle compatibility
contract
(#122). - Add the proposed pure-Dart client SDK architecture and conformance matrix;
the client SDK is not implemented or published in this release
(#118,
#136). - Clarify the public README's asynchronous lifecycle examples and client SDK
proposal status
(#143,
#144).
CI and release maintenance
- Publish each version once and harden release, validation, coverage, branch,
formatting, and minimum-dependency workflows
(#119,
#125,
#127,
#128,
#130). - Use the conventional
doc/package layout and add DCO remediation support
for shared-branch squash commits
(#129,
#135).
Final QA
- Dart formatting: clean (34 files, 0 changed)
- Static analysis: no issues
- Tests: 181 passed
- Package publish dry run: 0 warnings