Skip to content

chameleon 4.4.37

Choose a tag to compare

@github-actions github-actions released this 19 Jul 23:38

Fixed

  • The libcst dump silently DROPPED subscripted generic base classes, which is the
    root cause v4.4.36 only half-fixed: _dotted_name cannot name a cst.Subscript
    (its own docstring says so), so class R(BaseRepository[User]) emitted NO base
    at all. v4.4.36 normalized BaseRepository[User] -> BaseRepository at count
    time, but on the Python path that string never reached the counter. Worse, a
    class like class C(mod.Base[X], Mixin) reported bases: ["Mixin"] -- the
    WRONG base as its first, not merely a missing one, so extends and every
    dominance count keyed off it were actively incorrect. _base_names now unwraps
    a Subscript to the base's own name. End-to-end: a 7-class typed repository
    cohort that previously derived inheritance: {} now derives
    dominant_base: BaseRepository, frequency: 1.0. Found by two independent
    full-matrix columns (Python and FastAPI).