Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try each option in union serializer before inference #1398

Merged
merged 7 commits into from
Aug 12, 2024

Conversation

sydney-runkle
Copy link
Member

@sydney-runkle sydney-runkle commented Aug 9, 2024

Consider the following case:

from typing import Any
from pydantic import BaseModel, model_serializer


class Item(BaseModel):
    id: int

    @model_serializer
    def dump(self) -> dict[str, Any]:
        return {"id": self.id}

class ItemContainer(BaseModel):
    item_or_items: Item | list[Item]


def test_dump_json() -> None:
    items = [Item(id=i) for i in range(5)]
    ItemContainer(item_or_items=items).model_dump_json()

Previously, this used to error with:

pydantic_core._pydantic_core.PydanticSerializationError: Error serializing to JSON: PydanticSerializationError: Error calling function `dump`: AttributeError: 'list' object has no attribute 'id'

The problem here is that when attempting serialization against various union members, we immediately raised any error that wasn't an unexpected value error from pydantic-core (the one that @BoxyUwU just worked on improving).

This is inconsistent with our union validation logic, where we try validation against all union members, and swallow errors until all attempts fail, at which point we raise said errors.

With serialization in general, we're more relaxed, and often warn rather than error.

Now, with these changes, we collect any serialization errors and convert them to warnings if all serialization attempts fail. This helps to unify the logical patterns used for union validation and serialization, and enables more functional union serialization, especially in the case of custom serializers.

Fix pydantic/pydantic#7642

Copy link

codspeed-hq bot commented Aug 9, 2024

CodSpeed Performance Report

Merging #1398 will not alter performance

Comparing union-ser-fallback-warnings (4090751) with main (863640b)

Summary

✅ 155 untouched benchmarks

@BoxyUwU
Copy link
Contributor

BoxyUwU commented Aug 12, 2024

would be nice for dh to take a look since im not confident here

Copy link
Contributor

@davidhewitt davidhewitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, with just one suggestion...

@@ -78,13 +78,14 @@ impl TypeSerializer for UnionSerializer {
// try the serializers in left to right order with error_on fallback=true
let mut new_extra = extra.clone();
new_extra.check = SerCheck::Strict;
let mut errors: Vec<PyErr> = Vec::new();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest using SmallVec similar to in the validation case (so we don't allocate for small unions). Same in each of the below.

@@ -146,3 +146,5 @@ pub(crate) fn new_py_string<'py>(py: Python<'py>, s: &str, cache_str: StringCach
pystring_fast_new(py, s, ascii_only)
}
}

pub(crate) const UNION_ERR_SMALLVEC_CAPACITY: usize = 4;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might have just called this SMALL_UNION_THRESHOLD, but this is fine too 👍

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll rename in another PR - thinking of moving this to common, which we introduce in another one of the various union PRs :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See a04e297

