pypi pydantic 2.11.0a1
v2.11.0a1 2025-01-30

latest releases: 2.12.0a1, 2.11.7, 2.11.6...
7 months ago

v2.11.0a1 (2025-01-30)

What's Changed

Note

Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general).
This is an early alpha release, meant to collect early feedback from users having issues with core schema builds.

Packaging

New Features

  • Support unsubstituted type variables with both a default and a bound or constraints by @FyZzyss in #10789
  • Add a default_factory_takes_validated_data property to FieldInfo by @Viicos in #11034
  • Raise a better error when a generic alias is used inside type[] by @Viicos in #11088
  • Properly support PEP 695 generics syntax by @Viicos in #11189
  • Properly support type variable defaults by @Viicos in #11332

Changes

  • Rework create_model field definitions format by @Viicos in #11032
  • Raise a deprecation warning when a field is annotated as final with a default value by @Viicos in #11168
  • Deprecate accessing model_fields and model_computed_fields on instances by @Viicos in #11169
  • Move core schema generation logic for path types inside the GenerateSchema class by @sydney-runkle in #10846
  • Move deque schema gen to GenerateSchema class by @sydney-runkle in #11239
  • Move Mapping schema gen to GenerateSchema to complete removal of prepare_annotations_for_known_type workaround by @sydney-runkle in #11247
  • Remove Python 3.8 Support by @sydney-runkle in #11258
  • Disable pydantic-core core schema validation by @sydney-runkle in #11271

Performance

Fixes

  • Add validation tests for _internal/_validators.py by @tkasuz in #10763
  • Improve TypeAdapter instance repr by @sydney-runkle in #10872
  • Revert "ci: use locally built pydantic-core with debug symbols by @sydney-runkle in #10942
  • Re-enable all FastAPI tests by @tamird in #10948
  • Fix typo in HISTORY.md. by @felixxm in #11077
  • Infer final fields with a default value as class variables in the mypy plugin by @Viicos in #11121
  • Recursively unpack Literal values if using PEP 695 type aliases by @Viicos in #11114
  • Override __subclasscheck__ on ModelMetaclass to avoid memory leak and performance issues by @Viicos in #11116
  • Remove unused _extract_get_pydantic_json_schema() parameter by @Viicos in #11155
  • Add FastAPI and SQLModel to third-party tests by @sydney-runkle in #11044
  • Fix conditional expressions syntax for third-party tests by @Viicos in #11162
  • Move FastAPI tests to third-party workflow by @Viicos in #11164
  • Improve discriminated union error message for invalid union variants by @Viicos in #11161
  • Unpack PEP 695 type aliases if using the Annotated form by @Viicos in #11109
  • Include openapi-python-client check in issue creation for third-party failures, use main branch by @sydney-runkle in #11182
  • Add pandera third-party tests by @Viicos in #11193
  • Add ODMantic third-party tests by @sydney-runkle in #11197
  • Add missing stacklevel in deprecated_instance_property warning by @Viicos in #11200
  • Copy WithJsonSchema schema to avoid sharing mutated data by @thejcannon in #11014
  • Do not cache parametrized models when in the process of parametrizing another model by @Viicos in #10704
  • Re-enable Beanie third-party tests by @Viicos in #11214
  • Add discriminated union related metadata entries to the CoreMetadata definition by @Viicos in #11216
  • Consolidate schema definitions logic in the _Definitions class by @Viicos in #11208
  • Support initializing root model fields with values of the root type in the mypy plugin by @Viicos in #11212
  • Fix various issues with dataclasses and use_attribute_docstrings by @Viicos in #11246
  • Only compute normalized decimal places if necessary in decimal_places_validator by @misrasaurabh1 in #11281
  • Fix two misplaced sentences in validation errors documentation by @ananiavito in #11302
  • Fix mkdocstrings inventory example in documentation by @pawamoy in #11311
  • Add support for validation_alias in the mypy plugin by @Viicos in #11295
  • Do not transform model serializer functions as class methods in the mypy plugin by @Viicos in #11298
  • Simplify GenerateJsonSchema.literal_schema() implementation by @misrasaurabh1 in #11321
  • Add additional allowed schemes for ClickHouseDsn by @Maze21127 in #11319
  • Coerce decimal constraints to Decimal instances by @Viicos in #11350
  • Fix ValueError on year zero by @davidhewitt in pydantic-core#1583

New Contributors

Don't miss a new pydantic release

NewReleases is sending notifications on new releases.