Paxman 1.0.2 released — 7 v1.0.x hotfixes #88
azaharizaman
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Paxman 1.0.2 released — 7 v1.0.x hotfixes
Paxman 1.0.2 is now available on PyPI:
pip install paxman==1.0.2What is it
A patch release addressing all 7 open bugs filed against v1.0.0 in the v1.0.x milestone. Safe to upgrade for any v1.0.0 or v1.0.1 caller — no breaking changes, no new dependencies, no public API removals.
Why a release before Friday
The v1.0.x milestone description said patches are released every Friday. We deviated this once because the release is purely additive (no docs other than the release notes themselves, no migrations, no behavior changes for callers who did not trigger the bug paths). Friday cadence is a process preference, not a correctness one. The trade-off: bug-fix users get the fixes ~36 hours earlier. We will return to Friday cadence for v1.0.3 and beyond.
What is fixed
Optional[Annotated[T, ...]]is now accepted (wasUNSUPPORTED_FIELD_TYPE).register_capability()/register_adapter()now acceptreplace: bool = False.capability_versionsis now derived from the reconciled evidence (single source of truth).float → DECIMALconflation is now documented loudly._is_optional()usestypes.UnionTypeidentity, not a fragile__name__check._check_constraintfrompaxman.capabilities.v1.validation.Plus a separate commit for each of:
make format)Who should upgrade
Everyone. v1.0.2 is a safe drop-in. Especially recommended if you:
Optional[Annotated[T, Field(...)]]in Pydantic contracts ([bug] Pydantic adapter drops inner type for Union[Annotated[T, ...], None] #58)floatfor non-money numeric fields in Pydantic contracts ([bug] Pydantic float annotation is silently mapped to DECIMAL (money-like) #61)What is not fixed
These are tracked for V2 and out of scope for a v1.0.x bugfix:
FLOATfield type ([bug] Pydantic float annotation is silently mapped to DECIMAL (money-like) #61 Option B). Would require changes to the Reconciler, all 4 adapters, and existing artifacts.DiagnosticCodeenum remains a closed V1 set; [bug] capability_versions collected from wrong evidence set + last-write-wins #60's conflict warning usesstructlograther than a newDiagnosticCodevalue. Adding a new code requires an ADR.Upgrade guide
No code changes required for v1.0.0 / v1.0.1 callers. If you imported the private helper
_check_constraintfrompaxman.capabilities.v1.validationin your own code, it still works via the re-export shim — but you should switch to the new canonical locationpaxman.validation.constraints.check_constraint.Links
Thanks to everyone who reported, triaged, and reviewed these bugs. The bug reports themselves were exceptionally high quality — each included a minimal reproducer, a root-cause analysis, and a recommended fix option. The fixes are largely mechanical translations of those recommendations.
— The Paxman maintainers
Beta Was this translation helpful? Give feedback.
All reactions