Summary
Add and validate CPython 3.13 and 3.14 support for the Python SDK without changing feature-flag evaluation semantics.
Confirmed compatibility blockers
- Package metadata currently rejects Python 3.13 and newer with
python_requires="<3.13".
- The declared
urllib3>=1.22.0 floor permits releases that fail to import on CPython 3.14. urllib3==1.26.5 is the first compatible release in the tested 1.26 line.
Proposed scope
- Extend tested package metadata through CPython 3.14 (excluding free-threaded
3.14t).
- Raise only the
urllib3 minimum to 1.26.5; keep all other runtime dependency constraints unchanged.
- Add blocking CI coverage for Python 3.13 and 3.14 plus an exact-minimum-dependency job on 3.14.
- Build and install the wheel in a fresh Python 3.14 environment, run
pip check, and exercise the public offline client API and shutdown lifecycle.
- Update the README and release metadata for 1.1.9.
Acceptance criteria
- The full existing suite passes on CPython 3.12, 3.13, and 3.14.
- The exact declared runtime minimums pass on CPython 3.14.
- The built wheel installs and passes
pip check in a clean CPython 3.14 environment.
- Public API evaluation, caller defaults, listener removal, repeated evaluations, and idempotent shutdown pass without leaked SDK worker threads.
- No evaluation, targeting, context, default, networking, event, lifecycle, shutdown, or public API semantics change.
This repository is the FeatBit SDK layer. Validation through an OpenFeature provider remains a downstream provider responsibility.
@dsun0720, feedback on the compatibility and release scope would be welcome.
Summary
Add and validate CPython 3.13 and 3.14 support for the Python SDK without changing feature-flag evaluation semantics.
Confirmed compatibility blockers
python_requires="<3.13".urllib3>=1.22.0floor permits releases that fail to import on CPython 3.14.urllib3==1.26.5is the first compatible release in the tested 1.26 line.Proposed scope
3.14t).urllib3minimum to1.26.5; keep all other runtime dependency constraints unchanged.pip check, and exercise the public offline client API and shutdown lifecycle.Acceptance criteria
pip checkin a clean CPython 3.14 environment.This repository is the FeatBit SDK layer. Validation through an OpenFeature provider remains a downstream provider responsibility.
@dsun0720, feedback on the compatibility and release scope would be welcome.