|
| 1 | +## v2.11.0b1 (2025-03-06) |
| 2 | + |
| 3 | +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0b1) |
| 4 | + |
| 5 | +### What's Changed |
| 6 | + |
| 7 | +#### Packaging |
| 8 | + |
| 9 | +* Add a `check_pydantic_core_version()` function by @Viicos in https://github.com/pydantic/pydantic/pull/11324 |
| 10 | +* Remove `greenlet` development dependency by @Viicos in https://github.com/pydantic/pydantic/pull/11351 |
| 11 | +* Use the `typing-inspection` library by @Viicos in https://github.com/pydantic/pydantic/pull/11479 |
| 12 | +* Bump `pydantic-core` to `v2.31.1` by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11526 |
| 13 | + |
| 14 | +#### New Features |
| 15 | + |
| 16 | +* Support unsubstituted type variables with both a default and a bound or constraints by @FyZzyss in https://github.com/pydantic/pydantic/pull/10789 |
| 17 | +* Add a `default_factory_takes_validated_data` property to `FieldInfo` by @Viicos in https://github.com/pydantic/pydantic/pull/11034 |
| 18 | +* Raise a better error when a generic alias is used inside `type[]` by @Viicos in https://github.com/pydantic/pydantic/pull/11088 |
| 19 | +* Properly support PEP 695 generics syntax by @Viicos in https://github.com/pydantic/pydantic/pull/11189 |
| 20 | +* Properly support type variable defaults by @Viicos in https://github.com/pydantic/pydantic/pull/11332 |
| 21 | +* Add support for validating v6, v7, v8 UUIDs by @astei in https://github.com/pydantic/pydantic/pull/11436 |
| 22 | +* Improve alias configuration APIs by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11468 |
| 23 | + |
| 24 | +#### Changes |
| 25 | + |
| 26 | +* Rework `create_model` field definitions format by @Viicos in https://github.com/pydantic/pydantic/pull/11032 |
| 27 | +* Raise a deprecation warning when a field is annotated as final with a default value by @Viicos in https://github.com/pydantic/pydantic/pull/11168 |
| 28 | +* Deprecate accessing `model_fields` and `model_computed_fields` on instances by @Viicos in https://github.com/pydantic/pydantic/pull/11169 |
| 29 | +* **Breaking Change:** Move core schema generation logic for path types inside the `GenerateSchema` class by @sydney-runkle in https://github.com/pydantic/pydantic/pull/10846 |
| 30 | +* Remove Python 3.8 Support by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11258 |
| 31 | +* Optimize calls to `get_type_ref` by @Viicos in https://github.com/pydantic/pydantic/pull/10863 |
| 32 | +* Disable `pydantic-core` core schema validation by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11271 |
| 33 | + |
| 34 | +#### Performance |
| 35 | + |
| 36 | +* Only evaluate `FieldInfo` annotations if required during schema building by @Viicos in https://github.com/pydantic/pydantic/pull/10769 |
| 37 | +* Improve `__setattr__` performance of Pydantic models by caching setter functions by @MarkusSintonen in https://github.com/pydantic/pydantic/pull/10868 |
| 38 | +* Improve annotation application performance by @Viicos in https://github.com/pydantic/pydantic/pull/11186 |
| 39 | +* Improve performance of `_typing_extra` module by @Viicos in https://github.com/pydantic/pydantic/pull/11255 |
| 40 | +* Refactor and optimize schema cleaning logic by @Viicos in https://github.com/pydantic/pydantic/pull/11244 |
| 41 | +* Create a single dictionary when creating a `CoreConfig` instance by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11384 |
| 42 | +* Bump `pydantic-core` and thus use `SchemaValidator` and `SchemaSerializer` caching by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11402 |
| 43 | +* Reuse cached core schemas for parametrized generic Pydantic models by @MarkusSintonen in https://github.com/pydantic/pydantic/pull/11434 |
| 44 | + |
| 45 | +#### Fixes |
| 46 | + |
| 47 | +* Improve `TypeAdapter` instance repr by @sydney-runkle in https://github.com/pydantic/pydantic/pull/10872 |
| 48 | +* Use the correct frame when instantiating a parametrized `TypeAdapter` by @Viicos in https://github.com/pydantic/pydantic/pull/10893 |
| 49 | +* Infer final fields with a default value as class variables in the mypy plugin by @Viicos in https://github.com/pydantic/pydantic/pull/11121 |
| 50 | +* Recursively unpack `Literal` values if using PEP 695 type aliases by @Viicos in https://github.com/pydantic/pydantic/pull/11114 |
| 51 | +* Override `__subclasscheck__` on `ModelMetaclass` to avoid memory leak and performance issues by @Viicos in https://github.com/pydantic/pydantic/pull/11116 |
| 52 | +* Remove unused `_extract_get_pydantic_json_schema()` parameter by @Viicos in https://github.com/pydantic/pydantic/pull/11155 |
| 53 | +* Improve discriminated union error message for invalid union variants by @Viicos in https://github.com/pydantic/pydantic/pull/11161 |
| 54 | +* Unpack PEP 695 type aliases if using the `Annotated` form by @Viicos in https://github.com/pydantic/pydantic/pull/11109 |
| 55 | +* Add missing stacklevel in `deprecated_instance_property` warning by @Viicos in https://github.com/pydantic/pydantic/pull/11200 |
| 56 | +* Copy `WithJsonSchema` schema to avoid sharing mutated data by @thejcannon in https://github.com/pydantic/pydantic/pull/11014 |
| 57 | +* Do not cache parametrized models when in the process of parametrizing another model by @Viicos in https://github.com/pydantic/pydantic/pull/10704 |
| 58 | +* Add discriminated union related metadata entries to the `CoreMetadata` definition by @Viicos in https://github.com/pydantic/pydantic/pull/11216 |
| 59 | +* Consolidate schema definitions logic in the `_Definitions` class by @Viicos in https://github.com/pydantic/pydantic/pull/11208 |
| 60 | +* Support initializing root model fields with values of the `root` type in the mypy plugin by @Viicos in https://github.com/pydantic/pydantic/pull/11212 |
| 61 | +* Fix various issues with dataclasses and `use_attribute_docstrings` by @Viicos in https://github.com/pydantic/pydantic/pull/11246 |
| 62 | +* Only compute normalized decimal places if necessary in `decimal_places_validator` by @misrasaurabh1 in https://github.com/pydantic/pydantic/pull/11281 |
| 63 | +* Add support for `validation_alias` in the mypy plugin by @Viicos in https://github.com/pydantic/pydantic/pull/11295 |
| 64 | +* Fix JSON Schema reference collection with `"examples"` keys by @Viicos in https://github.com/pydantic/pydantic/pull/11305 |
| 65 | +* Do not transform model serializer functions as class methods in the mypy plugin by @Viicos in https://github.com/pydantic/pydantic/pull/11298 |
| 66 | +* Simplify `GenerateJsonSchema.literal_schema()` implementation by @misrasaurabh1 in https://github.com/pydantic/pydantic/pull/11321 |
| 67 | +* Add additional allowed schemes for `ClickHouseDsn` by @Maze21127 in https://github.com/pydantic/pydantic/pull/11319 |
| 68 | +* Coerce decimal constraints to `Decimal` instances by @Viicos in https://github.com/pydantic/pydantic/pull/11350 |
| 69 | +* Use the correct JSON Schema mode when handling function schemas by @Viicos in https://github.com/pydantic/pydantic/pull/11367 |
| 70 | +* Improve exception message when encountering recursion errors during type evaluation by @Viicos in https://github.com/pydantic/pydantic/pull/11356 |
| 71 | +* Always include `additionalProperties: True` for arbitrary dictionary schemas by @austinyu in https://github.com/pydantic/pydantic/pull/11392 |
| 72 | +* Expose `fallback` parameter in serialization methods by @Viicos in https://github.com/pydantic/pydantic/pull/11398 |
| 73 | +* Fix path serialization behavior by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11416 |
| 74 | +* Do not reuse validators and serializers during model rebuild by @Viicos in https://github.com/pydantic/pydantic/pull/11429 |
| 75 | +* Collect model fields when rebuilding a model by @Viicos in https://github.com/pydantic/pydantic/pull/11388 |
| 76 | +* Allow cached properties to be altered on frozen models by @Viicos in https://github.com/pydantic/pydantic/pull/11432 |
| 77 | +* Fix tuple serialization for `Sequence` types by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11435 |
| 78 | +* Fix: do not check for `__get_validators__` on classes where `__get_pydantic_core_schema__` is also defined by @tlambert03 in https://github.com/pydantic/pydantic/pull/11444 |
| 79 | +* Allow callable instances to be used as serializers by @Viicos in https://github.com/pydantic/pydantic/pull/11451 |
| 80 | +* Improve error thrown when overriding field with a property by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11459 |
| 81 | +* Fix JSON Schema generation with referenceable core schemas holding JSON metadata by @Viicos in https://github.com/pydantic/pydantic/pull/11475 |
| 82 | +* Support strict specification on union member types by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11481 |
| 83 | +* Implicitly set `validate_by_name` to `True` when `validate_by_alias` is `False` by @sydney-runkle in https://github.com/pydantic/pydantic/pull/11503 |
| 84 | +* Change type of `Any` when synthesizing `BaseSettings.__init__` signature in the mypy plugin by @Viicos in https://github.com/pydantic/pydantic/pull/11497 |
| 85 | +* Support type variable defaults referencing other type variables by @Viicos in https://github.com/pydantic/pydantic/pull/11520 |
| 86 | +* Fix `ValueError` on year zero by @davidhewitt in https://github.com/pydantic/pydantic-core/pull/1583 |
| 87 | +* `dataclass` `InitVar` shouldn't be required on serialization by @sydney-runkle in https://github.com/pydantic/pydantic-core/pull/1602 |
| 88 | + |
| 89 | +## New Contributors |
| 90 | +* @FyZzyss made their first contribution in https://github.com/pydantic/pydantic/pull/10789 |
| 91 | +* @tamird made their first contribution in https://github.com/pydantic/pydantic/pull/10948 |
| 92 | +* @felixxm made their first contribution in https://github.com/pydantic/pydantic/pull/11077 |
| 93 | +* @alexprabhat99 made their first contribution in https://github.com/pydantic/pydantic/pull/11082 |
| 94 | +* @Kharianne made their first contribution in https://github.com/pydantic/pydantic/pull/11111 |
| 95 | +* @mdaffad made their first contribution in https://github.com/pydantic/pydantic/pull/11177 |
| 96 | +* @thejcannon made their first contribution in https://github.com/pydantic/pydantic/pull/11014 |
| 97 | +* @thomasfrimannkoren made their first contribution in https://github.com/pydantic/pydantic/pull/11251 |
| 98 | +* @usernameMAI made their first contribution in https://github.com/pydantic/pydantic/pull/11275 |
| 99 | +* @ananiavito made their first contribution in https://github.com/pydantic/pydantic/pull/11302 |
| 100 | +* @pawamoy made their first contribution in https://github.com/pydantic/pydantic/pull/11311 |
| 101 | +* @Maze21127 made their first contribution in https://github.com/pydantic/pydantic/pull/11319 |
| 102 | +* @kauabh made their first contribution in https://github.com/pydantic/pydantic/pull/11369 |
| 103 | +* @jaceklaskowski made their first contribution in https://github.com/pydantic/pydantic/pull/11353 |
| 104 | +* @tmpbeing made their first contribution in https://github.com/pydantic/pydantic/pull/11375 |
| 105 | +* @petyosi made their first contribution in https://github.com/pydantic/pydantic/pull/11405 |
| 106 | +* @austinyu made their first contribution in https://github.com/pydantic/pydantic/pull/11392 |
| 107 | +* @mikeedjones made their first contribution in https://github.com/pydantic/pydantic/pull/11402 |
| 108 | +* @astei made their first contribution in https://github.com/pydantic/pydantic/pull/11436 |
| 109 | +* @dsayling made their first contribution in https://github.com/pydantic/pydantic/pull/11522 |
| 110 | +* @sobolevn made their first contribution in https://github.com/pydantic/pydantic-core/pull/1645 |
| 111 | + |
1 | 112 | ## v2.11.0a2 (2025-02-10)
|
2 | 113 |
|
3 | 114 | [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0a2)
|
|
0 commit comments