aio-libs/aiohttp (aiohttp)
### [`v3.11.9`](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.8...v3.11.9)
[Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.8...v3.11.9)
### [`v3.11.8`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3118-2024-11-27)
[Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.7...v3.11.8)
\===================
## Miscellaneous internal changes
- Improved performance of creating :class:`aiohttp.ClientResponse` objects when there are no cookies -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`10029`.
- Improved performance of creating :class:`aiohttp.ClientResponse` objects -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`10030`.
- Improved performances of creating objects during the HTTP request lifecycle -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`10037`.
- Improved performance of constructing :class:`aiohttp.web.Response` with headers -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`10043`.
- Improved performance of making requests when there are no auto headers to skip -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`10049`.
- Downgraded logging of invalid HTTP method exceptions on the first request to debug level -- by :user:`bdraco`.
HTTP requests starting with an invalid method are relatively common, especially when connected to the public internet, because browsers or other clients may try to speak SSL to a plain-text server or vice-versa. These exceptions can quickly fill the log with noise when nothing is wrong.
*Related issues and pull requests on GitHub:*
:issue:`10055`.
***
### [`v3.11.7`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3117-2024-11-21)
[Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.6...v3.11.7)
\===================
## Bug fixes
- Fixed the HTTP client not considering the connector's `force_close` value when setting the `Connection` header -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`10003`.
## Miscellaneous internal changes
- Improved performance of serializing HTTP headers -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`10014`.
***
### [`v3.11.6`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3116-2024-11-19)
[Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.5...v3.11.6)
\===================
## Bug fixes
- Restored the `force_close` method to the `ResponseHandler` -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`9997`.
***
### [`v3.11.5`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3115-2024-11-19)
[Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.4...v3.11.5)
\===================
## Bug fixes
- Fixed the `ANY` method not appearing in :meth:`~aiohttp.web.UrlDispatcher.routes` -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`9899`, :issue:`9987`.
***
### [`v3.11.4`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3114-2024-11-18)
[Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.3...v3.11.4)
\===================
## Bug fixes
- Fixed `StaticResource` not allowing the `OPTIONS` method after calling `set_options_route` -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`9972`, :issue:`9975`, :issue:`9976`.
## Miscellaneous internal changes
- Improved performance of creating web responses when there are no cookies -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`9895`.
***
### [`v3.11.3`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3113-2024-11-18)
[Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.2...v3.11.3)
\===================
## Bug fixes
- Removed non-existing `__author__` from `dir(aiohttp)` -- by :user:`Dreamsorcerer`.
*Related issues and pull requests on GitHub:*
:issue:`9918`.
- Restored the `FlowControlDataQueue` class -- by :user:`bdraco`.
This class is no longer used internally, and will be permanently removed in the next major version.
*Related issues and pull requests on GitHub:*
:issue:`9963`.
## Miscellaneous internal changes
- Improved performance of resolving resources when multiple methods are registered for the same route -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`9899`.
***
sushi-chaaaan/ductile-ui (ductile-ui)
### [`v0.4.0`](https://redirect.github.com/sushichan044/ductile-ui/releases/tag/v0.4.0)
[Compare Source](https://redirect.github.com/sushi-chaaaan/ductile-ui/compare/v0.3.0...v0.4.0)
#### What's Changed
- GitHubの名義変更に対応する by [@sushichan044](https://redirect.github.com/sushichan044) in [https://github.com/sushichan044/ductile-ui/pull/97](https://redirect.github.com/sushichan044/ductile-ui/pull/97)
- feat: add view object comparison to prevent unnecessary re-renders by [@sushichan044](https://redirect.github.com/sushichan044) in [https://github.com/sushichan044/ductile-ui/pull/98](https://redirect.github.com/sushichan044/ductile-ui/pull/98)
- chore(deps): update dependency ruff to >=0.7.3 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/sushichan044/ductile-ui/pull/99](https://redirect.github.com/sushichan044/ductile-ui/pull/99)
- fix(deps): update dependency pydantic to >=2.9.2 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/sushichan044/ductile-ui/pull/100](https://redirect.github.com/sushichan044/ductile-ui/pull/100)
- 0.4.0 by [@sushichan044](https://redirect.github.com/sushichan044) in [https://github.com/sushichan044/ductile-ui/pull/101](https://redirect.github.com/sushichan044/ductile-ui/pull/101)
**Full Changelog**: https://github.com/sushichan044/ductile-ui/compare/v0.3.0...v0.4.0
pydantic/pydantic (pydantic)
### [`v2.10.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25)
[Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2)
[GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.2)
##### What's Changed
##### Fixes
- Only evaluate FieldInfo annotations if required during schema building by [@Viicos](https://redirect.github.com/Viicos) in [#10769](https://redirect.github.com/pydantic/pydantic/pull/10769)
- Do not evaluate annotations for private fields by [@Viicos](https://redirect.github.com/Viicos) in [#10962](https://redirect.github.com/pydantic/pydantic/pull/10962)
- Support serialization as any for `Secret` types and `Url` types by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10947](https://redirect.github.com/pydantic/pydantic/pull/10947)
- Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@Viicos](https://redirect.github.com/Viicos) in [#10972](https://redirect.github.com/pydantic/pydantic/pull/10972)
- Add hashing support for URL types by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10975](https://redirect.github.com/pydantic/pydantic/pull/10975)
- Hide `BaseModel.__replace__` definition from type checkers by [@Viicos](https://redirect.github.com/Viicos) in [10979](https://redirect.github.com/pydantic/pydantic/pull/10979)
### [`v2.10.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21)
[Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.0...v2.10.1)
[GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.1)
##### What's Changed
##### Packaging
- Bump `pydantic-core` version to `v2.27.1` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10938](https://redirect.github.com/pydantic/pydantic/pull/10938)
##### Fixes
- Use the correct frame when instantiating a parametrized `TypeAdapter` by [@Viicos](https://redirect.github.com/Viicos) in [#10893](https://redirect.github.com/pydantic/pydantic/pull/10893)
- Relax check for validated data in `default_factory` utils by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10909](https://redirect.github.com/pydantic/pydantic/pull/10909)
- Fix type checking issue with `model_fields` and `model_computed_fields` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10911](https://redirect.github.com/pydantic/pydantic/pull/10911)
- Use the parent configuration during schema generation for stdlib `dataclass`es by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10928](https://redirect.github.com/pydantic/pydantic/pull/10928)
- Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@Viicos](https://redirect.github.com/Viicos) in [#10929](https://redirect.github.com/pydantic/pydantic/pull/10929)
- Fix URL constraint application by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10922](https://redirect.github.com/pydantic/pydantic/pull/10922)
- Fix URL equality with different validation methods by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10934](https://redirect.github.com/pydantic/pydantic/pull/10934)
- Fix JSON schema title when specified as `''` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10936](https://redirect.github.com/pydantic/pydantic/pull/10936)
- Fix `python` mode serialization for `complex` inference by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic-core#1549](https://redirect.github.com/pydantic/pydantic-core/pull/1549)
##### New Contributors
### [`v2.10.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20)
[Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.2...v2.10.0)
The code released in v2.10.0 is practically identical to that of v2.10.0b2.
[GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.0)
See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights!
##### What's Changed
##### Packaging
- Bump `pydantic-core` to `v2.27.0` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10825](https://redirect.github.com/pydantic/pydantic/pull/10825)
- Replaced pdm with uv by [@frfahim](https://redirect.github.com/frfahim) in [#10727](https://redirect.github.com/pydantic/pydantic/pull/10727)
##### New Features
- Support `fractions.Fraction` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10318](https://redirect.github.com/pydantic/pydantic/pull/10318)
- Support `Hashable` for json validation by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10324](https://redirect.github.com/pydantic/pydantic/pull/10324)
- Add a `SocketPath` type for `linux` systems by [@theunkn0wn1](https://redirect.github.com/theunkn0wn1) in [#10378](https://redirect.github.com/pydantic/pydantic/pull/10378)
- Allow arbitrary refs in JSON schema `examples` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10417](https://redirect.github.com/pydantic/pydantic/pull/10417)
- Support `defer_build` for Pydantic dataclasses by [@Viicos](https://redirect.github.com/Viicos) in [#10313](https://redirect.github.com/pydantic/pydantic/pull/10313)
- Adding v1 / v2 incompatibility warning for nested v1 model by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10431](https://redirect.github.com/pydantic/pydantic/pull/10431)
- Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@Viicos](https://redirect.github.com/Viicos) in [#10416](https://redirect.github.com/pydantic/pydantic/pull/10416)
- Support compiled patterns in `protected_namespaces` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10522](https://redirect.github.com/pydantic/pydantic/pull/10522)
- Add support for `propertyNames` in JSON schema by [@FlorianSW](https://redirect.github.com/FlorianSW) in [#10478](https://redirect.github.com/pydantic/pydantic/pull/10478)
- Adding `__replace__` protocol for Python 3.13+ support by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10596](https://redirect.github.com/pydantic/pydantic/pull/10596)
- Expose public `sort` method for JSON schema generation by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10595](https://redirect.github.com/pydantic/pydantic/pull/10595)
- Add runtime validation of `@validate_call` callable argument by [@kc0506](https://redirect.github.com/kc0506) in [#10627](https://redirect.github.com/pydantic/pydantic/pull/10627)
- Add `experimental_allow_partial` support by [@samuelcolvin](https://redirect.github.com/samuelcolvin) in [#10748](https://redirect.github.com/pydantic/pydantic/pull/10748)
- Support default factories taking validated data as an argument by [@Viicos](https://redirect.github.com/Viicos) in [#10678](https://redirect.github.com/pydantic/pydantic/pull/10678)
- Allow subclassing `ValidationError` and `PydanticCustomError` by [@Youssefares](https://redirect.github.com/Youssefares) in [pydantic/pydantic-core#1413](https://redirect.github.com/pydantic/pydantic-core/pull/1413)
- Add `trailing-strings` support to `experimental_allow_partial` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10825](https://redirect.github.com/pydantic/pydantic/pull/10825)
- Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10537](https://redirect.github.com/pydantic/pydantic/pull/10537)
- Improve `TypeAdapter` instance repr by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10872](https://redirect.github.com/pydantic/pydantic/pull/10872)
##### Changes
- Don't allow customization of `SchemaGenerator` until interface is more stable by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10303](https://redirect.github.com/pydantic/pydantic/pull/10303)
- Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10329](https://redirect.github.com/pydantic/pydantic/pull/10329)
- Fix `mro` of generic subclass by [@kc0506](https://redirect.github.com/kc0506) in [#10100](https://redirect.github.com/pydantic/pydantic/pull/10100)
- Strip whitespaces on JSON Schema title generation by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10404](https://redirect.github.com/pydantic/pydantic/pull/10404)
- Use `b64decode` and `b64encode` for `Base64Bytes` type by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10486](https://redirect.github.com/pydantic/pydantic/pull/10486)
- Relax protected namespace config default by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10441](https://redirect.github.com/pydantic/pydantic/pull/10441)
- Revalidate parametrized generics if instance's origin is subclass of OG class by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10666](https://redirect.github.com/pydantic/pydantic/pull/10666)
- Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10406](https://redirect.github.com/pydantic/pydantic/pull/10406)
- Recommend against using `Ellipsis` (...) with `Field` by [@Viicos](https://redirect.github.com/Viicos) in [#10661](https://redirect.github.com/pydantic/pydantic/pull/10661)
- Migrate to subclassing instead of annotated approach for pydantic url types by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10662](https://redirect.github.com/pydantic/pydantic/pull/10662)
- Change JSON schema generation of `Literal`s and `Enums` by [@Viicos](https://redirect.github.com/Viicos) in [#10692](https://redirect.github.com/pydantic/pydantic/pull/10692)
- Simplify unions involving `Any` or `Never` when replacing type variables by [@Viicos](https://redirect.github.com/Viicos) in [#10338](https://redirect.github.com/pydantic/pydantic/pull/10338)
- Do not require padding when decoding `base64` bytes by [@bschoenmaeckers](https://redirect.github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://redirect.github.com/pydantic/pydantic-core/pull/1448)
- Support dates all the way to 1BC by [@changhc](https://redirect.github.com/changhc) in [pydantic/speedate#77](https://redirect.github.com/pydantic/speedate/pull/77)
##### Performance
- Schema cleaning: skip unnecessary copies during schema walking by [@Viicos](https://redirect.github.com/Viicos) in [#10286](https://redirect.github.com/pydantic/pydantic/pull/10286)
- Refactor namespace logic for annotations evaluation by [@Viicos](https://redirect.github.com/Viicos) in [#10530](https://redirect.github.com/pydantic/pydantic/pull/10530)
- Improve email regexp on edge cases by [@AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) in [#10601](https://redirect.github.com/pydantic/pydantic/pull/10601)
- `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10675](https://redirect.github.com/pydantic/pydantic/pull/10675)
##### Fixes
- Remove guarding check on `computed_field` with `field_serializer` by [@nix010](https://redirect.github.com/nix010) in [#10390](https://redirect.github.com/pydantic/pydantic/pull/10390)
- Fix `Predicate` issue in `v2.9.0` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10321](https://redirect.github.com/pydantic/pydantic/pull/10321)
- Fixing `annotated-types` bound by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10327](https://redirect.github.com/pydantic/pydantic/pull/10327)
- Turn `tzdata` install requirement into optional `timezone` dependency by [@jakob-keller](https://redirect.github.com/jakob-keller) in [#10331](https://redirect.github.com/pydantic/pydantic/pull/10331)
- Use correct types namespace when building `namedtuple` core schemas by [@Viicos](https://redirect.github.com/Viicos) in [#10337](https://redirect.github.com/pydantic/pydantic/pull/10337)
- Fix evaluation of stringified annotations during namespace inspection by [@Viicos](https://redirect.github.com/Viicos) in [#10347](https://redirect.github.com/pydantic/pydantic/pull/10347)
- Fix `IncEx` type alias definition by [@Viicos](https://redirect.github.com/Viicos) in [#10339](https://redirect.github.com/pydantic/pydantic/pull/10339)
- Do not error when trying to evaluate annotations of private attributes by [@Viicos](https://redirect.github.com/Viicos) in [#10358](https://redirect.github.com/pydantic/pydantic/pull/10358)
- Fix nested type statement by [@kc0506](https://redirect.github.com/kc0506) in [#10369](https://redirect.github.com/pydantic/pydantic/pull/10369)
- Improve typing of `ModelMetaclass.mro` by [@Viicos](https://redirect.github.com/Viicos) in [#10372](https://redirect.github.com/pydantic/pydantic/pull/10372)
- Fix class access of deprecated `computed_field`s by [@Viicos](https://redirect.github.com/Viicos) in [#10391](https://redirect.github.com/pydantic/pydantic/pull/10391)
- Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@MovisLi](https://redirect.github.com/MovisLi) in [#10374](https://redirect.github.com/pydantic/pydantic/pull/10374)
- Fix `NameError` when using `validate_call` with PEP 695 on a class by [@kc0506](https://redirect.github.com/kc0506) in [#10380](https://redirect.github.com/pydantic/pydantic/pull/10380)
- Fix `ZoneInfo` with various invalid types by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10408](https://redirect.github.com/pydantic/pydantic/pull/10408)
- Fix `PydanticUserError` on empty `model_config` with annotations by [@cdwilson](https://redirect.github.com/cdwilson) in [#10412](https://redirect.github.com/pydantic/pydantic/pull/10412)
- Fix variance issue in `_IncEx` type alias, only allow `True` by [@Viicos](https://redirect.github.com/Viicos) in [#10414](https://redirect.github.com/pydantic/pydantic/pull/10414)
- Fix serialization schema generation when using `PlainValidator` by [@Viicos](https://redirect.github.com/Viicos) in [#10427](https://redirect.github.com/pydantic/pydantic/pull/10427)
- Fix schema generation error when serialization schema holds references by [@Viicos](https://redirect.github.com/Viicos) in [#10444](https://redirect.github.com/pydantic/pydantic/pull/10444)
- Inline references if possible when generating schema for `json_schema_input_type` by [@Viicos](https://redirect.github.com/Viicos) in [#10439](https://redirect.github.com/pydantic/pydantic/pull/10439)
- Fix recursive arguments in `Representation` by [@Viicos](https://redirect.github.com/Viicos) in [#10480](https://redirect.github.com/pydantic/pydantic/pull/10480)
- Fix representation for builtin function types by [@kschwab](https://redirect.github.com/kschwab) in [#10479](https://redirect.github.com/pydantic/pydantic/pull/10479)
- Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10506](https://redirect.github.com/pydantic/pydantic/pull/10506)
- Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@Viicos](https://redirect.github.com/Viicos) in [#10518](https://redirect.github.com/pydantic/pydantic/pull/10518)
- Fix `stacklevel` on deprecation warnings for `BaseModel` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10520](https://redirect.github.com/pydantic/pydantic/pull/10520)
- Fix warning `stacklevel` in `BaseModel.__init__` by [@Viicos](https://redirect.github.com/Viicos) in [#10526](https://redirect.github.com/pydantic/pydantic/pull/10526)
- Improve error handling for in-evaluable refs for discriminator application by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10440](https://redirect.github.com/pydantic/pydantic/pull/10440)
- Change the signature of `ConfigWrapper.core_config` to take the title directly by [@Viicos](https://redirect.github.com/Viicos) in [#10562](https://redirect.github.com/pydantic/pydantic/pull/10562)
- Do not use the previous config from the stack for dataclasses without config by [@Viicos](https://redirect.github.com/Viicos) in [#10576](https://redirect.github.com/pydantic/pydantic/pull/10576)
- Fix serialization for IP types with `mode='python'` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10594](https://redirect.github.com/pydantic/pydantic/pull/10594)
- Support constraint application for `Base64Etc` types by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10584](https://redirect.github.com/pydantic/pydantic/pull/10584)
- Fix `validate_call` ignoring `Field` in `Annotated` by [@kc0506](https://redirect.github.com/kc0506) in [#10610](https://redirect.github.com/pydantic/pydantic/pull/10610)
- Raise an error when `Self` is invalid by [@kc0506](https://redirect.github.com/kc0506) in [#10609](https://redirect.github.com/pydantic/pydantic/pull/10609)
- Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10523](https://redirect.github.com/pydantic/pydantic/pull/10523)
- Tweak type alias logic by [@kc0506](https://redirect.github.com/kc0506) in [#10643](https://redirect.github.com/pydantic/pydantic/pull/10643)
- Support usage of `type` with `typing.Self` and type aliases by [@kc0506](https://redirect.github.com/kc0506) in [#10621](https://redirect.github.com/pydantic/pydantic/pull/10621)
- Use overloads for `Field` and `PrivateAttr` functions by [@Viicos](https://redirect.github.com/Viicos) in [#10651](https://redirect.github.com/pydantic/pydantic/pull/10651)
- Clean up the `mypy` plugin implementation by [@Viicos](https://redirect.github.com/Viicos) in [#10669](https://redirect.github.com/pydantic/pydantic/pull/10669)
- Properly check for `typing_extensions` variant of `TypeAliasType` by [@Daraan](https://redirect.github.com/Daraan) in [#10713](https://redirect.github.com/pydantic/pydantic/pull/10713)
- Allow any mapping in `BaseModel.model_copy()` by [@Viicos](https://redirect.github.com/Viicos) in [#10751](https://redirect.github.com/pydantic/pydantic/pull/10751)
- Fix `isinstance` behavior for urls by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10766](https://redirect.github.com/pydantic/pydantic/pull/10766)
- Ensure `cached_property` can be set on Pydantic models by [@Viicos](https://redirect.github.com/Viicos) in [#10774](https://redirect.github.com/pydantic/pydantic/pull/10774)
- Fix equality checks for primitives in literals by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://redirect.github.com/pydantic/pydantic-core/pull/1459)
- Properly enforce `host_required` for URLs by [@Viicos](https://redirect.github.com/Viicos) in [pydantic/pydantic-core#1488](https://redirect.github.com/pydantic/pydantic-core/pull/1488)
- Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@andrey-berenda](https://redirect.github.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://redirect.github.com/pydantic/pydantic-core/pull/1515)
- Fix serializing `complex` values in `Enum`s by [@changhc](https://redirect.github.com/changhc) in [pydantic/pydantic-core#1524](https://redirect.github.com/pydantic/pydantic-core/pull/1524)
- Refactor `_typing_extra` module by [@Viicos](https://redirect.github.com/Viicos) in [#10725](https://redirect.github.com/pydantic/pydantic/pull/10725)
- Support intuitive equality for urls by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10798](https://redirect.github.com/pydantic/pydantic/pull/10798)
- Add `bytearray` to `TypeAdapter.validate_json` signature by [@samuelcolvin](https://redirect.github.com/samuelcolvin) in [#10802](https://redirect.github.com/pydantic/pydantic/pull/10802)
- Ensure class access of method descriptors is performed when used as a default with `Field` by [@Viicos](https://redirect.github.com/Viicos) in [#10816](https://redirect.github.com/pydantic/pydantic/pull/10816)
- Fix circular import with `validate_call` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10807](https://redirect.github.com/pydantic/pydantic/pull/10807)
- Fix error when using type aliases referencing other type aliases by [@Viicos](https://redirect.github.com/Viicos) in [#10809](https://redirect.github.com/pydantic/pydantic/pull/10809)
- Fix `IncEx` type alias to be compatible with mypy by [@Viicos](https://redirect.github.com/Viicos) in [#10813](https://redirect.github.com/pydantic/pydantic/pull/10813)
- Make `__signature__` a lazy property, do not deepcopy defaults by [@Viicos](https://redirect.github.com/Viicos) in [#10818](https://redirect.github.com/pydantic/pydantic/pull/10818)
- Make `__signature__` lazy for dataclasses, too by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10832](https://redirect.github.com/pydantic/pydantic/pull/10832)
- Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10856](https://redirect.github.com/pydantic/pydantic/pull/10856)
##### New Contributors
- [@jakob-keller](https://redirect.github.com/jakob-keller) made their first contribution in [#10331](https://redirect.github.com/pydantic/pydantic/pull/10331)
- [@MovisLi](https://redirect.github.com/MovisLi) made their first contribution in [#10374](https://redirect.github.com/pydantic/pydantic/pull/10374)
- [@joaopalmeiro](https://redirect.github.com/joaopalmeiro) made their first contribution in [#10405](https://redirect.github.com/pydantic/pydantic/pull/10405)
- [@theunkn0wn1](https://redirect.github.com/theunkn0wn1) made their first contribution in [#10378](https://redirect.github.com/pydantic/pydantic/pull/10378)
- [@cdwilson](https://redirect.github.com/cdwilson) made their first contribution in [#10412](https://redirect.github.com/pydantic/pydantic/pull/10412)
- [@dlax](https://redirect.github.com/dlax) made their first contribution in [#10421](https://redirect.github.com/pydantic/pydantic/pull/10421)
- [@kschwab](https://redirect.github.com/kschwab) made their first contribution in [#10479](https://redirect.github.com/pydantic/pydantic/pull/10479)
- [@santibreo](https://redirect.github.com/santibreo) made their first contribution in [#10453](https://redirect.github.com/pydantic/pydantic/pull/10453)
- [@FlorianSW](https://redirect.github.com/FlorianSW) made their first contribution in [#10478](https://redirect.github.com/pydantic/pydantic/pull/10478)
- [@tkasuz](https://redirect.github.com/tkasuz) made their first contribution in [#10555](https://redirect.github.com/pydantic/pydantic/pull/10555)
- [@AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) made their first contribution in [#10601](https://redirect.github.com/pydantic/pydantic/pull/10601)
- [@NiclasvanEyk](https://redirect.github.com/NiclasvanEyk) made their first contribution in [#10667](https://redirect.github.com/pydantic/pydantic/pull/10667)
- [@mschoettle](https://redirect.github.com/mschoettle) made their first contribution in [#10677](https://redirect.github.com/pydantic/pydantic/pull/10677)
- [@Daraan](https://redirect.github.com/Daraan) made their first contribution in [#10713](https://redirect.github.com/pydantic/pydantic/pull/10713)
- [@k4nar](https://redirect.github.com/k4nar) made their first contribution in [#10736](https://redirect.github.com/pydantic/pydantic/pull/10736)
- [@UriyaHarpeness](https://redirect.github.com/UriyaHarpeness) made their first contribution in [#10740](https://redirect.github.com/pydantic/pydantic/pull/10740)
- [@frfahim](https://redirect.github.com/frfahim) made their first contribution in [#10727](https://redirect.github.com/pydantic/pydantic/pull/10727)
getsentry/sentry-python (sentry-sdk)
### [`v2.19.0`](https://redirect.github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2190)
[Compare Source](https://redirect.github.com/getsentry/sentry-python/compare/2.18.0...2.19.0)
##### Various fixes & improvements
- New: introduce `rust_tracing` integration. See https://docs.sentry.io/platforms/python/integrations/rust_tracing/ ([#3717](https://redirect.github.com/getsentry/sentry-python/issues/3717)) by [@matt-codecov](https://redirect.github.com/matt-codecov)
- Auto enable Litestar integration ([#3540](https://redirect.github.com/getsentry/sentry-python/issues/3540)) by [@provinzkraut](https://redirect.github.com/provinzkraut)
- Deprecate `sentry_sdk.init` context manager ([#3729](https://redirect.github.com/getsentry/sentry-python/issues/3729)) by [@szokeasaurusrex](https://redirect.github.com/szokeasaurusrex)
- feat(spotlight): Send PII to Spotlight when no DSN is set ([#3804](https://redirect.github.com/getsentry/sentry-python/issues/3804)) by [@BYK](https://redirect.github.com/BYK)
- feat(spotlight): Add info logs when Sentry is enabled ([#3735](https://redirect.github.com/getsentry/sentry-python/issues/3735)) by [@BYK](https://redirect.github.com/BYK)
- feat(spotlight): Inject Spotlight button on Django ([#3751](https://redirect.github.com/getsentry/sentry-python/issues/3751)) by [@BYK](https://redirect.github.com/BYK)
- feat(spotlight): Auto enable cache_spans for Spotlight on DEBUG ([#3791](https://redirect.github.com/getsentry/sentry-python/issues/3791)) by [@BYK](https://redirect.github.com/BYK)
- fix(logging): Handle parameter `stack_info` for the `LoggingIntegration` ([#3745](https://redirect.github.com/getsentry/sentry-python/issues/3745)) by [@gmcrocetti](https://redirect.github.com/gmcrocetti)
- fix(pure-eval): Make sentry-sdk\[pure-eval] installable with pip==24.0 ([#3757](https://redirect.github.com/getsentry/sentry-python/issues/3757)) by [@sentrivana](https://redirect.github.com/sentrivana)
- fix(rust_tracing): include_tracing_fields arg to control unvetted data in rust_tracing integration ([#3780](https://redirect.github.com/getsentry/sentry-python/issues/3780)) by [@matt-codecov](https://redirect.github.com/matt-codecov)
- fix(aws) Fix aws lambda tests (by reducing event size) ([#3770](https://redirect.github.com/getsentry/sentry-python/issues/3770)) by [@antonpirker](https://redirect.github.com/antonpirker)
- fix(arq): fix integration with Worker settings as a dict ([#3742](https://redirect.github.com/getsentry/sentry-python/issues/3742)) by [@saber-solooki](https://redirect.github.com/saber-solooki)
- fix(httpx): Prevent Sentry baggage duplication ([#3728](https://redirect.github.com/getsentry/sentry-python/issues/3728)) by [@szokeasaurusrex](https://redirect.github.com/szokeasaurusrex)
- fix(falcon): Don't exhaust request body stream ([#3768](https://redirect.github.com/getsentry/sentry-python/issues/3768)) by [@szokeasaurusrex](https://redirect.github.com/szokeasaurusrex)
- fix(integrations): Check `retries_left` before capturing exception ([#3803](https://redirect.github.com/getsentry/sentry-python/issues/3803)) by [@malkovro](https://redirect.github.com/malkovro)
- fix(openai): Use name instead of description ([#3807](https://redirect.github.com/getsentry/sentry-python/issues/3807)) by [@sourceful-rob](https://redirect.github.com/sourceful-rob)
- test(gcp): Only run GCP tests when they should ([#3721](https://redirect.github.com/getsentry/sentry-python/issues/3721)) by [@szokeasaurusrex](https://redirect.github.com/szokeasaurusrex)
- chore: Shorten CI workflow names ([#3805](https://redirect.github.com/getsentry/sentry-python/issues/3805)) by [@sentrivana](https://redirect.github.com/sentrivana)
- chore: Test with pyspark prerelease ([#3760](https://redirect.github.com/getsentry/sentry-python/issues/3760)) by [@sentrivana](https://redirect.github.com/sentrivana)
- build(deps): bump codecov/codecov-action from 4.6.0 to 5.0.2 ([#3792](https://redirect.github.com/getsentry/sentry-python/issues/3792)) by [@dependabot](https://redirect.github.com/dependabot)
- build(deps): bump actions/checkout from 4.2.1 to 4.2.2 ([#3691](https://redirect.github.com/getsentry/sentry-python/issues/3691)) by [@dependabot](https://redirect.github.com/dependabot)
Configuration
📅 Schedule: Branch creation - "before 4:00am on Monday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
>=3.11.2
->>=3.11.9
==0.3.0
->==0.4.0
>=2.9.2
->>=2.10.2
>=2.18.0
->>=2.19.0
Release Notes
aio-libs/aiohttp (aiohttp)
### [`v3.11.9`](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.8...v3.11.9) [Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.8...v3.11.9) ### [`v3.11.8`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3118-2024-11-27) [Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.7...v3.11.8) \=================== ## Miscellaneous internal changes - Improved performance of creating :class:`aiohttp.ClientResponse` objects when there are no cookies -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`10029`. - Improved performance of creating :class:`aiohttp.ClientResponse` objects -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`10030`. - Improved performances of creating objects during the HTTP request lifecycle -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`10037`. - Improved performance of constructing :class:`aiohttp.web.Response` with headers -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`10043`. - Improved performance of making requests when there are no auto headers to skip -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`10049`. - Downgraded logging of invalid HTTP method exceptions on the first request to debug level -- by :user:`bdraco`. HTTP requests starting with an invalid method are relatively common, especially when connected to the public internet, because browsers or other clients may try to speak SSL to a plain-text server or vice-versa. These exceptions can quickly fill the log with noise when nothing is wrong. *Related issues and pull requests on GitHub:* :issue:`10055`. *** ### [`v3.11.7`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3117-2024-11-21) [Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.6...v3.11.7) \=================== ## Bug fixes - Fixed the HTTP client not considering the connector's `force_close` value when setting the `Connection` header -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`10003`. ## Miscellaneous internal changes - Improved performance of serializing HTTP headers -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`10014`. *** ### [`v3.11.6`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3116-2024-11-19) [Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.5...v3.11.6) \=================== ## Bug fixes - Restored the `force_close` method to the `ResponseHandler` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`9997`. *** ### [`v3.11.5`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3115-2024-11-19) [Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.4...v3.11.5) \=================== ## Bug fixes - Fixed the `ANY` method not appearing in :meth:`~aiohttp.web.UrlDispatcher.routes` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`9899`, :issue:`9987`. *** ### [`v3.11.4`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3114-2024-11-18) [Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.3...v3.11.4) \=================== ## Bug fixes - Fixed `StaticResource` not allowing the `OPTIONS` method after calling `set_options_route` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`9972`, :issue:`9975`, :issue:`9976`. ## Miscellaneous internal changes - Improved performance of creating web responses when there are no cookies -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`9895`. *** ### [`v3.11.3`](https://redirect.github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#3113-2024-11-18) [Compare Source](https://redirect.github.com/aio-libs/aiohttp/compare/v3.11.2...v3.11.3) \=================== ## Bug fixes - Removed non-existing `__author__` from `dir(aiohttp)` -- by :user:`Dreamsorcerer`. *Related issues and pull requests on GitHub:* :issue:`9918`. - Restored the `FlowControlDataQueue` class -- by :user:`bdraco`. This class is no longer used internally, and will be permanently removed in the next major version. *Related issues and pull requests on GitHub:* :issue:`9963`. ## Miscellaneous internal changes - Improved performance of resolving resources when multiple methods are registered for the same route -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`9899`. ***sushi-chaaaan/ductile-ui (ductile-ui)
### [`v0.4.0`](https://redirect.github.com/sushichan044/ductile-ui/releases/tag/v0.4.0) [Compare Source](https://redirect.github.com/sushi-chaaaan/ductile-ui/compare/v0.3.0...v0.4.0) #### What's Changed - GitHubの名義変更に対応する by [@sushichan044](https://redirect.github.com/sushichan044) in [https://github.com/sushichan044/ductile-ui/pull/97](https://redirect.github.com/sushichan044/ductile-ui/pull/97) - feat: add view object comparison to prevent unnecessary re-renders by [@sushichan044](https://redirect.github.com/sushichan044) in [https://github.com/sushichan044/ductile-ui/pull/98](https://redirect.github.com/sushichan044/ductile-ui/pull/98) - chore(deps): update dependency ruff to >=0.7.3 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/sushichan044/ductile-ui/pull/99](https://redirect.github.com/sushichan044/ductile-ui/pull/99) - fix(deps): update dependency pydantic to >=2.9.2 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/sushichan044/ductile-ui/pull/100](https://redirect.github.com/sushichan044/ductile-ui/pull/100) - 0.4.0 by [@sushichan044](https://redirect.github.com/sushichan044) in [https://github.com/sushichan044/ductile-ui/pull/101](https://redirect.github.com/sushichan044/ductile-ui/pull/101) **Full Changelog**: https://github.com/sushichan044/ductile-ui/compare/v0.3.0...v0.4.0pydantic/pydantic (pydantic)
### [`v2.10.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.2) ##### What's Changed ##### Fixes - Only evaluate FieldInfo annotations if required during schema building by [@Viicos](https://redirect.github.com/Viicos) in [#10769](https://redirect.github.com/pydantic/pydantic/pull/10769) - Do not evaluate annotations for private fields by [@Viicos](https://redirect.github.com/Viicos) in [#10962](https://redirect.github.com/pydantic/pydantic/pull/10962) - Support serialization as any for `Secret` types and `Url` types by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10947](https://redirect.github.com/pydantic/pydantic/pull/10947) - Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@Viicos](https://redirect.github.com/Viicos) in [#10972](https://redirect.github.com/pydantic/pydantic/pull/10972) - Add hashing support for URL types by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10975](https://redirect.github.com/pydantic/pydantic/pull/10975) - Hide `BaseModel.__replace__` definition from type checkers by [@Viicos](https://redirect.github.com/Viicos) in [10979](https://redirect.github.com/pydantic/pydantic/pull/10979) ### [`v2.10.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.0...v2.10.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` version to `v2.27.1` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10938](https://redirect.github.com/pydantic/pydantic/pull/10938) ##### Fixes - Use the correct frame when instantiating a parametrized `TypeAdapter` by [@Viicos](https://redirect.github.com/Viicos) in [#10893](https://redirect.github.com/pydantic/pydantic/pull/10893) - Relax check for validated data in `default_factory` utils by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10909](https://redirect.github.com/pydantic/pydantic/pull/10909) - Fix type checking issue with `model_fields` and `model_computed_fields` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10911](https://redirect.github.com/pydantic/pydantic/pull/10911) - Use the parent configuration during schema generation for stdlib `dataclass`es by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10928](https://redirect.github.com/pydantic/pydantic/pull/10928) - Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@Viicos](https://redirect.github.com/Viicos) in [#10929](https://redirect.github.com/pydantic/pydantic/pull/10929) - Fix URL constraint application by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10922](https://redirect.github.com/pydantic/pydantic/pull/10922) - Fix URL equality with different validation methods by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10934](https://redirect.github.com/pydantic/pydantic/pull/10934) - Fix JSON schema title when specified as `''` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10936](https://redirect.github.com/pydantic/pydantic/pull/10936) - Fix `python` mode serialization for `complex` inference by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic-core#1549](https://redirect.github.com/pydantic/pydantic-core/pull/1549) ##### New Contributors ### [`v2.10.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@frfahim](https://redirect.github.com/frfahim) in [#10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10318](https://redirect.github.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10324](https://redirect.github.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@theunkn0wn1](https://redirect.github.com/theunkn0wn1) in [#10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10417](https://redirect.github.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@Viicos](https://redirect.github.com/Viicos) in [#10313](https://redirect.github.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10431](https://redirect.github.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@Viicos](https://redirect.github.com/Viicos) in [#10416](https://redirect.github.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10522](https://redirect.github.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@FlorianSW](https://redirect.github.com/FlorianSW) in [#10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10596](https://redirect.github.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10595](https://redirect.github.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@kc0506](https://redirect.github.com/kc0506) in [#10627](https://redirect.github.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@samuelcolvin](https://redirect.github.com/samuelcolvin) in [#10748](https://redirect.github.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@Viicos](https://redirect.github.com/Viicos) in [#10678](https://redirect.github.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@Youssefares](https://redirect.github.com/Youssefares) in [pydantic/pydantic-core#1413](https://redirect.github.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10537](https://redirect.github.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10872](https://redirect.github.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10303](https://redirect.github.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10329](https://redirect.github.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@kc0506](https://redirect.github.com/kc0506) in [#10100](https://redirect.github.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10404](https://redirect.github.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10486](https://redirect.github.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10441](https://redirect.github.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10666](https://redirect.github.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10406](https://redirect.github.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@Viicos](https://redirect.github.com/Viicos) in [#10661](https://redirect.github.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10662](https://redirect.github.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@Viicos](https://redirect.github.com/Viicos) in [#10692](https://redirect.github.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@Viicos](https://redirect.github.com/Viicos) in [#10338](https://redirect.github.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@bschoenmaeckers](https://redirect.github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://redirect.github.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@changhc](https://redirect.github.com/changhc) in [pydantic/speedate#77](https://redirect.github.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@Viicos](https://redirect.github.com/Viicos) in [#10286](https://redirect.github.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@Viicos](https://redirect.github.com/Viicos) in [#10530](https://redirect.github.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) in [#10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10675](https://redirect.github.com/pydantic/pydantic/pull/10675) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@nix010](https://redirect.github.com/nix010) in [#10390](https://redirect.github.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10321](https://redirect.github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10327](https://redirect.github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@jakob-keller](https://redirect.github.com/jakob-keller) in [#10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@Viicos](https://redirect.github.com/Viicos) in [#10337](https://redirect.github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@Viicos](https://redirect.github.com/Viicos) in [#10347](https://redirect.github.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@Viicos](https://redirect.github.com/Viicos) in [#10339](https://redirect.github.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@Viicos](https://redirect.github.com/Viicos) in [#10358](https://redirect.github.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@kc0506](https://redirect.github.com/kc0506) in [#10369](https://redirect.github.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@Viicos](https://redirect.github.com/Viicos) in [#10372](https://redirect.github.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@Viicos](https://redirect.github.com/Viicos) in [#10391](https://redirect.github.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@MovisLi](https://redirect.github.com/MovisLi) in [#10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@kc0506](https://redirect.github.com/kc0506) in [#10380](https://redirect.github.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10408](https://redirect.github.com/pydantic/pydantic/pull/10408) - Fix `PydanticUserError` on empty `model_config` with annotations by [@cdwilson](https://redirect.github.com/cdwilson) in [#10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@Viicos](https://redirect.github.com/Viicos) in [#10414](https://redirect.github.com/pydantic/pydantic/pull/10414) - Fix serialization schema generation when using `PlainValidator` by [@Viicos](https://redirect.github.com/Viicos) in [#10427](https://redirect.github.com/pydantic/pydantic/pull/10427) - Fix schema generation error when serialization schema holds references by [@Viicos](https://redirect.github.com/Viicos) in [#10444](https://redirect.github.com/pydantic/pydantic/pull/10444) - Inline references if possible when generating schema for `json_schema_input_type` by [@Viicos](https://redirect.github.com/Viicos) in [#10439](https://redirect.github.com/pydantic/pydantic/pull/10439) - Fix recursive arguments in `Representation` by [@Viicos](https://redirect.github.com/Viicos) in [#10480](https://redirect.github.com/pydantic/pydantic/pull/10480) - Fix representation for builtin function types by [@kschwab](https://redirect.github.com/kschwab) in [#10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10506](https://redirect.github.com/pydantic/pydantic/pull/10506) - Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@Viicos](https://redirect.github.com/Viicos) in [#10518](https://redirect.github.com/pydantic/pydantic/pull/10518) - Fix `stacklevel` on deprecation warnings for `BaseModel` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10520](https://redirect.github.com/pydantic/pydantic/pull/10520) - Fix warning `stacklevel` in `BaseModel.__init__` by [@Viicos](https://redirect.github.com/Viicos) in [#10526](https://redirect.github.com/pydantic/pydantic/pull/10526) - Improve error handling for in-evaluable refs for discriminator application by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10440](https://redirect.github.com/pydantic/pydantic/pull/10440) - Change the signature of `ConfigWrapper.core_config` to take the title directly by [@Viicos](https://redirect.github.com/Viicos) in [#10562](https://redirect.github.com/pydantic/pydantic/pull/10562) - Do not use the previous config from the stack for dataclasses without config by [@Viicos](https://redirect.github.com/Viicos) in [#10576](https://redirect.github.com/pydantic/pydantic/pull/10576) - Fix serialization for IP types with `mode='python'` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10594](https://redirect.github.com/pydantic/pydantic/pull/10594) - Support constraint application for `Base64Etc` types by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10584](https://redirect.github.com/pydantic/pydantic/pull/10584) - Fix `validate_call` ignoring `Field` in `Annotated` by [@kc0506](https://redirect.github.com/kc0506) in [#10610](https://redirect.github.com/pydantic/pydantic/pull/10610) - Raise an error when `Self` is invalid by [@kc0506](https://redirect.github.com/kc0506) in [#10609](https://redirect.github.com/pydantic/pydantic/pull/10609) - Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10523](https://redirect.github.com/pydantic/pydantic/pull/10523) - Tweak type alias logic by [@kc0506](https://redirect.github.com/kc0506) in [#10643](https://redirect.github.com/pydantic/pydantic/pull/10643) - Support usage of `type` with `typing.Self` and type aliases by [@kc0506](https://redirect.github.com/kc0506) in [#10621](https://redirect.github.com/pydantic/pydantic/pull/10621) - Use overloads for `Field` and `PrivateAttr` functions by [@Viicos](https://redirect.github.com/Viicos) in [#10651](https://redirect.github.com/pydantic/pydantic/pull/10651) - Clean up the `mypy` plugin implementation by [@Viicos](https://redirect.github.com/Viicos) in [#10669](https://redirect.github.com/pydantic/pydantic/pull/10669) - Properly check for `typing_extensions` variant of `TypeAliasType` by [@Daraan](https://redirect.github.com/Daraan) in [#10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - Allow any mapping in `BaseModel.model_copy()` by [@Viicos](https://redirect.github.com/Viicos) in [#10751](https://redirect.github.com/pydantic/pydantic/pull/10751) - Fix `isinstance` behavior for urls by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10766](https://redirect.github.com/pydantic/pydantic/pull/10766) - Ensure `cached_property` can be set on Pydantic models by [@Viicos](https://redirect.github.com/Viicos) in [#10774](https://redirect.github.com/pydantic/pydantic/pull/10774) - Fix equality checks for primitives in literals by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://redirect.github.com/pydantic/pydantic-core/pull/1459) - Properly enforce `host_required` for URLs by [@Viicos](https://redirect.github.com/Viicos) in [pydantic/pydantic-core#1488](https://redirect.github.com/pydantic/pydantic-core/pull/1488) - Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@andrey-berenda](https://redirect.github.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://redirect.github.com/pydantic/pydantic-core/pull/1515) - Fix serializing `complex` values in `Enum`s by [@changhc](https://redirect.github.com/changhc) in [pydantic/pydantic-core#1524](https://redirect.github.com/pydantic/pydantic-core/pull/1524) - Refactor `_typing_extra` module by [@Viicos](https://redirect.github.com/Viicos) in [#10725](https://redirect.github.com/pydantic/pydantic/pull/10725) - Support intuitive equality for urls by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10798](https://redirect.github.com/pydantic/pydantic/pull/10798) - Add `bytearray` to `TypeAdapter.validate_json` signature by [@samuelcolvin](https://redirect.github.com/samuelcolvin) in [#10802](https://redirect.github.com/pydantic/pydantic/pull/10802) - Ensure class access of method descriptors is performed when used as a default with `Field` by [@Viicos](https://redirect.github.com/Viicos) in [#10816](https://redirect.github.com/pydantic/pydantic/pull/10816) - Fix circular import with `validate_call` by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10807](https://redirect.github.com/pydantic/pydantic/pull/10807) - Fix error when using type aliases referencing other type aliases by [@Viicos](https://redirect.github.com/Viicos) in [#10809](https://redirect.github.com/pydantic/pydantic/pull/10809) - Fix `IncEx` type alias to be compatible with mypy by [@Viicos](https://redirect.github.com/Viicos) in [#10813](https://redirect.github.com/pydantic/pydantic/pull/10813) - Make `__signature__` a lazy property, do not deepcopy defaults by [@Viicos](https://redirect.github.com/Viicos) in [#10818](https://redirect.github.com/pydantic/pydantic/pull/10818) - Make `__signature__` lazy for dataclasses, too by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10832](https://redirect.github.com/pydantic/pydantic/pull/10832) - Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@sydney-runkle](https://redirect.github.com/sydney-runkle) in [#10856](https://redirect.github.com/pydantic/pydantic/pull/10856) ##### New Contributors - [@jakob-keller](https://redirect.github.com/jakob-keller) made their first contribution in [#10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - [@MovisLi](https://redirect.github.com/MovisLi) made their first contribution in [#10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - [@joaopalmeiro](https://redirect.github.com/joaopalmeiro) made their first contribution in [#10405](https://redirect.github.com/pydantic/pydantic/pull/10405) - [@theunkn0wn1](https://redirect.github.com/theunkn0wn1) made their first contribution in [#10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - [@cdwilson](https://redirect.github.com/cdwilson) made their first contribution in [#10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - [@dlax](https://redirect.github.com/dlax) made their first contribution in [#10421](https://redirect.github.com/pydantic/pydantic/pull/10421) - [@kschwab](https://redirect.github.com/kschwab) made their first contribution in [#10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - [@santibreo](https://redirect.github.com/santibreo) made their first contribution in [#10453](https://redirect.github.com/pydantic/pydantic/pull/10453) - [@FlorianSW](https://redirect.github.com/FlorianSW) made their first contribution in [#10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - [@tkasuz](https://redirect.github.com/tkasuz) made their first contribution in [#10555](https://redirect.github.com/pydantic/pydantic/pull/10555) - [@AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) made their first contribution in [#10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - [@NiclasvanEyk](https://redirect.github.com/NiclasvanEyk) made their first contribution in [#10667](https://redirect.github.com/pydantic/pydantic/pull/10667) - [@mschoettle](https://redirect.github.com/mschoettle) made their first contribution in [#10677](https://redirect.github.com/pydantic/pydantic/pull/10677) - [@Daraan](https://redirect.github.com/Daraan) made their first contribution in [#10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - [@k4nar](https://redirect.github.com/k4nar) made their first contribution in [#10736](https://redirect.github.com/pydantic/pydantic/pull/10736) - [@UriyaHarpeness](https://redirect.github.com/UriyaHarpeness) made their first contribution in [#10740](https://redirect.github.com/pydantic/pydantic/pull/10740) - [@frfahim](https://redirect.github.com/frfahim) made their first contribution in [#10727](https://redirect.github.com/pydantic/pydantic/pull/10727)getsentry/sentry-python (sentry-sdk)
### [`v2.19.0`](https://redirect.github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2190) [Compare Source](https://redirect.github.com/getsentry/sentry-python/compare/2.18.0...2.19.0) ##### Various fixes & improvements - New: introduce `rust_tracing` integration. See https://docs.sentry.io/platforms/python/integrations/rust_tracing/ ([#3717](https://redirect.github.com/getsentry/sentry-python/issues/3717)) by [@matt-codecov](https://redirect.github.com/matt-codecov) - Auto enable Litestar integration ([#3540](https://redirect.github.com/getsentry/sentry-python/issues/3540)) by [@provinzkraut](https://redirect.github.com/provinzkraut) - Deprecate `sentry_sdk.init` context manager ([#3729](https://redirect.github.com/getsentry/sentry-python/issues/3729)) by [@szokeasaurusrex](https://redirect.github.com/szokeasaurusrex) - feat(spotlight): Send PII to Spotlight when no DSN is set ([#3804](https://redirect.github.com/getsentry/sentry-python/issues/3804)) by [@BYK](https://redirect.github.com/BYK) - feat(spotlight): Add info logs when Sentry is enabled ([#3735](https://redirect.github.com/getsentry/sentry-python/issues/3735)) by [@BYK](https://redirect.github.com/BYK) - feat(spotlight): Inject Spotlight button on Django ([#3751](https://redirect.github.com/getsentry/sentry-python/issues/3751)) by [@BYK](https://redirect.github.com/BYK) - feat(spotlight): Auto enable cache_spans for Spotlight on DEBUG ([#3791](https://redirect.github.com/getsentry/sentry-python/issues/3791)) by [@BYK](https://redirect.github.com/BYK) - fix(logging): Handle parameter `stack_info` for the `LoggingIntegration` ([#3745](https://redirect.github.com/getsentry/sentry-python/issues/3745)) by [@gmcrocetti](https://redirect.github.com/gmcrocetti) - fix(pure-eval): Make sentry-sdk\[pure-eval] installable with pip==24.0 ([#3757](https://redirect.github.com/getsentry/sentry-python/issues/3757)) by [@sentrivana](https://redirect.github.com/sentrivana) - fix(rust_tracing): include_tracing_fields arg to control unvetted data in rust_tracing integration ([#3780](https://redirect.github.com/getsentry/sentry-python/issues/3780)) by [@matt-codecov](https://redirect.github.com/matt-codecov) - fix(aws) Fix aws lambda tests (by reducing event size) ([#3770](https://redirect.github.com/getsentry/sentry-python/issues/3770)) by [@antonpirker](https://redirect.github.com/antonpirker) - fix(arq): fix integration with Worker settings as a dict ([#3742](https://redirect.github.com/getsentry/sentry-python/issues/3742)) by [@saber-solooki](https://redirect.github.com/saber-solooki) - fix(httpx): Prevent Sentry baggage duplication ([#3728](https://redirect.github.com/getsentry/sentry-python/issues/3728)) by [@szokeasaurusrex](https://redirect.github.com/szokeasaurusrex) - fix(falcon): Don't exhaust request body stream ([#3768](https://redirect.github.com/getsentry/sentry-python/issues/3768)) by [@szokeasaurusrex](https://redirect.github.com/szokeasaurusrex) - fix(integrations): Check `retries_left` before capturing exception ([#3803](https://redirect.github.com/getsentry/sentry-python/issues/3803)) by [@malkovro](https://redirect.github.com/malkovro) - fix(openai): Use name instead of description ([#3807](https://redirect.github.com/getsentry/sentry-python/issues/3807)) by [@sourceful-rob](https://redirect.github.com/sourceful-rob) - test(gcp): Only run GCP tests when they should ([#3721](https://redirect.github.com/getsentry/sentry-python/issues/3721)) by [@szokeasaurusrex](https://redirect.github.com/szokeasaurusrex) - chore: Shorten CI workflow names ([#3805](https://redirect.github.com/getsentry/sentry-python/issues/3805)) by [@sentrivana](https://redirect.github.com/sentrivana) - chore: Test with pyspark prerelease ([#3760](https://redirect.github.com/getsentry/sentry-python/issues/3760)) by [@sentrivana](https://redirect.github.com/sentrivana) - build(deps): bump codecov/codecov-action from 4.6.0 to 5.0.2 ([#3792](https://redirect.github.com/getsentry/sentry-python/issues/3792)) by [@dependabot](https://redirect.github.com/dependabot) - build(deps): bump actions/checkout from 4.2.1 to 4.2.2 ([#3691](https://redirect.github.com/getsentry/sentry-python/issues/3691)) by [@dependabot](https://redirect.github.com/dependabot)Configuration
📅 Schedule: Branch creation - "before 4:00am on Monday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.