Skip to content

Support and validate CPython 3.14 #16

Description

@lopezm1

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions