openstack/oslo.versionedobjects · Week of 2026-06-13

openstack/oslo.versionedobjects — 2026-06-13

11 merges · 1 contributor · 1232 lines changed

Mypy plugin overhaul. The week is almost entirely a rework of the type-checking story for versioned objects. ObjectField types are now resolved in a second pass so cross-references resolve correctly, field types are derived from the generic parameter rather than ad-hoc inspection, and cross-module field inheritance through mixin classes now works. The old field caching layer was dropped in favor of the new resolution model, shedding ~160 lines. Backing all of this, a new mypy plugin integration test suite landed (over 400 lines), with shared AST generation de-duplicated across the existing tests.

Typing and docs polish. On the runtime side, the return type of obj_make_list was corrected. Variable comments in base were reformatted to be picked up by Sphinx, and the obj_extra_fields attribute finally gained documentation.

Maintenance. Python 3.10 support was dropped, aligning the package with the current supported interpreter set.