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
Full support for multiple_of constraint. Added MultipleOf constraint in conformly-style semantics and Field(multiple_of=...) support for Pydantic models. Values are now generated respecting the step, including invalid value generation (NOT_MULTIPLE violation).
Special string semantic types. Introduced Email, IPv4, IPv6, IPvAny, Url, HttpUrl as semantic markers (subclasses of SpecialStr) for type-safe schema definitions.
Basic UUID support. Implemented canonical RFC 4122 v4 generation Fully integrated with the violation system (TOO_SHORT, TOO_LONG, WRONG_UUID_FORMAT, WRONG_UUID_CHARACTER).
Specialized generators. Implemented realistic data generation for new string semantics.
Constraint composition. Some special types (Email) support MinLength/MaxLength constraints (e.g., Annotated[Email, MinLength(10)]), while Pattern is restricted to avoid semantic conflicts.
Basic list[T] support. Generation of list[str], list[Annotated[T, Constraint]], and list[Model] with automatic element-wise constraint enforcement.
Changed
Type resolution architecture. extract_runtime_type_and_constraints now preserves semantic types (e.g., Email) for generator routing, instead of collapsing them to str.
StringSemantic extensibility. StringSemantic.kind now accepts extended FieldKind values (EMAIL) for specialized generator dispatch.
New module fields. Contains special string markers and registry for type mapping with pydantic types and field_kinds.
Collection-aware parsing. New collection_type field in FieldSpec cleanly separates container types from leaf types, unifying type extraction across adapters.
BREAKING: public API was made flatten (constraints, fields and core functions now imports from conformly main module)