You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
pyproject pins pydantic>=2.0 but money-safety invariants need 2.4+ semantics #346
The SDK's money-safety story leans on Pydantic v2 features that landed or stabilized after 2.0: StrictInt boolean-rejection behavior was tightened in 2.4 (the #295 fence relies on it), model_validator(mode='before') inheritance semantics changed through 2.3, and several Decimal coercion edge cases (negative-zero, scientific input) were fixed in 2.4/2.5. Allowing 2.0–2.3 means a pip resolver can land a runtime with subtler validators than the test matrix exercises, quietly undermining #225 / #243 / #295.
The SDK itself has no vulnerability here; the floor is inconsistent with the invariants the changelog advertises.
Raise the floor to pydantic>=2.5,<3 (matches the version Python 3.12 wheel + StrictInt semantics tested in the project). If 2.4 testing exists, pydantic>=2.4,<3 is also defensible, but 2.0–2.3 should be dropped. Verify the bump against the existing test suite under the minimum version.
Activity
deps: bump pydantic floor to >=2.4 for money-safety invariants (#346) (…