@sydney-runkle sydney-runkle merged commit fd81a75 into main Aug 12, 2024
29 checks passed
@sydney-runkle sydney-runkle deleted the union-ser-fallback-warnings branch August 12, 2024 16:35
renovate bot added a commit to spiraldb/ziggy-pydust that referenced this pull request Sep 5, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pydantic](https://redirect.github.com/pydantic/pydantic)
([changelog](https://docs.pydantic.dev/latest/changelog/)) | `2.8.2` ->
`2.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.8.2/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.8.2/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pydantic/pydantic (pydantic)</summary>

###
[`v2.9.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v290-2024-09-05)

[Compare
Source](https://redirect.github.com/pydantic/pydantic/compare/v2.8.2...v2.9.0)

[GitHub
release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.9.0)

The code released in v2.9.0 is practically identical to that of
v2.9.0b2.

##### What's Changed

##### Packaging

- Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9801](https://redirect.github.com/pydantic/pydantic/pull/9801)
- Bump `pydantic-extra-types` to `v2.9.0` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9832](https://redirect.github.com/pydantic/pydantic/pull/9832)
- Support compatibility with `pdm v2.18.1` by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10138](https://redirect.github.com/pydantic/pydantic/pull/10138)
- Bump `v1` version stub to `v1.10.18` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10214](https://redirect.github.com/pydantic/pydantic/pull/10214)
- Bump `pydantic-core` to `v2.23.2` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10311](https://redirect.github.com/pydantic/pydantic/pull/10311)

##### New Features

- Add support for `ZoneInfo` by
[@&#8203;Youssefares](https://redirect.github.com/Youssefares) in
[#&#8203;9896](https://redirect.github.com/pydantic/pydantic/pull/9896)
- Add `Config.val_json_bytes` by
[@&#8203;josh-newman](https://redirect.github.com/josh-newman) in
[#&#8203;9770](https://redirect.github.com/pydantic/pydantic/pull/9770)
- Add DSN for Snowflake by
[@&#8203;aditkumar72](https://redirect.github.com/aditkumar72) in
[#&#8203;10128](https://redirect.github.com/pydantic/pydantic/pull/10128)
- Support `complex` number by
[@&#8203;changhc](https://redirect.github.com/changhc) in
[#&#8203;9654](https://redirect.github.com/pydantic/pydantic/pull/9654)
- Add support for `annotated_types.Not` by
[@&#8203;aditkumar72](https://redirect.github.com/aditkumar72) in
[#&#8203;10210](https://redirect.github.com/pydantic/pydantic/pull/10210)
- Allow `WithJsonSchema` to inject `$ref`s w/ `http` or `https` links by
[@&#8203;dAIsySHEng1](https://redirect.github.com/dAIsySHEng1) in
[#&#8203;9863](https://redirect.github.com/pydantic/pydantic/pull/9863)
- Allow validators to customize validation JSON schema by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10094](https://redirect.github.com/pydantic/pydantic/pull/10094)
- Support parametrized `PathLike` types by
[@&#8203;nix010](https://redirect.github.com/nix010) in
[#&#8203;9764](https://redirect.github.com/pydantic/pydantic/pull/9764)
- Add tagged union serializer that attempts to use `str` or `callable`
discriminators to select the correct serializer by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in in
[pydantic/pydantic-core#1397](https://redirect.github.com/pydantic/pydantic-core/pull/1397)

##### Changes

- Breaking Change: Merge `dict` type `json_schema_extra` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9792](https://redirect.github.com/pydantic/pydantic/pull/9792)
- For more info (how to replicate old behavior) on this change, see
[here](https://docs.pydantic.dev/dev/concepts/json_schema/#merging-json_schema_extra)
- Refactor annotation injection for known (often generic) types by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9979](https://redirect.github.com/pydantic/pydantic/pull/9979)
- Move annotation compatibility errors to validation phase by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9999](https://redirect.github.com/pydantic/pydantic/pull/9999)
- Improve runtime errors for string constraints like `pattern` for
incompatible types by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10158](https://redirect.github.com/pydantic/pydantic/pull/10158)
- Remove `'allOf'` JSON schema workarounds by
[@&#8203;dpeachey](https://redirect.github.com/dpeachey) in
[#&#8203;10029](https://redirect.github.com/pydantic/pydantic/pull/10029)
- Remove `typed_dict_cls` data from `CoreMetadata` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10180](https://redirect.github.com/pydantic/pydantic/pull/10180)
- Deprecate passing a dict to the `Examples` class by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10181](https://redirect.github.com/pydantic/pydantic/pull/10181)
- Remove `initial_metadata` from internal metadata construct by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10194](https://redirect.github.com/pydantic/pydantic/pull/10194)
- Use `re.Pattern.search` instead of `re.Pattern.match` for consistency
with `rust` behavior by
[@&#8203;tinez](https://redirect.github.com/tinez) in
[pydantic/pydantic-core#1368](https://redirect.github.com/pydantic/pydantic-core/pull/1368)
- Show value of wrongly typed data in `pydantic-core` serialization
warning by [@&#8203;BoxyUwU](https://redirect.github.com/BoxyUwU) in
[pydantic/pydantic-core#1377](https://redirect.github.com/pydantic/pydantic-core/pull/1377)
- Breaking Change: in `pydantic-core`, change `metadata` type hint in
core schemas from `Any` -> `Dict[str, Any] | None` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[pydantic/pydantic-core#1411](https://redirect.github.com/pydantic/pydantic-core/pull/1411)
- Raise helpful warning when `self` isn't returned from model validator
by [@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10255](https://redirect.github.com/pydantic/pydantic/pull/10255)

##### Performance

- Initial start at improving import times for modules, using caching
primarily by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10009](https://redirect.github.com/pydantic/pydantic/pull/10009)
- Using cached internal import for `BaseModel` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10013](https://redirect.github.com/pydantic/pydantic/pull/10013)
- Simplify internal generics logic - remove generator overhead by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10059](https://redirect.github.com/pydantic/pydantic/pull/10059)
- Remove default module globals from types namespace by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10123](https://redirect.github.com/pydantic/pydantic/pull/10123)
- Performance boost: skip caching parent namespaces in most cases by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10113](https://redirect.github.com/pydantic/pydantic/pull/10113)
- Update ns stack with already copied ns by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10267](https://redirect.github.com/pydantic/pydantic/pull/10267)

##### Minor Internal Improvements

- ⚡️ Speed up `multiple_of_validator()` by 31% in
`pydantic/_internal/_validators.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9839](https://redirect.github.com/pydantic/pydantic/pull/9839)
- ⚡️ Speed up `ModelPrivateAttr.__set_name__()` by 18% in
`pydantic/fields.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9841](https://redirect.github.com/pydantic/pydantic/pull/9841)
- ⚡️ Speed up `dataclass()` by 7% in `pydantic/dataclasses.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9843](https://redirect.github.com/pydantic/pydantic/pull/9843)
- ⚡️ Speed up function `_field_name_for_signature` by 37% in
`pydantic/_internal/_signature.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9951](https://redirect.github.com/pydantic/pydantic/pull/9951)
- ⚡️ Speed up method `GenerateSchema._unpack_refs_defs` by 26% in
`pydantic/_internal/_generate_schema.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9949](https://redirect.github.com/pydantic/pydantic/pull/9949)
- ⚡️ Speed up function `apply_each_item_validators` by 100% in
`pydantic/_internal/_generate_schema.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9950](https://redirect.github.com/pydantic/pydantic/pull/9950)
- ⚡️ Speed up method `ConfigWrapper.core_config` by 28% in
`pydantic/_internal/_config.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9953](https://redirect.github.com/pydantic/pydantic/pull/9953)

##### Fixes

- Respect `use_enum_values` on `Literal` types by
[@&#8203;kwint](https://redirect.github.com/kwint) in
[#&#8203;9787](https://redirect.github.com/pydantic/pydantic/pull/9787)
- Prevent type error for exotic `BaseModel/RootModel` inheritance by
[@&#8203;dmontagu](https://redirect.github.com/dmontagu) in
[#&#8203;9913](https://redirect.github.com/pydantic/pydantic/pull/9913)
- Fix typing issue with field_validator-decorated methods by
[@&#8203;dmontagu](https://redirect.github.com/dmontagu) in
[#&#8203;9914](https://redirect.github.com/pydantic/pydantic/pull/9914)
- Replace `str` type annotation with `Any` in validator factories in
documentation on validators by
[@&#8203;maximilianfellhuber](https://redirect.github.com/maximilianfellhuber)
in
[#&#8203;9885](https://redirect.github.com/pydantic/pydantic/pull/9885)
- Fix `ComputedFieldInfo.wrapped_property` pointer when a property
setter is assigned by
[@&#8203;tlambert03](https://redirect.github.com/tlambert03) in
[#&#8203;9892](https://redirect.github.com/pydantic/pydantic/pull/9892)
- Fix recursive typing of `main.IncEnx` by
[@&#8203;tlambert03](https://redirect.github.com/tlambert03) in
[#&#8203;9924](https://redirect.github.com/pydantic/pydantic/pull/9924)
- Allow usage of `type[Annotated[...]]` by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;9932](https://redirect.github.com/pydantic/pydantic/pull/9932)
- `mypy` plugin: handle frozen fields on a per-field basis by
[@&#8203;dmontagu](https://redirect.github.com/dmontagu) in
[#&#8203;9935](https://redirect.github.com/pydantic/pydantic/pull/9935)
- Fix typo in `invalid-annotated-type` error code by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9948](https://redirect.github.com/pydantic/pydantic/pull/9948)
- Simplify schema generation for `uuid`, `url`, and `ip` types by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9975](https://redirect.github.com/pydantic/pydantic/pull/9975)
- Move `date` schemas to `_generate_schema.py` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9976](https://redirect.github.com/pydantic/pydantic/pull/9976)
- Move `decimal.Decimal` validation to `_generate_schema.py` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9977](https://redirect.github.com/pydantic/pydantic/pull/9977)
- Simplify IP address schema in `_std_types_schema.py` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9959](https://redirect.github.com/pydantic/pydantic/pull/9959)
- Fix type annotations for some potentially generic
`GenerateSchema.match_type` options by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9961](https://redirect.github.com/pydantic/pydantic/pull/9961)
- Add class name to "has conflict" warnings by
[@&#8203;msabramo](https://redirect.github.com/msabramo) in
[#&#8203;9964](https://redirect.github.com/pydantic/pydantic/pull/9964)
- Fix `dataclass` ignoring `default_factory` passed in Annotated by
[@&#8203;kc0506](https://redirect.github.com/kc0506) in
[#&#8203;9971](https://redirect.github.com/pydantic/pydantic/pull/9971)
- Fix `Sequence` ignoring `discriminator` by
[@&#8203;kc0506](https://redirect.github.com/kc0506) in
[#&#8203;9980](https://redirect.github.com/pydantic/pydantic/pull/9980)
- Fix typing for `IPvAnyAddress` and `IPvAnyInterface` by
[@&#8203;haoyun](https://redirect.github.com/haoyun) in
[#&#8203;9990](https://redirect.github.com/pydantic/pydantic/pull/9990)
- Fix false positives on v1 models in `mypy` plugin for `from_orm` check
requiring from_attributes=True config by
[@&#8203;radekwlsk](https://redirect.github.com/radekwlsk) in
[#&#8203;9938](https://redirect.github.com/pydantic/pydantic/pull/9938)
- Apply `strict=True` to `__init__` in `mypy` plugin by
[@&#8203;kc0506](https://redirect.github.com/kc0506) in
[#&#8203;9998](https://redirect.github.com/pydantic/pydantic/pull/9998)
- Refactor application of `deque` annotations by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10018](https://redirect.github.com/pydantic/pydantic/pull/10018)
- Raise a better user error when failing to evaluate a forward reference
by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10030](https://redirect.github.com/pydantic/pydantic/pull/10030)
- Fix evaluation of `__pydantic_extra__` annotation in specific
circumstances by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10070](https://redirect.github.com/pydantic/pydantic/pull/10070)
- Fix `frozen` enforcement for `dataclasses` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10066](https://redirect.github.com/pydantic/pydantic/pull/10066)
- Remove logic to handle unused `__get_pydantic_core_schema__` signature
by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10075](https://redirect.github.com/pydantic/pydantic/pull/10075)
- Use `is_annotated` consistently by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10095](https://redirect.github.com/pydantic/pydantic/pull/10095)
- Fix `PydanticDeprecatedSince26` typo by
[@&#8203;kc0506](https://redirect.github.com/kc0506) in
[#&#8203;10101](https://redirect.github.com/pydantic/pydantic/pull/10101)
- Improve `pyright` tests, refactor model decorators signatures by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10092](https://redirect.github.com/pydantic/pydantic/pull/10092)
- Fix `ip` serialization logic by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10112](https://redirect.github.com/pydantic/pydantic/pull/10112)
- Warn when frozen defined twice for `dataclasses` by
[@&#8203;mochi22](https://redirect.github.com/mochi22) in
[#&#8203;10082](https://redirect.github.com/pydantic/pydantic/pull/10082)
- Do not compute JSON Schema default when plain serializers are used
with `when_used` set to `'json-unless-none'` and the default value is
`None` by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10121](https://redirect.github.com/pydantic/pydantic/pull/10121)
- Fix `ImportString` special cases by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10137](https://redirect.github.com/pydantic/pydantic/pull/10137)
- Blacklist default globals to support exotic user code with `__`
prefixed annotations by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10136](https://redirect.github.com/pydantic/pydantic/pull/10136)
- Handle `nullable` schemas with `serialization` schema available during
JSON Schema generation by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10132](https://redirect.github.com/pydantic/pydantic/pull/10132)
- Reorganize `BaseModel` annotations by
[@&#8203;kc0506](https://redirect.github.com/kc0506) in
[#&#8203;10110](https://redirect.github.com/pydantic/pydantic/pull/10110)
- Fix core schema simplification when serialization schemas are involved
in specific scenarios by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10155](https://redirect.github.com/pydantic/pydantic/pull/10155)
- Add support for stringified annotations when using `PrivateAttr` with
`Annotated` by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10157](https://redirect.github.com/pydantic/pydantic/pull/10157)
- Fix JSON Schema `number` type for literal and enum schemas by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10172](https://redirect.github.com/pydantic/pydantic/pull/10172)
- Fix JSON Schema generation of fields with plain validators in
serialization mode by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10167](https://redirect.github.com/pydantic/pydantic/pull/10167)
- Fix invalid JSON Schemas being generated for functions in certain
scenarios by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10188](https://redirect.github.com/pydantic/pydantic/pull/10188)
- Make sure generated JSON Schemas are valid in tests by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10182](https://redirect.github.com/pydantic/pydantic/pull/10182)
- Fix key error with custom serializer by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10200](https://redirect.github.com/pydantic/pydantic/pull/10200)
- Add 'wss' for allowed schemes in NatsDsn by
[@&#8203;swelborn](https://redirect.github.com/swelborn) in
[#&#8203;10224](https://redirect.github.com/pydantic/pydantic/pull/10224)
- Fix `Mapping` and `MutableMapping` annotations to use mapping schema
instead of dict schema by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10020](https://redirect.github.com/pydantic/pydantic/pull/10020)
- Fix JSON Schema generation for constrained dates by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10185](https://redirect.github.com/pydantic/pydantic/pull/10185)
- Fix discriminated union bug regression when using enums by
[@&#8203;kfreezen](https://redirect.github.com/kfreezen) in
[pydantic/pydantic-core#1286](https://redirect.github.com/pydantic/pydantic-core/pull/1286)
- Fix `field_serializer` with computed field when using `*` by
[@&#8203;nix010](https://redirect.github.com/nix010) in
[pydantic/pydantic-core#1349](https://redirect.github.com/pydantic/pydantic-core/pull/1349)
- Try each option in `Union` serializer before inference by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[pydantic/pydantic-core#1398](https://redirect.github.com/pydantic/pydantic-core/pull/1398)
- Fix `float` serialization behavior in `strict` mode by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[pydantic/pydantic-core#1400](https://redirect.github.com/pydantic/pydantic-core/pull/1400)
- Introduce `exactness` into Decimal validation logic to improve union
validation behavior by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in in
[pydantic/pydantic-core#1405](https://redirect.github.com/pydantic/pydantic-core/pull/1405)
- Fix new warnings assertions to use `pytest.warns()` by
[@&#8203;mgorny](https://redirect.github.com/mgorny) in
[#&#8203;10241](https://redirect.github.com/pydantic/pydantic/pull/10241)
- Fix a crash when cleaning the namespace in `ModelMetaclass` by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10242](https://redirect.github.com/pydantic/pydantic/pull/10242)
- Fix parent namespace issue with model rebuilds by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10257](https://redirect.github.com/pydantic/pydantic/pull/10257)
- Remove defaults filter for namespace by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10261](https://redirect.github.com/pydantic/pydantic/pull/10261)
- Use identity instead of equality after validating model in `__init__`
by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10264](https://redirect.github.com/pydantic/pydantic/pull/10264)
- Support `BigInt` serialization for `int` subclasses by
[@&#8203;kxx317](https://redirect.github.com/kxx317) in
[pydantic/pydantic-core#1417](https://redirect.github.com/pydantic/pydantic-core/pull/1417)
- Support signature for wrap validators without `info` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10277](https://redirect.github.com/pydantic/pydantic/pull/10277)
- Ensure `__pydantic_complete__` is set when rebuilding `dataclasses` by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10291](https://redirect.github.com/pydantic/pydantic/pull/10291)
- Respect `schema_generator` config value in `TypeAdapter` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10300](https://redirect.github.com/pydantic/pydantic/pull/10300)

##### New Contributors

##### `pydantic`

- [@&#8203;kwint](https://redirect.github.com/kwint) made their first
contribution in
[#&#8203;9787](https://redirect.github.com/pydantic/pydantic/pull/9787)
-
[@&#8203;seekinginfiniteloop](https://redirect.github.com/seekinginfiniteloop)
made their first contribution in
[#&#8203;9822](https://redirect.github.com/pydantic/pydantic/pull/9822)
- [@&#8203;a-alexander](https://redirect.github.com/a-alexander) made
their first contribution in
[#&#8203;9848](https://redirect.github.com/pydantic/pydantic/pull/9848)
-
[@&#8203;maximilianfellhuber](https://redirect.github.com/maximilianfellhuber)
made their first contribution in
[#&#8203;9885](https://redirect.github.com/pydantic/pydantic/pull/9885)
- [@&#8203;karmaBonfire](https://redirect.github.com/karmaBonfire) made
their first contribution in
[#&#8203;9945](https://redirect.github.com/pydantic/pydantic/pull/9945)
- [@&#8203;s-rigaud](https://redirect.github.com/s-rigaud) made their
first contribution in
[#&#8203;9958](https://redirect.github.com/pydantic/pydantic/pull/9958)
- [@&#8203;msabramo](https://redirect.github.com/msabramo) made their
first contribution in
[#&#8203;9964](https://redirect.github.com/pydantic/pydantic/pull/9964)
- [@&#8203;DimaCybr](https://redirect.github.com/DimaCybr) made their
first contribution in
[#&#8203;9972](https://redirect.github.com/pydantic/pydantic/pull/9972)
- [@&#8203;kc0506](https://redirect.github.com/kc0506) made their first
contribution in
[#&#8203;9971](https://redirect.github.com/pydantic/pydantic/pull/9971)
- [@&#8203;haoyun](https://redirect.github.com/haoyun) made their first
contribution in
[#&#8203;9990](https://redirect.github.com/pydantic/pydantic/pull/9990)
- [@&#8203;radekwlsk](https://redirect.github.com/radekwlsk) made their
first contribution in
[#&#8203;9938](https://redirect.github.com/pydantic/pydantic/pull/9938)
- [@&#8203;dpeachey](https://redirect.github.com/dpeachey) made their
first contribution in
[#&#8203;10029](https://redirect.github.com/pydantic/pydantic/pull/10029)
- [@&#8203;BoxyUwU](https://redirect.github.com/BoxyUwU) made their
first contribution in
[#&#8203;10085](https://redirect.github.com/pydantic/pydantic/pull/10085)
- [@&#8203;mochi22](https://redirect.github.com/mochi22) made their
first contribution in
[#&#8203;10082](https://redirect.github.com/pydantic/pydantic/pull/10082)
- [@&#8203;aditkumar72](https://redirect.github.com/aditkumar72) made
their first contribution in
[#&#8203;10128](https://redirect.github.com/pydantic/pydantic/pull/10128)
- [@&#8203;changhc](https://redirect.github.com/changhc) made their
first contribution in
[#&#8203;9654](https://redirect.github.com/pydantic/pydantic/pull/9654)
- [@&#8203;insumanth](https://redirect.github.com/insumanth) made their
first contribution in
[#&#8203;10229](https://redirect.github.com/pydantic/pydantic/pull/10229)
-
[@&#8203;AdolfoVillalobos](https://redirect.github.com/AdolfoVillalobos)
made their first contribution in
[#&#8203;10240](https://redirect.github.com/pydantic/pydantic/pull/10240)
- [@&#8203;bllchmbrs](https://redirect.github.com/bllchmbrs) made their
first contribution in
[#&#8203;10270](https://redirect.github.com/pydantic/pydantic/pull/10270)

##### `pydantic-core`

- [@&#8203;kfreezen](https://redirect.github.com/kfreezen) made their
first contribution in
[pydantic/pydantic-core#1286](https://redirect.github.com/pydantic/pydantic-core/pull/1286)
- [@&#8203;tinez](https://redirect.github.com/tinez) made their first
contribution in
[pydantic/pydantic-core#1368](https://redirect.github.com/pydantic/pydantic-core/pull/1368)
- [@&#8203;fft001](https://redirect.github.com/fft001) made their first
contribution in
[pydantic/pydantic-core#1362](https://redirect.github.com/pydantic/pydantic-core/pull/1362)
- [@&#8203;nix010](https://redirect.github.com/nix010) made their first
contribution in
[pydantic/pydantic-core#1349](https://redirect.github.com/pydantic/pydantic-core/pull/1349)
- [@&#8203;BoxyUwU](https://redirect.github.com/BoxyUwU) made their
first contribution in
[pydantic/pydantic-core#1379](https://redirect.github.com/pydantic/pydantic-core/pull/1379)
- [@&#8203;candleindark](https://redirect.github.com/candleindark) made
their first contribution in
[pydantic/pydantic-core#1404](https://redirect.github.com/pydantic/pydantic-core/pull/1404)
- [@&#8203;changhc](https://redirect.github.com/changhc) made their
first contribution in
[pydantic/pydantic-core#1331](https://redirect.github.com/pydantic/pydantic-core/pull/1331)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/spiraldb/ziggy-pydust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
adamnolte pushed a commit to autoblocksai/autoblocks-examples that referenced this pull request Sep 9, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@headlessui/react](https://redirect.github.com/tailwindlabs/headlessui)
([source](https://redirect.github.com/tailwindlabs/headlessui/tree/HEAD/packages/@headlessui-react))
| [`2.1.3` ->
`2.1.5`](https://renovatebot.com/diffs/npm/@headlessui%2freact/2.1.3/2.1.5)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@headlessui%2freact/2.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@headlessui%2freact/2.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@headlessui%2freact/2.1.3/2.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@headlessui%2freact/2.1.3/2.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@tailwindcss/forms](https://redirect.github.com/tailwindlabs/tailwindcss-forms)
| [`0.5.8` ->
`0.5.9`](https://renovatebot.com/diffs/npm/@tailwindcss%2fforms/0.5.8/0.5.9)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fforms/0.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fforms/0.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fforms/0.5.8/0.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fforms/0.5.8/0.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.16.3` ->
`20.16.5`](https://renovatebot.com/diffs/npm/@types%2fnode/20.16.3/20.16.5)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.16.3/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.16.3/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [ai](https://sdk.vercel.ai/docs)
([source](https://redirect.github.com/vercel/ai)) | [`3.3.25` ->
`3.3.30`](https://renovatebot.com/diffs/npm/ai/3.3.25/3.3.30) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/ai/3.3.30?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/3.3.30?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/3.3.25/3.3.30?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/3.3.25/3.3.30?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-config-next](https://nextjs.org/docs/app/building-your-application/configuring/eslint#eslint-config)
([source](https://redirect.github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next))
| [`14.2.7` ->
`14.2.8`](https://renovatebot.com/diffs/npm/eslint-config-next/14.2.7/14.2.8)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-config-next/14.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-config-next/14.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-config-next/14.2.7/14.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-config-next/14.2.7/14.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [guardrails-ai](https://www.guardrailsai.com/) | `0.5.6` -> `0.5.7` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/guardrails-ai/0.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/guardrails-ai/0.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/guardrails-ai/0.5.6/0.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/guardrails-ai/0.5.6/0.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [next](https://nextjs.org)
([source](https://redirect.github.com/vercel/next.js)) | [`14.2.7` ->
`14.2.8`](https://renovatebot.com/diffs/npm/next/14.2.7/14.2.8) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/next/14.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/next/14.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/next/14.2.7/14.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/next/14.2.7/14.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [openai](https://redirect.github.com/openai/openai-python) | `1.43.0`
-> `1.44.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/openai/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/openai/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/openai/1.43.0/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/openai/1.43.0/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [openai](https://redirect.github.com/openai/openai-node) | [`4.57.0`
-> `4.58.1`](https://renovatebot.com/diffs/npm/openai/4.57.0/4.58.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.58.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.58.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.57.0/4.58.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.57.0/4.58.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [postcss](https://postcss.org/)
([source](https://redirect.github.com/postcss/postcss)) | [`8.4.44` ->
`8.4.45`](https://renovatebot.com/diffs/npm/postcss/8.4.44/8.4.45) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.4.45?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/postcss/8.4.45?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/postcss/8.4.44/8.4.45?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.4.44/8.4.45?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pydantic](https://redirect.github.com/pydantic/pydantic)
([changelog](https://docs.pydantic.dev/latest/changelog/)) | `2.8.2` ->
`2.9.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.8.2/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.8.2/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://redirect.github.com/microsoft/TypeScript)) | [`5.5.4`
-> `5.6.2`](https://renovatebot.com/diffs/npm/typescript/5.5.4/5.6.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.5.4/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.5.4/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>tailwindlabs/headlessui (@&#8203;headlessui/react)</summary>

###
[`v2.1.5`](https://redirect.github.com/tailwindlabs/headlessui/blob/HEAD/packages/@&#8203;headlessui-react/CHANGELOG.md#215---2024-09-04)

[Compare
Source](https://redirect.github.com/tailwindlabs/headlessui/compare/@headlessui/react@v2.1.4...@headlessui/react@v2.1.5)

##### Fixed

- Fix transition bug on Firefox, triggered by clicking the
`PopoverButton` in rapid succession
([#&#8203;3452](https://redirect.github.com/tailwindlabs/headlessui/pull/3452))

###
[`v2.1.4`](https://redirect.github.com/tailwindlabs/headlessui/blob/HEAD/packages/@&#8203;headlessui-react/CHANGELOG.md#214---2024-09-03)

[Compare
Source](https://redirect.github.com/tailwindlabs/headlessui/compare/@headlessui/react@v2.1.3...@headlessui/react@v2.1.4)

##### Fixed

- Fix components not closing properly when using the `transition` prop
([#&#8203;3448](https://redirect.github.com/tailwindlabs/headlessui/pull/3448))

</details>

<details>
<summary>tailwindlabs/tailwindcss-forms
(@&#8203;tailwindcss/forms)</summary>

###
[`v0.5.9`](https://redirect.github.com/tailwindlabs/tailwindcss-forms/blob/HEAD/CHANGELOG.md#059---2024-09-05)

[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss-forms/compare/v0.5.8...v0.5.9)

##### Fixed

- Fallback to static chevron color if theme is using variables
([#&#8203;167](https://redirect.github.com/tailwindlabs/tailwindcss-forms/pull/167))

</details>

<details>
<summary>vercel/ai (ai)</summary>

###
[`v3.3.30`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.30)

[Compare
Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.29...ai@3.3.30)

##### Patch Changes

- [`6ee1f8e`](https://redirect.github.com/vercel/ai/commit/6ee1f8e):
feat (ai/core): add toDataStream to streamText result

###
[`v3.3.29`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.29)

[Compare
Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.28...ai@3.3.29)

##### Patch Changes

- [`1e3dfd2`](https://redirect.github.com/vercel/ai/commit/1e3dfd2):
feat (ai/core): enhance pipeToData/TextStreamResponse methods

###
[`v3.3.28`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.28)

[Compare
Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.27...ai@3.3.28)

##### Patch Changes

- [`db61c53`](https://redirect.github.com/vercel/ai/commit/db61c53):
feat (ai/core): middleware support

###
[`v3.3.27`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.27)

[Compare
Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.26...ai@3.3.27)

##### Patch Changes

- [`03313cd`](https://redirect.github.com/vercel/ai/commit/03313cd):
feat (ai): expose response id, response model, response timestamp in
telemetry and api
- [`3be7c1c`](https://redirect.github.com/vercel/ai/commit/3be7c1c): fix
(provider/anthropic): support prompt caching on assistant messages
- Updated dependencies
\[[`03313cd`](https://redirect.github.com/vercel/ai/commit/03313cd)]
- Updated dependencies
\[[`3be7c1c`](https://redirect.github.com/vercel/ai/commit/3be7c1c)]
-
[@&#8203;ai-sdk/provider-utils](https://redirect.github.com/ai-sdk/provider-utils)[@&#8203;1](https://redirect.github.com/1).0.18
-
[@&#8203;ai-sdk/provider](https://redirect.github.com/ai-sdk/provider)[@&#8203;0](https://redirect.github.com/0).0.23
-
[@&#8203;ai-sdk/react](https://redirect.github.com/ai-sdk/react)[@&#8203;0](https://redirect.github.com/0).0.55
-
[@&#8203;ai-sdk/solid](https://redirect.github.com/ai-sdk/solid)[@&#8203;0](https://redirect.github.com/0).0.44
-
[@&#8203;ai-sdk/svelte](https://redirect.github.com/ai-sdk/svelte)[@&#8203;0](https://redirect.github.com/0).0.46
-
[@&#8203;ai-sdk/ui-utils](https://redirect.github.com/ai-sdk/ui-utils)[@&#8203;0](https://redirect.github.com/0).0.41
-
[@&#8203;ai-sdk/vue](https://redirect.github.com/ai-sdk/vue)[@&#8203;0](https://redirect.github.com/0).0.46

###
[`v3.3.26`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.26)

[Compare
Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.25...ai@3.3.26)

##### Patch Changes

- Updated dependencies
\[[`4ab883f`](https://redirect.github.com/vercel/ai/commit/4ab883f)]
-
[@&#8203;ai-sdk/react](https://redirect.github.com/ai-sdk/react)[@&#8203;0](https://redirect.github.com/0).0.54

</details>

<details>
<summary>vercel/next.js (eslint-config-next)</summary>

###
[`v14.2.8`](https://redirect.github.com/vercel/next.js/compare/v14.2.7...v14.2.8)

[Compare
Source](https://redirect.github.com/vercel/next.js/compare/v14.2.7...v14.2.8)

</details>

<details>
<summary>vercel/next.js (next)</summary>

###
[`v14.2.8`](https://redirect.github.com/vercel/next.js/compare/v14.2.7...v14.2.8)

[Compare
Source](https://redirect.github.com/vercel/next.js/compare/v14.2.7...v14.2.8)

</details>

<details>
<summary>openai/openai-python (openai)</summary>

###
[`v1.44.0`](https://redirect.github.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1440-2024-09-06)

[Compare
Source](https://redirect.github.com/openai/openai-python/compare/v1.43.1...v1.44.0)

Full Changelog:
[v1.43.1...v1.44.0](https://redirect.github.com/openai/openai-python/compare/v1.43.1...v1.44.0)

##### Features

- **vector store:** improve chunking strategy type names
([#&#8203;1690](https://redirect.github.com/openai/openai-python/issues/1690))
([e82cd85](https://redirect.github.com/openai/openai-python/commit/e82cd85ac4962e36cb3b139c503069b56918688f))

###
[`v1.43.1`](https://redirect.github.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1431-2024-09-05)

[Compare
Source](https://redirect.github.com/openai/openai-python/compare/v1.43.0...v1.43.1)

Full Changelog:
[v1.43.0...v1.43.1](https://redirect.github.com/openai/openai-python/compare/v1.43.0...v1.43.1)

##### Chores

- pyproject.toml formatting changes
([#&#8203;1687](https://redirect.github.com/openai/openai-python/issues/1687))
([3387ede](https://redirect.github.com/openai/openai-python/commit/3387ede0b896788bf1197378b01941c75bd6e179))

</details>

<details>
<summary>openai/openai-node (openai)</summary>

###
[`v4.58.1`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4581-2024-09-06)

[Compare
Source](https://redirect.github.com/openai/openai-node/compare/v4.58.0...v4.58.1)

Full Changelog:
[v4.58.0...v4.58.1](https://redirect.github.com/openai/openai-node/compare/v4.58.0...v4.58.1)

##### Chores

- **docs:** update browser support information
([#&#8203;1045](https://redirect.github.com/openai/openai-node/issues/1045))
([d326cc5](https://redirect.github.com/openai/openai-node/commit/d326cc54a77c450672fbf07d736cec80a9ba72fb))

###
[`v4.58.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4580-2024-09-05)

[Compare
Source](https://redirect.github.com/openai/openai-node/compare/v4.57.3...v4.58.0)

Full Changelog:
[v4.57.3...v4.58.0](https://redirect.github.com/openai/openai-node/compare/v4.57.3...v4.58.0)

##### Features

- **vector store:** improve chunking strategy type names
([#&#8203;1041](https://redirect.github.com/openai/openai-node/issues/1041))
([471cec3](https://redirect.github.com/openai/openai-node/commit/471cec3228886253f07c13a362827a31e9ec7b63))

##### Bug Fixes

- **uploads:** avoid making redundant memory copies
([#&#8203;1043](https://redirect.github.com/openai/openai-node/issues/1043))
([271297b](https://redirect.github.com/openai/openai-node/commit/271297bd32393d4c5663023adf82f8fb19dc3d25))

###
[`v4.57.3`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4573-2024-09-04)

[Compare
Source](https://redirect.github.com/openai/openai-node/compare/v4.57.2...v4.57.3)

Full Changelog:
[v4.57.2...v4.57.3](https://redirect.github.com/openai/openai-node/compare/v4.57.2...v4.57.3)

##### Bug Fixes

- **helpers/zod:** avoid import issue in certain environments
([#&#8203;1039](https://redirect.github.com/openai/openai-node/issues/1039))
([e238daa](https://redirect.github.com/openai/openai-node/commit/e238daa7c12f3fb13369f58b9d405365f5efcc8f))

##### Chores

- **internal:** minor bump qs version
([#&#8203;1037](https://redirect.github.com/openai/openai-node/issues/1037))
([8ec218e](https://redirect.github.com/openai/openai-node/commit/8ec218e9efb657927b3c0346822a96872aeaf137))

###
[`v4.57.2`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4572-2024-09-04)

[Compare
Source](https://redirect.github.com/openai/openai-node/compare/v4.57.1...v4.57.2)

Full Changelog:
[v4.57.1...v4.57.2](https://redirect.github.com/openai/openai-node/compare/v4.57.1...v4.57.2)

##### Chores

- **internal:** dependency updates
([#&#8203;1035](https://redirect.github.com/openai/openai-node/issues/1035))
([e815fb6](https://redirect.github.com/openai/openai-node/commit/e815fb6dee75219563d3a7776774ba1c2984560e))

###
[`v4.57.1`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4571-2024-09-03)

[Compare
Source](https://redirect.github.com/openai/openai-node/compare/v4.57.0...v4.57.1)

Full Changelog:
[v4.57.0...v4.57.1](https://redirect.github.com/openai/openai-node/compare/v4.57.0...v4.57.1)

##### Bug Fixes

- **assistants:** correctly accumulate tool calls when streaming
([#&#8203;1031](https://redirect.github.com/openai/openai-node/issues/1031))
([d935ad3](https://redirect.github.com/openai/openai-node/commit/d935ad3fa37b2701f4c9f6e433ada6074280a871))
- **client:** correct File construction from node-fetch Responses
([#&#8203;1029](https://redirect.github.com/openai/openai-node/issues/1029))
([22ebdc2](https://redirect.github.com/openai/openai-node/commit/22ebdc2ca7d98e0f266110c4cf827e53a0a22026))
- runTools without stream should not emit user message events
([#&#8203;1005](https://redirect.github.com/openai/openai-node/issues/1005))
([22ded4d](https://redirect.github.com/openai/openai-node/commit/22ded4d549a157482a8de2faf65e92c5be07fa95))

##### Chores

- **internal/tests:** workaround bug in recent types/node release
([3c7bdfd](https://redirect.github.com/openai/openai-node/commit/3c7bdfdb373bff77db0e3fecd5d49ddfa4284cd9))

</details>

<details>
<summary>postcss/postcss (postcss)</summary>

###
[`v8.4.45`](https://redirect.github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8445)

[Compare
Source](https://redirect.github.com/postcss/postcss/compare/8.4.44...8.4.45)

-   Removed unnecessary fix which could lead to infinite loop.

</details>

<details>
<summary>pydantic/pydantic (pydantic)</summary>

###
[`v2.9.1`](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.9.1):
(2024-09-09)

[Compare
Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.0...v2.9.1)

#### What's Changed

##### Fixes

- Fix Predicate issue in v2.9.0 by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10321](https://redirect.github.com/pydantic/pydantic/pull/10321)
- Fixing `annotated-types` bound to `>=0.6.0` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10327](https://redirect.github.com/pydantic/pydantic/pull/10327)
- Turn `tzdata` install requirement into optional `timezone` dependency
by [@&#8203;jakob-keller](https://redirect.github.com/jakob-keller) in
[#&#8203;10331](https://redirect.github.com/pydantic/pydantic/pull/10331)
- Fix `IncExc` type alias definition by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10339](https://redirect.github.com/pydantic/pydantic/pull/10339)
- Use correct types namespace when building namedtuple core schemas by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10337](https://redirect.github.com/pydantic/pydantic/pull/10337)
- Fix evaluation of stringified annotations during namespace inspection
by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10347](https://redirect.github.com/pydantic/pydantic/pull/10347)
- Fix tagged union serialization with alias generators by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[pydantic/pydantic-core#1442](https://redirect.github.com/pydantic/pydantic-core/pull/1442)

**Full Changelog**:
pydantic/pydantic@v2.9.0...v2.9.1

###
[`v2.9.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v290-2024-09-05)

[Compare
Source](https://redirect.github.com/pydantic/pydantic/compare/v2.8.2...v2.9.0)

[GitHub
release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.9.0)

The code released in v2.9.0 is practically identical to that of
v2.9.0b2.

##### What's Changed

##### Packaging

- Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9801](https://redirect.github.com/pydantic/pydantic/pull/9801)
- Bump `pydantic-extra-types` to `v2.9.0` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9832](https://redirect.github.com/pydantic/pydantic/pull/9832)
- Support compatibility with `pdm v2.18.1` by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10138](https://redirect.github.com/pydantic/pydantic/pull/10138)
- Bump `v1` version stub to `v1.10.18` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10214](https://redirect.github.com/pydantic/pydantic/pull/10214)
- Bump `pydantic-core` to `v2.23.2` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10311](https://redirect.github.com/pydantic/pydantic/pull/10311)

##### New Features

- Add support for `ZoneInfo` by
[@&#8203;Youssefares](https://redirect.github.com/Youssefares) in
[#&#8203;9896](https://redirect.github.com/pydantic/pydantic/pull/9896)
- Add `Config.val_json_bytes` by
[@&#8203;josh-newman](https://redirect.github.com/josh-newman) in
[#&#8203;9770](https://redirect.github.com/pydantic/pydantic/pull/9770)
- Add DSN for Snowflake by
[@&#8203;aditkumar72](https://redirect.github.com/aditkumar72) in
[#&#8203;10128](https://redirect.github.com/pydantic/pydantic/pull/10128)
- Support `complex` number by
[@&#8203;changhc](https://redirect.github.com/changhc) in
[#&#8203;9654](https://redirect.github.com/pydantic/pydantic/pull/9654)
- Add support for `annotated_types.Not` by
[@&#8203;aditkumar72](https://redirect.github.com/aditkumar72) in
[#&#8203;10210](https://redirect.github.com/pydantic/pydantic/pull/10210)
- Allow `WithJsonSchema` to inject `$ref`s w/ `http` or `https` links by
[@&#8203;dAIsySHEng1](https://redirect.github.com/dAIsySHEng1) in
[#&#8203;9863](https://redirect.github.com/pydantic/pydantic/pull/9863)
- Allow validators to customize validation JSON schema by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10094](https://redirect.github.com/pydantic/pydantic/pull/10094)
- Support parametrized `PathLike` types by
[@&#8203;nix010](https://redirect.github.com/nix010) in
[#&#8203;9764](https://redirect.github.com/pydantic/pydantic/pull/9764)
- Add tagged union serializer that attempts to use `str` or `callable`
discriminators to select the correct serializer by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in in
[pydantic/pydantic-core#1397](https://redirect.github.com/pydantic/pydantic-core/pull/1397)

##### Changes

- Breaking Change: Merge `dict` type `json_schema_extra` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9792](https://redirect.github.com/pydantic/pydantic/pull/9792)
- For more info (how to replicate old behavior) on this change, see
[here](https://docs.pydantic.dev/dev/concepts/json_schema/#merging-json_schema_extra)
- Refactor annotation injection for known (often generic) types by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9979](https://redirect.github.com/pydantic/pydantic/pull/9979)
- Move annotation compatibility errors to validation phase by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9999](https://redirect.github.com/pydantic/pydantic/pull/9999)
- Improve runtime errors for string constraints like `pattern` for
incompatible types by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10158](https://redirect.github.com/pydantic/pydantic/pull/10158)
- Remove `'allOf'` JSON schema workarounds by
[@&#8203;dpeachey](https://redirect.github.com/dpeachey) in
[#&#8203;10029](https://redirect.github.com/pydantic/pydantic/pull/10029)
- Remove `typed_dict_cls` data from `CoreMetadata` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10180](https://redirect.github.com/pydantic/pydantic/pull/10180)
- Deprecate passing a dict to the `Examples` class by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10181](https://redirect.github.com/pydantic/pydantic/pull/10181)
- Remove `initial_metadata` from internal metadata construct by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10194](https://redirect.github.com/pydantic/pydantic/pull/10194)
- Use `re.Pattern.search` instead of `re.Pattern.match` for consistency
with `rust` behavior by
[@&#8203;tinez](https://redirect.github.com/tinez) in
[pydantic/pydantic-core#1368](https://redirect.github.com/pydantic/pydantic-core/pull/1368)
- Show value of wrongly typed data in `pydantic-core` serialization
warning by [@&#8203;BoxyUwU](https://redirect.github.com/BoxyUwU) in
[pydantic/pydantic-core#1377](https://redirect.github.com/pydantic/pydantic-core/pull/1377)
- Breaking Change: in `pydantic-core`, change `metadata` type hint in
core schemas from `Any` -> `Dict[str, Any] | None` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[pydantic/pydantic-core#1411](https://redirect.github.com/pydantic/pydantic-core/pull/1411)
- Raise helpful warning when `self` isn't returned from model validator
by [@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10255](https://redirect.github.com/pydantic/pydantic/pull/10255)

##### Performance

- Initial start at improving import times for modules, using caching
primarily by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10009](https://redirect.github.com/pydantic/pydantic/pull/10009)
- Using cached internal import for `BaseModel` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10013](https://redirect.github.com/pydantic/pydantic/pull/10013)
- Simplify internal generics logic - remove generator overhead by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10059](https://redirect.github.com/pydantic/pydantic/pull/10059)
- Remove default module globals from types namespace by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10123](https://redirect.github.com/pydantic/pydantic/pull/10123)
- Performance boost: skip caching parent namespaces in most cases by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10113](https://redirect.github.com/pydantic/pydantic/pull/10113)
- Update ns stack with already copied ns by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10267](https://redirect.github.com/pydantic/pydantic/pull/10267)

##### Minor Internal Improvements

- ⚡️ Speed up `multiple_of_validator()` by 31% in
`pydantic/_internal/_validators.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9839](https://redirect.github.com/pydantic/pydantic/pull/9839)
- ⚡️ Speed up `ModelPrivateAttr.__set_name__()` by 18% in
`pydantic/fields.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9841](https://redirect.github.com/pydantic/pydantic/pull/9841)
- ⚡️ Speed up `dataclass()` by 7% in `pydantic/dataclasses.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9843](https://redirect.github.com/pydantic/pydantic/pull/9843)
- ⚡️ Speed up function `_field_name_for_signature` by 37% in
`pydantic/_internal/_signature.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9951](https://redirect.github.com/pydantic/pydantic/pull/9951)
- ⚡️ Speed up method `GenerateSchema._unpack_refs_defs` by 26% in
`pydantic/_internal/_generate_schema.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9949](https://redirect.github.com/pydantic/pydantic/pull/9949)
- ⚡️ Speed up function `apply_each_item_validators` by 100% in
`pydantic/_internal/_generate_schema.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9950](https://redirect.github.com/pydantic/pydantic/pull/9950)
- ⚡️ Speed up method `ConfigWrapper.core_config` by 28% in
`pydantic/_internal/_config.py` by
[@&#8203;misrasaurabh1](https://redirect.github.com/misrasaurabh1) in
[#&#8203;9953](https://redirect.github.com/pydantic/pydantic/pull/9953)

##### Fixes

- Respect `use_enum_values` on `Literal` types by
[@&#8203;kwint](https://redirect.github.com/kwint) in
[#&#8203;9787](https://redirect.github.com/pydantic/pydantic/pull/9787)
- Prevent type error for exotic `BaseModel/RootModel` inheritance by
[@&#8203;dmontagu](https://redirect.github.com/dmontagu) in
[#&#8203;9913](https://redirect.github.com/pydantic/pydantic/pull/9913)
- Fix typing issue with field_validator-decorated methods by
[@&#8203;dmontagu](https://redirect.github.com/dmontagu) in
[#&#8203;9914](https://redirect.github.com/pydantic/pydantic/pull/9914)
- Replace `str` type annotation with `Any` in validator factories in
documentation on validators by
[@&#8203;maximilianfellhuber](https://redirect.github.com/maximilianfellhuber)
in
[#&#8203;9885](https://redirect.github.com/pydantic/pydantic/pull/9885)
- Fix `ComputedFieldInfo.wrapped_property` pointer when a property
setter is assigned by
[@&#8203;tlambert03](https://redirect.github.com/tlambert03) in
[#&#8203;9892](https://redirect.github.com/pydantic/pydantic/pull/9892)
- Fix recursive typing of `main.IncEnx` by
[@&#8203;tlambert03](https://redirect.github.com/tlambert03) in
[#&#8203;9924](https://redirect.github.com/pydantic/pydantic/pull/9924)
- Allow usage of `type[Annotated[...]]` by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;9932](https://redirect.github.com/pydantic/pydantic/pull/9932)
- `mypy` plugin: handle frozen fields on a per-field basis by
[@&#8203;dmontagu](https://redirect.github.com/dmontagu) in
[#&#8203;9935](https://redirect.github.com/pydantic/pydantic/pull/9935)
- Fix typo in `invalid-annotated-type` error code by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9948](https://redirect.github.com/pydantic/pydantic/pull/9948)
- Simplify schema generation for `uuid`, `url`, and `ip` types by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9975](https://redirect.github.com/pydantic/pydantic/pull/9975)
- Move `date` schemas to `_generate_schema.py` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9976](https://redirect.github.com/pydantic/pydantic/pull/9976)
- Move `decimal.Decimal` validation to `_generate_schema.py` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9977](https://redirect.github.com/pydantic/pydantic/pull/9977)
- Simplify IP address schema in `_std_types_schema.py` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9959](https://redirect.github.com/pydantic/pydantic/pull/9959)
- Fix type annotations for some potentially generic
`GenerateSchema.match_type` options by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;9961](https://redirect.github.com/pydantic/pydantic/pull/9961)
- Add class name to "has conflict" warnings by
[@&#8203;msabramo](https://redirect.github.com/msabramo) in
[#&#8203;9964](https://redirect.github.com/pydantic/pydantic/pull/9964)
- Fix `dataclass` ignoring `default_factory` passed in Annotated by
[@&#8203;kc0506](https://redirect.github.com/kc0506) in
[#&#8203;9971](https://redirect.github.com/pydantic/pydantic/pull/9971)
- Fix `Sequence` ignoring `discriminator` by
[@&#8203;kc0506](https://redirect.github.com/kc0506) in
[#&#8203;9980](https://redirect.github.com/pydantic/pydantic/pull/9980)
- Fix typing for `IPvAnyAddress` and `IPvAnyInterface` by
[@&#8203;haoyun](https://redirect.github.com/haoyun) in
[#&#8203;9990](https://redirect.github.com/pydantic/pydantic/pull/9990)
- Fix false positives on v1 models in `mypy` plugin for `from_orm` check
requiring from_attributes=True config by
[@&#8203;radekwlsk](https://redirect.github.com/radekwlsk) in
[#&#8203;9938](https://redirect.github.com/pydantic/pydantic/pull/9938)
- Apply `strict=True` to `__init__` in `mypy` plugin by
[@&#8203;kc0506](https://redirect.github.com/kc0506) in
[#&#8203;9998](https://redirect.github.com/pydantic/pydantic/pull/9998)
- Refactor application of `deque` annotations by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10018](https://redirect.github.com/pydantic/pydantic/pull/10018)
- Raise a better user error when failing to evaluate a forward reference
by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10030](https://redirect.github.com/pydantic/pydantic/pull/10030)
- Fix evaluation of `__pydantic_extra__` annotation in specific
circumstances by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10070](https://redirect.github.com/pydantic/pydantic/pull/10070)
- Fix `frozen` enforcement for `dataclasses` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10066](https://redirect.github.com/pydantic/pydantic/pull/10066)
- Remove logic to handle unused `__get_pydantic_core_schema__` signature
by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10075](https://redirect.github.com/pydantic/pydantic/pull/10075)
- Use `is_annotated` consistently by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10095](https://redirect.github.com/pydantic/pydantic/pull/10095)
- Fix `PydanticDeprecatedSince26` typo by
[@&#8203;kc0506](https://redirect.github.com/kc0506) in
[#&#8203;10101](https://redirect.github.com/pydantic/pydantic/pull/10101)
- Improve `pyright` tests, refactor model decorators signatures by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10092](https://redirect.github.com/pydantic/pydantic/pull/10092)
- Fix `ip` serialization logic by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10112](https://redirect.github.com/pydantic/pydantic/pull/10112)
- Warn when frozen defined twice for `dataclasses` by
[@&#8203;mochi22](https://redirect.github.com/mochi22) in
[#&#8203;10082](https://redirect.github.com/pydantic/pydantic/pull/10082)
- Do not compute JSON Schema default when plain serializers are used
with `when_used` set to `'json-unless-none'` and the default value is
`None` by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10121](https://redirect.github.com/pydantic/pydantic/pull/10121)
- Fix `ImportString` special cases by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10137](https://redirect.github.com/pydantic/pydantic/pull/10137)
- Blacklist default globals to support exotic user code with `__`
prefixed annotations by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10136](https://redirect.github.com/pydantic/pydantic/pull/10136)
- Handle `nullable` schemas with `serialization` schema available during
JSON Schema generation by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10132](https://redirect.github.com/pydantic/pydantic/pull/10132)
- Reorganize `BaseModel` annotations by
[@&#8203;kc0506](https://redirect.github.com/kc0506) in
[#&#8203;10110](https://redirect.github.com/pydantic/pydantic/pull/10110)
- Fix core schema simplification when serialization schemas are involved
in specific scenarios by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10155](https://redirect.github.com/pydantic/pydantic/pull/10155)
- Add support for stringified annotations when using `PrivateAttr` with
`Annotated` by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10157](https://redirect.github.com/pydantic/pydantic/pull/10157)
- Fix JSON Schema `number` type for literal and enum schemas by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10172](https://redirect.github.com/pydantic/pydantic/pull/10172)
- Fix JSON Schema generation of fields with plain validators in
serialization mode by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10167](https://redirect.github.com/pydantic/pydantic/pull/10167)
- Fix invalid JSON Schemas being generated for functions in certain
scenarios by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10188](https://redirect.github.com/pydantic/pydantic/pull/10188)
- Make sure generated JSON Schemas are valid in tests by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10182](https://redirect.github.com/pydantic/pydantic/pull/10182)
- Fix key error with custom serializer by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10200](https://redirect.github.com/pydantic/pydantic/pull/10200)
- Add 'wss' for allowed schemes in NatsDsn by
[@&#8203;swelborn](https://redirect.github.com/swelborn) in
[#&#8203;10224](https://redirect.github.com/pydantic/pydantic/pull/10224)
- Fix `Mapping` and `MutableMapping` annotations to use mapping schema
instead of dict schema by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10020](https://redirect.github.com/pydantic/pydantic/pull/10020)
- Fix JSON Schema generation for constrained dates by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10185](https://redirect.github.com/pydantic/pydantic/pull/10185)
- Fix discriminated union bug regression when using enums by
[@&#8203;kfreezen](https://redirect.github.com/kfreezen) in
[pydantic/pydantic-core#1286](https://redirect.github.com/pydantic/pydantic-core/pull/1286)
- Fix `field_serializer` with computed field when using `*` by
[@&#8203;nix010](https://redirect.github.com/nix010) in
[pydantic/pydantic-core#1349](https://redirect.github.com/pydantic/pydantic-core/pull/1349)
- Try each option in `Union` serializer before inference by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[pydantic/pydantic-core#1398](https://redirect.github.com/pydantic/pydantic-core/pull/1398)
- Fix `float` serialization behavior in `strict` mode by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[pydantic/pydantic-core#1400](https://redirect.github.com/pydantic/pydantic-core/pull/1400)
- Introduce `exactness` into Decimal validation logic to improve union
validation behavior by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in in
[pydantic/pydantic-core#1405](https://redirect.github.com/pydantic/pydantic-core/pull/1405)
- Fix new warnings assertions to use `pytest.warns()` by
[@&#8203;mgorny](https://redirect.github.com/mgorny) in
[#&#8203;10241](https://redirect.github.com/pydantic/pydantic/pull/10241)
- Fix a crash when cleaning the namespace in `ModelMetaclass` by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10242](https://redirect.github.com/pydantic/pydantic/pull/10242)
- Fix parent namespace issue with model rebuilds by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10257](https://redirect.github.com/pydantic/pydantic/pull/10257)
- Remove defaults filter for namespace by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10261](https://redirect.github.com/pydantic/pydantic/pull/10261)
- Use identity instead of equality after validating model in `__init__`
by [@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10264](https://redirect.github.com/pydantic/pydantic/pull/10264)
- Support `BigInt` serialization for `int` subclasses by
[@&#8203;kxx317](https://redirect.github.com/kxx317) in
[pydantic/pydantic-core#1417](https://redirect.github.com/pydantic/pydantic-core/pull/1417)
- Support signature for wrap validators without `info` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10277](https://redirect.github.com/pydantic/pydantic/pull/10277)
- Ensure `__pydantic_complete__` is set when rebuilding `dataclasses` by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;10291](https://redirect.github.com/pydantic/pydantic/pull/10291)
- Respect `schema_generator` config value in `TypeAdapter` by
[@&#8203;sydney-runkle](https://redirect.github.com/sydney-runkle) in
[#&#8203;10300](https://redirect.github.com/pydantic/pydantic/pull/10300)

##### New Contributors

##### `pydantic`

- [@&#8203;kwint](https://redirect.github.com/kwint) made their first
contribution in
[#&#8203;9787](https://redirect.github.com/pydantic/pydantic/pull/9787)
-
[@&#8203;seekinginfiniteloop](https://redirect.github.com/seekinginfiniteloop)
made their first contribution in
[#&#8203;9822](https://redirect.github.com/pydantic/pydantic/pull/9822)
- [@&#8203;a-alexander](https://redirect.github.com/a-alexander) made
their first contribution in
[#&#8203;9848](https://redirect.github.com/pydantic/pydantic/pull/9848)
-
[@&#8203;maximilianfellhuber](https://redirect.github.com/maximilianfellhuber)
made their first contribution in
[#&#8203;9885](https://redirect.github.com/pydantic/pydantic/pull/9885)
- [@&#8203;karmaBonfire](https://redirect.github.com/karmaBonfire) made
their first contribution in
[#&#8203;9945](https://redirect.github.com/pydantic/pydantic/pull/9945)
- [@&#8203;s-rigaud](https://redirect.github.com/s-rigaud) made their
first contribution in
[#&#8203;9958](https://redirect.github.com/pydantic/pydantic/pull/9958)
- [@&#8203;msabramo](https://redirect.github.com/msabramo) made their
first contribution in
[#&#8203;9964](https://redirect.github.com/pydantic/pydantic/pull/9964)
- [@&#8203;DimaCybr](https://redirect.github.com/DimaCybr) made their
first contribution in
[#&#8203;9972](https://redirect.github.com/pydantic/pydantic/pull/9972)
- [@&#8203;kc0506](https://redirect.github.com/kc0506) made their first
contribution in
[#&#8203;9971](https://redirect.github.com/pydantic/pydantic/pull/9971)
- [@&#8203;haoyun](https://redirect.github.com/haoyun) made their first
contribution in
[#&#8203;9990](https://redirect.github.com/pydantic/pydantic/pull/9990)
- [@&#8203;radekwlsk](https://redirect.github.com/radekwlsk) made their
first contribution in
[#&#8203;9938](https://redirect.github.com/pydantic/pydantic/pull/9938)
- [@&#8203;dpeachey](https://redirect.github.com/dpeachey) made their
first contribution in
[#&#8203;10029](https://redirect.github.com/pydantic/pydantic/pull/10029)
- [@&#8203;BoxyUwU](https://redirect.github.com/BoxyUwU) made their
first contribution in
[#&#8203;10085](https://redirect.github.com/pydantic/pydantic/pull/10085)
- [@&#8203;mochi22](https://redirect.github.com/mochi22) made their
first contribution in
[#&#8203;10082](https://redirect.github.com/pydantic/pydantic/pull/10082)
- [@&#8203;aditkumar72](https://redirect.github.com/aditkumar72) made
their first contribution in
[#&#8203;10128](https://redirect.github.com/pydantic/pydantic/pull/10128)
- [@&#8203;changhc](https://redirect.github.com/changhc) made their
first contribution in
[#&#8203;9654](https://redirect.github.com/pydantic/pydantic/pull/9654)
- [@&#8203;insumanth](https://redirect.github.com/insumanth) made their
first contribution in
[#&#8203;10229](https://redirect.github.com/pydantic/pydantic/pull/10229)
-
[@&#8203;AdolfoVillalobos](https://redirect.github.com/AdolfoVillalobos)
made their first contribution in
[#&#8203;10240](https://redirect.github.com/pydantic/pydantic/pull/10240)
- [@&#8203;bllchmbrs](https://redirect.github.com/bllchmbrs) made their
first contribution in
[#&#8203;10270](https://redirect.github.com/pydantic/pydantic/pull/10270)

##### `pydantic-core`

- [@&#8203;kfreezen](https://redirect.github.com/kfreezen) made their
first contribution in
[pydantic/pydantic-core#1286](https://redirect.github.com/pydantic/pydantic-core/pull/1286)
- [@&#8203;tinez](https://redirect.github.com/tinez) made their first
contribution in
[pydantic/pydantic-core#1368](https://redirect.github.com/pydantic/pydantic-core/pull/1368)
- [@&#8203;fft001](https://redirect.github.com/fft001) made their first
contribution in
[pydantic/pydantic-core#1362](https://redirect.github.com/pydantic/pydantic-core/pull/1362)
- [@&#8203;nix010](https://redirect.github.com/nix010) made their first
contribution in
[pydantic/pydantic-core#1349](https://redirect.github.com/pydantic/pydantic-core/pull/1349)
- [@&#8203;BoxyUwU](https://redirect.github.com/BoxyUwU) made their
first contribution in
[pydantic/pydantic-core#1379](https://redirect.github.com/pydantic/pydantic-core/pull/1379)
- [@&#8203;candleindark](https://redirect.github.com/candleindark) made
their first contribution in
[pydantic/pydantic-core#1404](https://redirect.github.com/pydantic/pydantic-core/pull/1404)
- [@&#8203;changhc](https://redirect.github.com/changhc) made their
first contribution in
[pydantic/pydantic-core#1331](https://redirect.github.com/pydantic/pydantic-core/pull/1331)

</details>

<details>
<summary>microsoft/TypeScript (typescript)</summary>

###
[`v5.6.2`](https://redirect.github.com/microsoft/TypeScript/compare/v5.5.4...a7e3374f13327483fbe94e32806d65785b0b6cda)

[Compare
Source](https://redirect.github.com/microsoft/TypeScript/compare/v5.5.4...v5.6.2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
America/Chicago, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/autoblocksai/autoblocks-examples).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Problem with union type serialization when custom model serializer is used.
3 participants