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

Add list fail-fast config option #1322

Merged
merged 5 commits into from
Jun 24, 2024
Merged

Conversation

uriyyo
Copy link
Contributor

@uriyyo uriyyo commented Jun 7, 2024

Change Summary

Add list fail-fast config option.

Related issue number

fix: #1321

Checklist

  • Unit tests for the changes exist
  • Documentation reflects the changes where applicable
  • Pydantic tests pass with this pydantic-core (except for expected changes)
  • My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

Selected Reviewer: @dmontagu

@uriyyo
Copy link
Contributor Author

uriyyo commented Jun 7, 2024

please review

Copy link

codspeed-hq bot commented Jun 7, 2024

CodSpeed Performance Report

Merging #1322 will not alter performance

Comparing uriyyo:list-fail-fast (27db075) with main (9507a28)

Summary

✅ 155 untouched benchmarks

Copy link

codecov bot commented Jun 7, 2024

Codecov Report

Attention: Patch coverage is 92.85714% with 3 lines in your changes missing coverage. Please review.

Files Patch % Lines
src/validators/tuple.rs 86.36% 3 Missing ⚠️

📢 Thoughts on this report? Let us know!

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.

Thanks very much for the PR! I had a quick chat with the team and we're happy to have this feature added.

However, before merging, we would like to see this option extended to related types that are closely related to lists. We're thinking e.g. tuples, sets, and maybe more general sequences / iterables. It feels inevitable that with this flag present, we'll get requests to support more types, so acting to meet some of those requests early would be highly desirable.

tests/validators/test_list.py Show resolved Hide resolved
@uriyyo
Copy link
Contributor Author

uriyyo commented Jun 13, 2024

Great, I will update this PR to add this feature to more iterable types!

@adriangb
Copy link
Member

Could we implement this as an exception, similar to PydanticOmit? That way a python-defined validator can control the flow.

@uriyyo
Copy link
Contributor Author

uriyyo commented Jun 13, 2024

@adriangb Makes sense to me, I will try to reimplement it in similar way as PydanticOmit is working

@adriangb
Copy link
Member

It may be that both are necessary, there's mutliple use cases:

  1. Inside of a python validator you want to abort the rest of the list, similar workflow to PydanticOmit
  2. You just want to abort early with no python handler (like this PR implements)

@uriyyo
Copy link
Contributor Author

uriyyo commented Jun 15, 2024

Hi @adriangb @davidhewitt

This PR is ready with basic implementation of fail-fast feature for list, set, frozenset, and tuple types.

Could we implement this as an exception, similar to PydanticOmit? That way a python-defined validator can control the flow.

@adriangb I suggest implement this feature in separate PR just to make review/merge process easier. What do you think about it?

@uriyyo uriyyo requested a review from davidhewitt June 15, 2024 11:01
@adriangb
Copy link
Member

Makes sense to me

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.

Thanks, this part looks good to me!

We'll also need accompanying changes to pydantic.Field on the Python side. You should find it's possible to create a PR and tests for the main pydantic repo already, using a locally-built pydantic_core.

What we often do is review and merge those into pydantic at the same time, marking the tests as xfail until the pydantic_core changes propagate.

@davidhewitt
Copy link
Contributor

I see the Python PR is now prepared too, many thanks 🚀

@davidhewitt davidhewitt merged commit aba682e into pydantic:main Jun 24, 2024
28 checks passed
@uriyyo uriyyo deleted the list-fail-fast branch June 24, 2024 15:56
@uriyyo uriyyo mentioned this pull request Jun 25, 2024
renovate bot added a commit to spiraldb/ziggy-pydust that referenced this pull request Jul 1, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

###
[`v2.8.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v280-2024-07-01)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.0)

The code released in v2.8.0 is functionally identical to that of
v2.8.0b1.

##### What's Changed

##### Packaging

- Update citation version automatically with new releases by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9673](https://togithub.com/pydantic/pydantic/pull/9673)
- Bump pyright to `v1.1.367` and add type checking tests for pipeline
API by [@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;9674](https://togithub.com/pydantic/pydantic/pull/9674)
- Update `pydantic.v1` stub to `v1.10.17` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9707](https://togithub.com/pydantic/pydantic/pull/9707)
- General package updates to prep for `v2.8.0b1` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9741](https://togithub.com/pydantic/pydantic/pull/9741)
- Bump `pydantic-core` to `v2.20.0` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9745](https://togithub.com/pydantic/pydantic/pull/9745)
- Add support for Python 3.13 by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9743](https://togithub.com/pydantic/pydantic/pull/9743)
- Update `pdm` version used for `pdm.lock` to v2.16.1 by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9761](https://togithub.com/pydantic/pydantic/pull/9761)
- Update to `ruff` `v0.4.8` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9585](https://togithub.com/pydantic/pydantic/pull/9585)

##### New Features

- Experimental: support `defer_build` for `TypeAdapter` by
[@&#8203;MarkusSintonen](https://togithub.com/MarkusSintonen) in
[#&#8203;8939](https://togithub.com/pydantic/pydantic/pull/8939)
- Implement `deprecated` field in json schema by
[@&#8203;NeevCohen](https://togithub.com/NeevCohen) in
[#&#8203;9298](https://togithub.com/pydantic/pydantic/pull/9298)
- Experimental: Add pipeline API by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;9459](https://togithub.com/pydantic/pydantic/pull/9459)
- Add support for programmatic title generation by
[@&#8203;NeevCohen](https://togithub.com/NeevCohen) in
[#&#8203;9183](https://togithub.com/pydantic/pydantic/pull/9183)
- Implement `fail_fast` feature by
[@&#8203;uriyyo](https://togithub.com/uriyyo) in
[#&#8203;9708](https://togithub.com/pydantic/pydantic/pull/9708)
- Add `ser_json_inf_nan='strings'` mode to produce valid JSON by
[@&#8203;josh-newman](https://togithub.com/josh-newman) in
[pydantic/pydantic-core#1307](https://togithub.com/pydantic/pydantic-core/pull/1307)

##### Changes

- Add warning when "alias" is set in ignored `Annotated` field by
[@&#8203;nix010](https://togithub.com/nix010) in
[#&#8203;9170](https://togithub.com/pydantic/pydantic/pull/9170)
- Support serialization of some serializable defaults in JSON schema by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9624](https://togithub.com/pydantic/pydantic/pull/9624)
- Relax type specification for `__validators__` values in `create_model`
by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9697](https://togithub.com/pydantic/pydantic/pull/9697)
- **Breaking Change:** Improve `smart` union matching logic by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1322](https://togithub.com/pydantic/pydantic-core/pull/1322)
You can read more about our `smart` union matching logic
[here](https://docs.pydantic.dev/dev/concepts/unions/#smart-mode). In
some cases, if the old behavior
is desired, you can switch to `left-to-right` mode and change the order
of your `Union` members.

##### Performance

##### Internal Improvements

- ⚡️ Speed up `_display_error_loc()` by 25% in
`pydantic/v1/error_wrappers.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9653](https://togithub.com/pydantic/pydantic/pull/9653)
- ⚡️ Speed up `_get_all_json_refs()` by 34% in `pydantic/json_schema.py`
by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9650](https://togithub.com/pydantic/pydantic/pull/9650)
- ⚡️ Speed up `is_pydantic_dataclass()` by 41% in
`pydantic/dataclasses.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9652](https://togithub.com/pydantic/pydantic/pull/9652)
- ⚡️ Speed up `to_snake()` by 27% in `pydantic/alias_generators.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9747](https://togithub.com/pydantic/pydantic/pull/9747)
- ⚡️ Speed up `unwrap_wrapped_function()` by 93% in
`pydantic/_internal/_decorators.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9727](https://togithub.com/pydantic/pydantic/pull/9727)

##### Fixes

- Replace `__spec__.parent` with `__package__` by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;9331](https://togithub.com/pydantic/pydantic/pull/9331)
- Fix Outputted Model JSON Schema for `Sequence` type by
[@&#8203;anesmemisevic](https://togithub.com/anesmemisevic) in
[#&#8203;9303](https://togithub.com/pydantic/pydantic/pull/9303)
- Fix typing of `_frame_depth` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9353](https://togithub.com/pydantic/pydantic/pull/9353)
- Make `ImportString` json schema compatible by
[@&#8203;amitschang](https://togithub.com/amitschang) in
[#&#8203;9344](https://togithub.com/pydantic/pydantic/pull/9344)
- Hide private attributes (`PrivateAttr`) from `__init__` signature in
type checkers by [@&#8203;idan22moral](https://togithub.com/idan22moral)
in [#&#8203;9293](https://togithub.com/pydantic/pydantic/pull/9293)
- Make detection of `TypeVar` defaults robust to the CPython `PEP-696`
implementation by
[@&#8203;AlexWaygood](https://togithub.com/AlexWaygood) in
[#&#8203;9426](https://togithub.com/pydantic/pydantic/pull/9426)
- Fix usage of `PlainSerializer` with builtin types by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9450](https://togithub.com/pydantic/pydantic/pull/9450)
- Add more robust custom validation examples by
[@&#8203;ChrisPappalardo](https://togithub.com/ChrisPappalardo) in
[#&#8203;9468](https://togithub.com/pydantic/pydantic/pull/9468)
- Fix ignored `strict` specification for
`StringConstraint(strict=False)` by
[@&#8203;vbmendes](https://togithub.com/vbmendes) in
[#&#8203;9476](https://togithub.com/pydantic/pydantic/pull/9476)
- Use `Self` where possible by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9479](https://togithub.com/pydantic/pydantic/pull/9479)
- Do not alter `RootModel.model_construct` signature in the `mypy`
plugin by [@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9480](https://togithub.com/pydantic/pydantic/pull/9480)
- Fixed type hint of `validation_context` by
[@&#8203;OhioDschungel6](https://togithub.com/OhioDschungel6) in
[#&#8203;9508](https://togithub.com/pydantic/pydantic/pull/9508)
- Support context being passed to TypeAdapter's
`dump_json`/`dump_python` by
[@&#8203;alexcouper](https://togithub.com/alexcouper) in
[#&#8203;9495](https://togithub.com/pydantic/pydantic/pull/9495)
- Updates type signature for `Field()` constructor by
[@&#8203;bjmc](https://togithub.com/bjmc) in
[#&#8203;9484](https://togithub.com/pydantic/pydantic/pull/9484)
- Improve builtin alias generators by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9561](https://togithub.com/pydantic/pydantic/pull/9561)
- Fix typing of `TypeAdapter` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9570](https://togithub.com/pydantic/pydantic/pull/9570)
- Add fallback default value for private fields in `__setstate__` of
BaseModel by [@&#8203;anhpham1509](https://togithub.com/anhpham1509) in
[#&#8203;9584](https://togithub.com/pydantic/pydantic/pull/9584)
- Support `PEP 746` by [@&#8203;adriangb](https://togithub.com/adriangb)
in [#&#8203;9587](https://togithub.com/pydantic/pydantic/pull/9587)
- Allow validator and serializer functions to have default values by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9478](https://togithub.com/pydantic/pydantic/pull/9478)
- Fix bug with mypy plugin's handling of covariant `TypeVar` fields by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;9606](https://togithub.com/pydantic/pydantic/pull/9606)
- Fix multiple annotation / constraint application logic by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9623](https://togithub.com/pydantic/pydantic/pull/9623)
- Respect `regex` flags in validation and json schema by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9591](https://togithub.com/pydantic/pydantic/pull/9591)
- Fix type hint on `IpvAnyAddress` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9640](https://togithub.com/pydantic/pydantic/pull/9640)
- Allow a field specifier on `__pydantic_extra__` by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;9659](https://togithub.com/pydantic/pydantic/pull/9659)
- Use normalized case for file path comparison by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9737](https://togithub.com/pydantic/pydantic/pull/9737)
- Modify constraint application logic to allow field constraints on
`Optional[Decimal]` by [@&#8203;lazyhope](https://togithub.com/lazyhope)
in [#&#8203;9754](https://togithub.com/pydantic/pydantic/pull/9754)
- `validate_call` type params fix by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9760](https://togithub.com/pydantic/pydantic/pull/9760)
- Check all warnings returned by pytest.warns() by
[@&#8203;s-t-e-v-e-n-k](https://togithub.com/s-t-e-v-e-n-k) in
[#&#8203;9702](https://togithub.com/pydantic/pydantic/pull/9702)
- Reuse `re.Pattern` object in regex patterns to allow for regex flags
by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1318](https://togithub.com/pydantic/pydantic-core/pull/1318)

##### New Contributors

- [@&#8203;idan22moral](https://togithub.com/idan22moral) made their
first contribution in
[#&#8203;9294](https://togithub.com/pydantic/pydantic/pull/9294)
- [@&#8203;anesmemisevic](https://togithub.com/anesmemisevic) made their
first contribution in
[#&#8203;9303](https://togithub.com/pydantic/pydantic/pull/9303)
- [@&#8203;max-muoto](https://togithub.com/max-muoto) made their first
contribution in
[#&#8203;9338](https://togithub.com/pydantic/pydantic/pull/9338)
- [@&#8203;amitschang](https://togithub.com/amitschang) made their first
contribution in
[#&#8203;9344](https://togithub.com/pydantic/pydantic/pull/9344)
- [@&#8203;paulmartin91](https://togithub.com/paulmartin91) made their
first contribution in
[#&#8203;9410](https://togithub.com/pydantic/pydantic/pull/9410)
- [@&#8203;OhioDschungel6](https://togithub.com/OhioDschungel6) made
their first contribution in
[#&#8203;9405](https://togithub.com/pydantic/pydantic/pull/9405)
- [@&#8203;AlexWaygood](https://togithub.com/AlexWaygood) made their
first contribution in
[#&#8203;9426](https://togithub.com/pydantic/pydantic/pull/9426)
- [@&#8203;kinuax](https://togithub.com/kinuax) made their first
contribution in
[#&#8203;9433](https://togithub.com/pydantic/pydantic/pull/9433)
-
[@&#8203;antoni-jamiolkowski](https://togithub.com/antoni-jamiolkowski)
made their first contribution in
[#&#8203;9431](https://togithub.com/pydantic/pydantic/pull/9431)
- [@&#8203;candleindark](https://togithub.com/candleindark) made their
first contribution in
[#&#8203;9448](https://togithub.com/pydantic/pydantic/pull/9448)
- [@&#8203;nix010](https://togithub.com/nix010) made their first
contribution in
[#&#8203;9170](https://togithub.com/pydantic/pydantic/pull/9170)
- [@&#8203;tomy0000000](https://togithub.com/tomy0000000) made their
first contribution in
[#&#8203;9457](https://togithub.com/pydantic/pydantic/pull/9457)
- [@&#8203;vbmendes](https://togithub.com/vbmendes) made their first
contribution in
[#&#8203;9470](https://togithub.com/pydantic/pydantic/pull/9470)
- [@&#8203;micheleAlberto](https://togithub.com/micheleAlberto) made
their first contribution in
[#&#8203;9471](https://togithub.com/pydantic/pydantic/pull/9471)
- [@&#8203;ChrisPappalardo](https://togithub.com/ChrisPappalardo) made
their first contribution in
[#&#8203;9468](https://togithub.com/pydantic/pydantic/pull/9468)
- [@&#8203;blueTurtz](https://togithub.com/blueTurtz) made their first
contribution in
[#&#8203;9475](https://togithub.com/pydantic/pydantic/pull/9475)
- [@&#8203;WinterBlue16](https://togithub.com/WinterBlue16) made their
first contribution in
[#&#8203;9477](https://togithub.com/pydantic/pydantic/pull/9477)
- [@&#8203;bittner](https://togithub.com/bittner) made their first
contribution in
[#&#8203;9500](https://togithub.com/pydantic/pydantic/pull/9500)
- [@&#8203;alexcouper](https://togithub.com/alexcouper) made their first
contribution in
[#&#8203;9495](https://togithub.com/pydantic/pydantic/pull/9495)
- [@&#8203;bjmc](https://togithub.com/bjmc) made their first
contribution in
[#&#8203;9484](https://togithub.com/pydantic/pydantic/pull/9484)
- [@&#8203;pjvv](https://togithub.com/pjvv) made their first
contribution in
[#&#8203;9529](https://togithub.com/pydantic/pydantic/pull/9529)
- [@&#8203;nedbat](https://togithub.com/nedbat) made their first
contribution in
[#&#8203;9530](https://togithub.com/pydantic/pydantic/pull/9530)
- [@&#8203;gunnellEvan](https://togithub.com/gunnellEvan) made their
first contribution in
[#&#8203;9469](https://togithub.com/pydantic/pydantic/pull/9469)
- [@&#8203;jaymbans](https://togithub.com/jaymbans) made their first
contribution in
[#&#8203;9531](https://togithub.com/pydantic/pydantic/pull/9531)
- [@&#8203;MarcBresson](https://togithub.com/MarcBresson) made their
first contribution in
[#&#8203;9534](https://togithub.com/pydantic/pydantic/pull/9534)
- [@&#8203;anhpham1509](https://togithub.com/anhpham1509) made their
first contribution in
[#&#8203;9584](https://togithub.com/pydantic/pydantic/pull/9584)
- [@&#8203;K-dash](https://togithub.com/K-dash) made their first
contribution in
[#&#8203;9595](https://togithub.com/pydantic/pydantic/pull/9595)
- [@&#8203;s-t-e-v-e-n-k](https://togithub.com/s-t-e-v-e-n-k) made their
first contribution in
[#&#8203;9527](https://togithub.com/pydantic/pydantic/pull/9527)
- [@&#8203;airwoodix](https://togithub.com/airwoodix) made their first
contribution in
[#&#8203;9506](https://togithub.com/pydantic/pydantic/pull/9506)
- [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) made their
first contribution in
[#&#8203;9653](https://togithub.com/pydantic/pydantic/pull/9653)
- [@&#8203;AlessandroMiola](https://togithub.com/AlessandroMiola) made
their first contribution in
[#&#8203;9740](https://togithub.com/pydantic/pydantic/pull/9740)
- [@&#8203;mylapallilavanyaa](https://togithub.com/mylapallilavanyaa)
made their first contribution in
[#&#8203;9746](https://togithub.com/pydantic/pydantic/pull/9746)
- [@&#8203;lazyhope](https://togithub.com/lazyhope) made their first
contribution in
[#&#8203;9754](https://togithub.com/pydantic/pydantic/pull/9754)
- [@&#8203;YassinNouh21](https://togithub.com/YassinNouh21) made their
first contribution in
[#&#8203;9759](https://togithub.com/pydantic/pydantic/pull/9759)

</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/spiraldb/ziggy-pydust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
erichesse added a commit to robert-koch-institut/mex-extractors that referenced this pull request Jul 17, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [pydantic](https://togithub.com/pydantic/pydantic)
([changelog](https://docs.pydantic.dev/latest/changelog/)) |
project.dependencies | minor | `==2.7.4` -> `==2.8.2` |

---

### Release Notes

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

###
[`v2.8.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v282-2024-07-03)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.8.1...v2.8.2)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.2)

##### What's Changed

##### Fixes

- Fix issue with assertion caused by pluggable schema validator by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;9838](https://togithub.com/pydantic/pydantic/pull/9838)

###
[`v2.8.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v281-2024-07-03)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.8.0...v2.8.1)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.1)

##### What's Changed

##### Packaging

- Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9801](https://togithub.com/pydantic/pydantic/pull/9801)
- Bump `pydantic-core` to `v2.20.1`, `pydantic-extra-types` to `v2.9.0`
by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9832](https://togithub.com/pydantic/pydantic/pull/9832)

##### Fixes

- Fix breaking change in `to_snake` from v2.7 -> v2.8 by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9812](https://togithub.com/pydantic/pydantic/pull/9812)
- Fix list constraint json schema application by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9818](https://togithub.com/pydantic/pydantic/pull/9818)
- Support time duration more than 23 by
[@&#8203;nix010](https://togithub.com/nix010) in
[pydantic/speedate#64](https://togithub.com/pydantic/speedate/pull/64)
- Fix millisecond fraction being handled with the wrong scale by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/speedate#65](https://togithub.com/pydantic/speedate/pull/65)
- Handle negative fractional durations correctly by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/speedate#71](https://togithub.com/pydantic/speedate/pull/71)

###
[`v2.8.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v280-2024-07-01)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.7.4...v2.8.0)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.0)

The code released in v2.8.0 is functionally identical to that of
v2.8.0b1.

##### What's Changed

##### Packaging

- Update citation version automatically with new releases by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9673](https://togithub.com/pydantic/pydantic/pull/9673)
- Bump pyright to `v1.1.367` and add type checking tests for pipeline
API by [@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;9674](https://togithub.com/pydantic/pydantic/pull/9674)
- Update `pydantic.v1` stub to `v1.10.17` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9707](https://togithub.com/pydantic/pydantic/pull/9707)
- General package updates to prep for `v2.8.0b1` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9741](https://togithub.com/pydantic/pydantic/pull/9741)
- Bump `pydantic-core` to `v2.20.0` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9745](https://togithub.com/pydantic/pydantic/pull/9745)
- Add support for Python 3.13 by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9743](https://togithub.com/pydantic/pydantic/pull/9743)
- Update `pdm` version used for `pdm.lock` to v2.16.1 by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9761](https://togithub.com/pydantic/pydantic/pull/9761)
- Update to `ruff` `v0.4.8` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9585](https://togithub.com/pydantic/pydantic/pull/9585)

##### New Features

- Experimental: support `defer_build` for `TypeAdapter` by
[@&#8203;MarkusSintonen](https://togithub.com/MarkusSintonen) in
[#&#8203;8939](https://togithub.com/pydantic/pydantic/pull/8939)
- Implement `deprecated` field in json schema by
[@&#8203;NeevCohen](https://togithub.com/NeevCohen) in
[#&#8203;9298](https://togithub.com/pydantic/pydantic/pull/9298)
- Experimental: Add pipeline API by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;9459](https://togithub.com/pydantic/pydantic/pull/9459)
- Add support for programmatic title generation by
[@&#8203;NeevCohen](https://togithub.com/NeevCohen) in
[#&#8203;9183](https://togithub.com/pydantic/pydantic/pull/9183)
- Implement `fail_fast` feature by
[@&#8203;uriyyo](https://togithub.com/uriyyo) in
[#&#8203;9708](https://togithub.com/pydantic/pydantic/pull/9708)
- Add `ser_json_inf_nan='strings'` mode to produce valid JSON by
[@&#8203;josh-newman](https://togithub.com/josh-newman) in
[pydantic/pydantic-core#1307](https://togithub.com/pydantic/pydantic-core/pull/1307)

##### Changes

- Add warning when "alias" is set in ignored `Annotated` field by
[@&#8203;nix010](https://togithub.com/nix010) in
[#&#8203;9170](https://togithub.com/pydantic/pydantic/pull/9170)
- Support serialization of some serializable defaults in JSON schema by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9624](https://togithub.com/pydantic/pydantic/pull/9624)
- Relax type specification for `__validators__` values in `create_model`
by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9697](https://togithub.com/pydantic/pydantic/pull/9697)
- **Breaking Change:** Improve `smart` union matching logic by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1322](https://togithub.com/pydantic/pydantic-core/pull/1322)
You can read more about our `smart` union matching logic
[here](https://docs.pydantic.dev/dev/concepts/unions/#smart-mode). In
some cases, if the old behavior
is desired, you can switch to `left-to-right` mode and change the order
of your `Union` members.

##### Performance

##### Internal Improvements

- ⚡️ Speed up `_display_error_loc()` by 25% in
`pydantic/v1/error_wrappers.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9653](https://togithub.com/pydantic/pydantic/pull/9653)
- ⚡️ Speed up `_get_all_json_refs()` by 34% in `pydantic/json_schema.py`
by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9650](https://togithub.com/pydantic/pydantic/pull/9650)
- ⚡️ Speed up `is_pydantic_dataclass()` by 41% in
`pydantic/dataclasses.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9652](https://togithub.com/pydantic/pydantic/pull/9652)
- ⚡️ Speed up `to_snake()` by 27% in `pydantic/alias_generators.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9747](https://togithub.com/pydantic/pydantic/pull/9747)
- ⚡️ Speed up `unwrap_wrapped_function()` by 93% in
`pydantic/_internal/_decorators.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9727](https://togithub.com/pydantic/pydantic/pull/9727)

##### Fixes

- Replace `__spec__.parent` with `__package__` by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;9331](https://togithub.com/pydantic/pydantic/pull/9331)
- Fix Outputted Model JSON Schema for `Sequence` type by
[@&#8203;anesmemisevic](https://togithub.com/anesmemisevic) in
[#&#8203;9303](https://togithub.com/pydantic/pydantic/pull/9303)
- Fix typing of `_frame_depth` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9353](https://togithub.com/pydantic/pydantic/pull/9353)
- Make `ImportString` json schema compatible by
[@&#8203;amitschang](https://togithub.com/amitschang) in
[#&#8203;9344](https://togithub.com/pydantic/pydantic/pull/9344)
- Hide private attributes (`PrivateAttr`) from `__init__` signature in
type checkers by [@&#8203;idan22moral](https://togithub.com/idan22moral)
in [#&#8203;9293](https://togithub.com/pydantic/pydantic/pull/9293)
- Make detection of `TypeVar` defaults robust to the CPython `PEP-696`
implementation by
[@&#8203;AlexWaygood](https://togithub.com/AlexWaygood) in
[#&#8203;9426](https://togithub.com/pydantic/pydantic/pull/9426)
- Fix usage of `PlainSerializer` with builtin types by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9450](https://togithub.com/pydantic/pydantic/pull/9450)
- Add more robust custom validation examples by
[@&#8203;ChrisPappalardo](https://togithub.com/ChrisPappalardo) in
[#&#8203;9468](https://togithub.com/pydantic/pydantic/pull/9468)
- Fix ignored `strict` specification for
`StringConstraint(strict=False)` by
[@&#8203;vbmendes](https://togithub.com/vbmendes) in
[#&#8203;9476](https://togithub.com/pydantic/pydantic/pull/9476)
- Use `Self` where possible by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9479](https://togithub.com/pydantic/pydantic/pull/9479)
- Do not alter `RootModel.model_construct` signature in the `mypy`
plugin by [@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9480](https://togithub.com/pydantic/pydantic/pull/9480)
- Fixed type hint of `validation_context` by
[@&#8203;OhioDschungel6](https://togithub.com/OhioDschungel6) in
[#&#8203;9508](https://togithub.com/pydantic/pydantic/pull/9508)
- Support context being passed to TypeAdapter's
`dump_json`/`dump_python` by
[@&#8203;alexcouper](https://togithub.com/alexcouper) in
[#&#8203;9495](https://togithub.com/pydantic/pydantic/pull/9495)
- Updates type signature for `Field()` constructor by
[@&#8203;bjmc](https://togithub.com/bjmc) in
[#&#8203;9484](https://togithub.com/pydantic/pydantic/pull/9484)
- Improve builtin alias generators by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9561](https://togithub.com/pydantic/pydantic/pull/9561)
- Fix typing of `TypeAdapter` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9570](https://togithub.com/pydantic/pydantic/pull/9570)
- Add fallback default value for private fields in `__setstate__` of
BaseModel by [@&#8203;anhpham1509](https://togithub.com/anhpham1509) in
[#&#8203;9584](https://togithub.com/pydantic/pydantic/pull/9584)
- Support `PEP 746` by [@&#8203;adriangb](https://togithub.com/adriangb)
in [#&#8203;9587](https://togithub.com/pydantic/pydantic/pull/9587)
- Allow validator and serializer functions to have default values by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9478](https://togithub.com/pydantic/pydantic/pull/9478)
- Fix bug with mypy plugin's handling of covariant `TypeVar` fields by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;9606](https://togithub.com/pydantic/pydantic/pull/9606)
- Fix multiple annotation / constraint application logic by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9623](https://togithub.com/pydantic/pydantic/pull/9623)
- Respect `regex` flags in validation and json schema by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9591](https://togithub.com/pydantic/pydantic/pull/9591)
- Fix type hint on `IpvAnyAddress` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9640](https://togithub.com/pydantic/pydantic/pull/9640)
- Allow a field specifier on `__pydantic_extra__` by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;9659](https://togithub.com/pydantic/pydantic/pull/9659)
- Use normalized case for file path comparison by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9737](https://togithub.com/pydantic/pydantic/pull/9737)
- Modify constraint application logic to allow field constraints on
`Optional[Decimal]` by [@&#8203;lazyhope](https://togithub.com/lazyhope)
in [#&#8203;9754](https://togithub.com/pydantic/pydantic/pull/9754)
- `validate_call` type params fix by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9760](https://togithub.com/pydantic/pydantic/pull/9760)
- Check all warnings returned by pytest.warns() by
[@&#8203;s-t-e-v-e-n-k](https://togithub.com/s-t-e-v-e-n-k) in
[#&#8203;9702](https://togithub.com/pydantic/pydantic/pull/9702)
- Reuse `re.Pattern` object in regex patterns to allow for regex flags
by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1318](https://togithub.com/pydantic/pydantic-core/pull/1318)

##### New Contributors

- [@&#8203;idan22moral](https://togithub.com/idan22moral) made their
first contribution in
[#&#8203;9294](https://togithub.com/pydantic/pydantic/pull/9294)
- [@&#8203;anesmemisevic](https://togithub.com/anesmemisevic) made their
first contribution in
[#&#8203;9303](https://togithub.com/pydantic/pydantic/pull/9303)
- [@&#8203;max-muoto](https://togithub.com/max-muoto) made their first
contribution in
[#&#8203;9338](https://togithub.com/pydantic/pydantic/pull/9338)
- [@&#8203;amitschang](https://togithub.com/amitschang) made their first
contribution in
[#&#8203;9344](https://togithub.com/pydantic/pydantic/pull/9344)
- [@&#8203;paulmartin91](https://togithub.com/paulmartin91) made their
first contribution in
[#&#8203;9410](https://togithub.com/pydantic/pydantic/pull/9410)
- [@&#8203;OhioDschungel6](https://togithub.com/OhioDschungel6) made
their first contribution in
[#&#8203;9405](https://togithub.com/pydantic/pydantic/pull/9405)
- [@&#8203;AlexWaygood](https://togithub.com/AlexWaygood) made their
first contribution in
[#&#8203;9426](https://togithub.com/pydantic/pydantic/pull/9426)
- [@&#8203;kinuax](https://togithub.com/kinuax) made their first
contribution in
[#&#8203;9433](https://togithub.com/pydantic/pydantic/pull/9433)
-
[@&#8203;antoni-jamiolkowski](https://togithub.com/antoni-jamiolkowski)
made their first contribution in
[#&#8203;9431](https://togithub.com/pydantic/pydantic/pull/9431)
- [@&#8203;candleindark](https://togithub.com/candleindark) made their
first contribution in
[#&#8203;9448](https://togithub.com/pydantic/pydantic/pull/9448)
- [@&#8203;nix010](https://togithub.com/nix010) made their first
contribution in
[#&#8203;9170](https://togithub.com/pydantic/pydantic/pull/9170)
- [@&#8203;tomy0000000](https://togithub.com/tomy0000000) made their
first contribution in
[#&#8203;9457](https://togithub.com/pydantic/pydantic/pull/9457)
- [@&#8203;vbmendes](https://togithub.com/vbmendes) made their first
contribution in
[#&#8203;9470](https://togithub.com/pydantic/pydantic/pull/9470)
- [@&#8203;micheleAlberto](https://togithub.com/micheleAlberto) made
their first contribution in
[#&#8203;9471](https://togithub.com/pydantic/pydantic/pull/9471)
- [@&#8203;ChrisPappalardo](https://togithub.com/ChrisPappalardo) made
their first contribution in
[#&#8203;9468](https://togithub.com/pydantic/pydantic/pull/9468)
- [@&#8203;blueTurtz](https://togithub.com/blueTurtz) made their first
contribution in
[#&#8203;9475](https://togithub.com/pydantic/pydantic/pull/9475)
- [@&#8203;WinterBlue16](https://togithub.com/WinterBlue16) made their
first contribution in
[#&#8203;9477](https://togithub.com/pydantic/pydantic/pull/9477)
- [@&#8203;bittner](https://togithub.com/bittner) made their first
contribution in
[#&#8203;9500](https://togithub.com/pydantic/pydantic/pull/9500)
- [@&#8203;alexcouper](https://togithub.com/alexcouper) made their first
contribution in
[#&#8203;9495](https://togithub.com/pydantic/pydantic/pull/9495)
- [@&#8203;bjmc](https://togithub.com/bjmc) made their first
contribution in
[#&#8203;9484](https://togithub.com/pydantic/pydantic/pull/9484)
- [@&#8203;pjvv](https://togithub.com/pjvv) made their first
contribution in
[#&#8203;9529](https://togithub.com/pydantic/pydantic/pull/9529)
- [@&#8203;nedbat](https://togithub.com/nedbat) made their first
contribution in
[#&#8203;9530](https://togithub.com/pydantic/pydantic/pull/9530)
- [@&#8203;gunnellEvan](https://togithub.com/gunnellEvan) made their
first contribution in
[#&#8203;9469](https://togithub.com/pydantic/pydantic/pull/9469)
- [@&#8203;jaymbans](https://togithub.com/jaymbans) made their first
contribution in
[#&#8203;9531](https://togithub.com/pydantic/pydantic/pull/9531)
- [@&#8203;MarcBresson](https://togithub.com/MarcBresson) made their
first contribution in
[#&#8203;9534](https://togithub.com/pydantic/pydantic/pull/9534)
- [@&#8203;anhpham1509](https://togithub.com/anhpham1509) made their
first contribution in
[#&#8203;9584](https://togithub.com/pydantic/pydantic/pull/9584)
- [@&#8203;K-dash](https://togithub.com/K-dash) made their first
contribution in
[#&#8203;9595](https://togithub.com/pydantic/pydantic/pull/9595)
- [@&#8203;s-t-e-v-e-n-k](https://togithub.com/s-t-e-v-e-n-k) made their
first contribution in
[#&#8203;9527](https://togithub.com/pydantic/pydantic/pull/9527)
- [@&#8203;airwoodix](https://togithub.com/airwoodix) made their first
contribution in
[#&#8203;9506](https://togithub.com/pydantic/pydantic/pull/9506)
- [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) made their
first contribution in
[#&#8203;9653](https://togithub.com/pydantic/pydantic/pull/9653)
- [@&#8203;AlessandroMiola](https://togithub.com/AlessandroMiola) made
their first contribution in
[#&#8203;9740](https://togithub.com/pydantic/pydantic/pull/9740)
- [@&#8203;mylapallilavanyaa](https://togithub.com/mylapallilavanyaa)
made their first contribution in
[#&#8203;9746](https://togithub.com/pydantic/pydantic/pull/9746)
- [@&#8203;lazyhope](https://togithub.com/lazyhope) made their first
contribution in
[#&#8203;9754](https://togithub.com/pydantic/pydantic/pull/9754)
- [@&#8203;YassinNouh21](https://togithub.com/YassinNouh21) made their
first contribution in
[#&#8203;9759](https://togithub.com/pydantic/pydantic/pull/9759)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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.

🔕 **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 has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjguMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyOC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: erichesse <[email protected]>
adamnolte pushed a commit to autoblocksai/autoblocks-examples that referenced this pull request Jul 23, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@headlessui/react](https://togithub.com/tailwindlabs/headlessui)
([source](https://togithub.com/tailwindlabs/headlessui/tree/HEAD/packages/@headlessui-react))
| [`2.1.1` ->
`2.1.2`](https://renovatebot.com/diffs/npm/@headlessui%2freact/2.1.1/2.1.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@headlessui%2freact/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@headlessui%2freact/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@headlessui%2freact/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@headlessui%2freact/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.14.9` ->
`20.14.10`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.9/20.14.10)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.9/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.9/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [ai](https://sdk.vercel.ai/docs)
([source](https://togithub.com/vercel/ai)) | [`3.2.16` ->
`3.2.19`](https://renovatebot.com/diffs/npm/ai/3.2.16/3.2.19) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/ai/3.2.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/3.2.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/3.2.16/3.2.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/3.2.16/3.2.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [dspy-ai](https://togithub.com/stanfordnlp/dsp) | `2.4.10` -> `2.4.12`
|
[![age](https://developer.mend.io/api/mc/badges/age/pypi/dspy-ai/2.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/dspy-ai/2.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/dspy-ai/2.4.10/2.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/dspy-ai/2.4.10/2.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [openai](https://togithub.com/openai/openai-python) | `1.35.7` ->
`1.35.11` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/openai/1.35.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/openai/1.35.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/openai/1.35.7/1.35.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/openai/1.35.7/1.35.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [openai](https://togithub.com/openai/openai-node) | [`4.52.2` ->
`4.52.4`](https://renovatebot.com/diffs/npm/openai/4.52.2/4.52.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.52.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.52.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.52.2/4.52.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.52.2/4.52.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pinecone-client](https://www.pinecone.io) | `4.1.1` -> `4.1.2` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pinecone-client/4.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pinecone-client/4.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pinecone-client/4.1.1/4.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pinecone-client/4.1.1/4.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pydantic](https://togithub.com/pydantic/pydantic)
([changelog](https://docs.pydantic.dev/latest/changelog/)) | `2.7.4` ->
`2.8.2` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.7.4/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.7.4/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [tsx](https://tsx.is)
([source](https://togithub.com/privatenumber/tsx)) | [`4.16.0` ->
`4.16.2`](https://renovatebot.com/diffs/npm/tsx/4.16.0/4.16.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/tsx/4.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsx/4.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsx/4.16.0/4.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsx/4.16.0/4.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`5.5.2` ->
`5.5.3`](https://renovatebot.com/diffs/npm/typescript/5.5.2/5.5.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.5.2/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.5.2/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v2.1.2`](https://togithub.com/tailwindlabs/headlessui/blob/HEAD/packages/@&#8203;headlessui-react/CHANGELOG.md#212---2024-07-05)

[Compare
Source](https://togithub.com/tailwindlabs/headlessui/compare/@headlessui/[email protected]...@headlessui/[email protected])

##### Fixed

- Fix prematurely added anchoring styles on `ListboxOptions`
([#&#8203;3337](https://togithub.com/tailwindlabs/headlessui/pull/3337))
- Ensure `unmount` on `Dialog` works in combination with the
`transition` prop on `DialogBackdrop` and `DialogPanel` components
([#&#8203;3352](https://togithub.com/tailwindlabs/headlessui/pull/3352))
- Fix crash in `Combobox` component when in `virtual` mode when options
are empty
([#&#8203;3356](https://togithub.com/tailwindlabs/headlessui/pull/3356))
- Fix hanging tests when using `anchor` prop
([#&#8203;3357](https://togithub.com/tailwindlabs/headlessui/pull/3357))
- Fix `transition` and `focus` prop combination for `PopoverPanel`
component
([#&#8203;3361](https://togithub.com/tailwindlabs/headlessui/pull/3361))
- Fix outside click in nested portalled `Popover` components
([#&#8203;3362](https://togithub.com/tailwindlabs/headlessui/pull/3362))
- Fix restoring focus to correct element when closing `Dialog` component
([#&#8203;3365](https://togithub.com/tailwindlabs/headlessui/pull/3365))
- Fix `flushSync` warning for `Combobox` component with `immediate` prop
enabled
([#&#8203;3366](https://togithub.com/tailwindlabs/headlessui/pull/3366))

</details>

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

### [`v3.2.19`](https://togithub.com/vercel/ai/releases/tag/ai%403.2.19)

[Compare
Source](https://togithub.com/vercel/ai/compare/[email protected]@3.2.19)

##### Patch Changes

- [`b729094`](https://togithub.com/vercel/ai/commit/b7290943): chore
(ai/core): rename TokenUsage type to CompletionTokenUsage
- [`b729094`](https://togithub.com/vercel/ai/commit/b7290943): feat
(ai/core): add token usage to embed and embedMany
- Updated dependencies
\[[`b729094`](https://togithub.com/vercel/ai/commit/b7290943)]
-
[@&#8203;ai-sdk/provider](https://togithub.com/ai-sdk/provider)[@&#8203;0](https://togithub.com/0).0.12
-
[@&#8203;ai-sdk/provider-utils](https://togithub.com/ai-sdk/provider-utils)[@&#8203;1](https://togithub.com/1).0.2
-
[@&#8203;ai-sdk/react](https://togithub.com/ai-sdk/react)[@&#8203;0](https://togithub.com/0).0.19
-
[@&#8203;ai-sdk/svelte](https://togithub.com/ai-sdk/svelte)[@&#8203;0](https://togithub.com/0).0.14
-
[@&#8203;ai-sdk/ui-utils](https://togithub.com/ai-sdk/ui-utils)[@&#8203;0](https://togithub.com/0).0.11
-
[@&#8203;ai-sdk/solid](https://togithub.com/ai-sdk/solid)[@&#8203;0](https://togithub.com/0).0.13
-
[@&#8203;ai-sdk/vue](https://togithub.com/ai-sdk/vue)[@&#8203;0](https://togithub.com/0).0.13

### [`v3.2.18`](https://togithub.com/vercel/ai/releases/tag/ai%403.2.18)

[Compare
Source](https://togithub.com/vercel/ai/compare/[email protected]@3.2.18)

##### Patch Changes

- Updated dependencies
\[[`70d1800`](https://togithub.com/vercel/ai/commit/70d18003)]
-
[@&#8203;ai-sdk/react](https://togithub.com/ai-sdk/react)[@&#8203;0](https://togithub.com/0).0.18

### [`v3.2.17`](https://togithub.com/vercel/ai/releases/tag/ai%403.2.17)

[Compare
Source](https://togithub.com/vercel/ai/compare/[email protected]@3.2.17)

##### Patch Changes

- [`3db90c3`](https://togithub.com/vercel/ai/commit/3db90c3d): allow
empty handleSubmit submissions for useChat
- [`abb2260`](https://togithub.com/vercel/ai/commit/abb22602): feat
(ai): verify that system messages have string content
- [`5c1f0bd`](https://togithub.com/vercel/ai/commit/5c1f0bd3): fix
unclosed streamable value console message
- Updated dependencies
\[[`6a11cfa`](https://togithub.com/vercel/ai/commit/6a11cfaa)]
- Updated dependencies
\[[`3db90c3`](https://togithub.com/vercel/ai/commit/3db90c3d)]
- Updated dependencies
\[[`d481729`](https://togithub.com/vercel/ai/commit/d481729f)]
-
[@&#8203;ai-sdk/react](https://togithub.com/ai-sdk/react)[@&#8203;0](https://togithub.com/0).0.17
-
[@&#8203;ai-sdk/svelte](https://togithub.com/ai-sdk/svelte)[@&#8203;0](https://togithub.com/0).0.13
-
[@&#8203;ai-sdk/solid](https://togithub.com/ai-sdk/solid)[@&#8203;0](https://togithub.com/0).0.12
-
[@&#8203;ai-sdk/vue](https://togithub.com/ai-sdk/vue)[@&#8203;0](https://togithub.com/0).0.12
-
[@&#8203;ai-sdk/provider-utils](https://togithub.com/ai-sdk/provider-utils)[@&#8203;1](https://togithub.com/1).0.1
-
[@&#8203;ai-sdk/ui-utils](https://togithub.com/ai-sdk/ui-utils)[@&#8203;0](https://togithub.com/0).0.10

</details>

<details>
<summary>stanfordnlp/dsp (dspy-ai)</summary>

###
[`v2.4.12`](https://togithub.com/stanfordnlp/dspy/releases/tag/v2.4.12):
DSPy v2.4.12

[Compare
Source](https://togithub.com/stanfordnlp/dsp/compare/v2.4.11...v2.4.12)

- Supports treating `dspy.Predict` and `dspy.ChainOfThought` directly as
Modules, e.g. can compile them without creating a wrapping `dspy.Module`
object.

- Improves the `experimental=True` Chat LM support from [DSPy
v2.4.11](https://togithub.com/stanfordnlp/dspy/releases/tag/v2.4.11),
which is quoted below for reference:

> Initial support for new adapters, with far more smooth support for
Chat LMs. The default behavior is unchanged from before. However,
dspy.configure(experimental=True) is likely to lead to much more
predictable and accurate zero-shot generations with Chat LMs. Tested
against several variants of GPT-3.5, GPT-4, Llama3, Mixtral, and DBRX.

###
[`v2.4.11`](https://togithub.com/stanfordnlp/dspy/releases/tag/v2.4.11):
DSPy v2.4.11

[Compare
Source](https://togithub.com/stanfordnlp/dsp/compare/v2.4.10...v2.4.11)

All sorts of PRs over the past two weeks.

Most importantly, initial support for new adapters, with far more smooth
support for Chat LMs.

The default behavior is unchanged from before. However,
`dspy.configure(experimental=True)` is likely to lead to much more
predictable and accurate zero-shot generations with Chat LMs. Tested
against several variants of GPT-3.5, GPT-4, Llama3, Mixtral, and DBRX.

</details>

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

###
[`v1.35.11`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#13511-2024-07-09)

Full Changelog:
[v1.35.10...v1.35.11](https://togithub.com/openai/openai-python/compare/v1.35.10...v1.35.11)

##### Chores

- **internal:** minor request options handling changes
([#&#8203;1534](https://togithub.com/openai/openai-python/issues/1534))
([8b0e493](https://togithub.com/openai/openai-python/commit/8b0e49302b3fcc32cf02393bf28354c577188904))

###
[`v1.35.10`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#13510-2024-07-03)

[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.35.9...v1.35.10)

Full Changelog:
[v1.35.9...v1.35.10](https://togithub.com/openai/openai-python/compare/v1.35.9...v1.35.10)

##### Chores

- **ci:** update rye to v0.35.0
([#&#8203;1523](https://togithub.com/openai/openai-python/issues/1523))
([dd118c4](https://togithub.com/openai/openai-python/commit/dd118c422019df00b153104b7bddf892c2ec7417))

###
[`v1.35.9`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1359-2024-07-02)

[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.35.8...v1.35.9)

Full Changelog:
[v1.35.8...v1.35.9](https://togithub.com/openai/openai-python/compare/v1.35.8...v1.35.9)

##### Bug Fixes

- **client:** always respect content-type multipart/form-data if
provided
([#&#8203;1519](https://togithub.com/openai/openai-python/issues/1519))
([6da55e1](https://togithub.com/openai/openai-python/commit/6da55e10c4ba8c78687baedc68d5599ea120d05c))

##### Chores

- minor change to tests
([#&#8203;1521](https://togithub.com/openai/openai-python/issues/1521))
([a679c0b](https://togithub.com/openai/openai-python/commit/a679c0bd1e041434440174daa7a64289746856d1))

###
[`v1.35.8`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1358-2024-07-02)

[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.35.7...v1.35.8)

Full Changelog:
[v1.35.7...v1.35.8](https://togithub.com/openai/openai-python/compare/v1.35.7...v1.35.8)

##### Chores

- gitignore test server logs
([#&#8203;1509](https://togithub.com/openai/openai-python/issues/1509))
([936d840](https://togithub.com/openai/openai-python/commit/936d84094a28ad0a2b4a20e2b3bbf1674048223e))
- **internal:** add helper method for constructing `BaseModel`s
([#&#8203;1517](https://togithub.com/openai/openai-python/issues/1517))
([e5ddbf5](https://togithub.com/openai/openai-python/commit/e5ddbf554ce4b6be4b59114a36e69f02ca724acf))
- **internal:** add reflection helper function
([#&#8203;1508](https://togithub.com/openai/openai-python/issues/1508))
([6044e1b](https://togithub.com/openai/openai-python/commit/6044e1bbfa9e46a01faf5a9edf198f86fa4c6dd0))
- **internal:** add rich as a dev dependency
([#&#8203;1514](https://togithub.com/openai/openai-python/issues/1514))
([8a2b4e4](https://togithub.com/openai/openai-python/commit/8a2b4e4c1233dca916531ebc65d65a8d35fa7b7b))

</details>

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

###
[`v4.52.4`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4524-2024-07-08)

[Compare
Source](https://togithub.com/openai/openai-node/compare/v4.52.3...v4.52.4)

Full Changelog:
[v4.52.3...v4.52.4](https://togithub.com/openai/openai-node/compare/v4.52.3...v4.52.4)

##### Refactors

- **examples:** removedduplicated 'messageDelta' streaming event.
([#&#8203;909](https://togithub.com/openai/openai-node/issues/909))
([7b0b3d2](https://togithub.com/openai/openai-node/commit/7b0b3d2e228532fca19f49390a2831a1abac72a4))

###
[`v4.52.3`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4523-2024-07-02)

[Compare
Source](https://togithub.com/openai/openai-node/compare/v4.52.2...v4.52.3)

Full Changelog:
[v4.52.2...v4.52.3](https://togithub.com/openai/openai-node/compare/v4.52.2...v4.52.3)

##### Chores

- minor change to tests
([#&#8203;916](https://togithub.com/openai/openai-node/issues/916))
([b8a33e3](https://togithub.com/openai/openai-node/commit/b8a33e31697b52d733f28d9380e0c02a2d179474))

</details>

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

###
[`v2.8.2`](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.2):
(2024-07-03)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.8.1...v2.8.2)

#### What's Changed

##### Fixes

- Fix issue with assertion caused by pluggable schema validator by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;9838](https://togithub.com/pydantic/pydantic/pull/9838)

**Full Changelog**:
pydantic/pydantic@v2.8.1...v2.8.2

###
[`v2.8.1`](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.1):
(2024-07-03)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.8.0...v2.8.1)

#### What's Changed

##### Packaging

- Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[https://github.com/pydantic/pydantic/pull/9801](https://togithub.com/pydantic/pydantic/pull/9801)
- Bump `pydantic-core` to `v2.20.1`, `pydantic-extra-types` to `v2.9.0`
by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[https://github.com/pydantic/pydantic/pull/9832](https://togithub.com/pydantic/pydantic/pull/9832)

##### Fixes

- Fix breaking change in `to_snake` from v2.7 -> v2.8 by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[https://github.com/pydantic/pydantic/pull/9812](https://togithub.com/pydantic/pydantic/pull/9812)
- Fix list constraint json schema application by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[https://github.com/pydantic/pydantic/pull/9818](https://togithub.com/pydantic/pydantic/pull/9818)
- Fix issue with assertion caused by pluggable schema validator by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[https://github.com/pydantic/pydantic/pull/9838](https://togithub.com/pydantic/pydantic/pull/9838)

#### New Contributors

- [@&#8203;kwint](https://togithub.com/kwint) made their first
contribution in
[https://github.com/pydantic/pydantic/pull/9787](https://togithub.com/pydantic/pydantic/pull/9787)
-
[@&#8203;seekinginfiniteloop](https://togithub.com/seekinginfiniteloop)
made their first contribution in
[https://github.com/pydantic/pydantic/pull/9822](https://togithub.com/pydantic/pydantic/pull/9822)

**Full Changelog**:
pydantic/pydantic@v2.8.0...v2.8.1

###
[`v2.8.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v280-2024-07-01)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.7.4...v2.8.0)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.0)

The code released in v2.8.0 is functionally identical to that of
v2.8.0b1.

##### What's Changed

##### Packaging

- Update citation version automatically with new releases by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9673](https://togithub.com/pydantic/pydantic/pull/9673)
- Bump pyright to `v1.1.367` and add type checking tests for pipeline
API by [@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;9674](https://togithub.com/pydantic/pydantic/pull/9674)
- Update `pydantic.v1` stub to `v1.10.17` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9707](https://togithub.com/pydantic/pydantic/pull/9707)
- General package updates to prep for `v2.8.0b1` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9741](https://togithub.com/pydantic/pydantic/pull/9741)
- Bump `pydantic-core` to `v2.20.0` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9745](https://togithub.com/pydantic/pydantic/pull/9745)
- Add support for Python 3.13 by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9743](https://togithub.com/pydantic/pydantic/pull/9743)
- Update `pdm` version used for `pdm.lock` to v2.16.1 by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9761](https://togithub.com/pydantic/pydantic/pull/9761)
- Update to `ruff` `v0.4.8` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9585](https://togithub.com/pydantic/pydantic/pull/9585)

##### New Features

- Experimental: support `defer_build` for `TypeAdapter` by
[@&#8203;MarkusSintonen](https://togithub.com/MarkusSintonen) in
[#&#8203;8939](https://togithub.com/pydantic/pydantic/pull/8939)
- Implement `deprecated` field in json schema by
[@&#8203;NeevCohen](https://togithub.com/NeevCohen) in
[#&#8203;9298](https://togithub.com/pydantic/pydantic/pull/9298)
- Experimental: Add pipeline API by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;9459](https://togithub.com/pydantic/pydantic/pull/9459)
- Add support for programmatic title generation by
[@&#8203;NeevCohen](https://togithub.com/NeevCohen) in
[#&#8203;9183](https://togithub.com/pydantic/pydantic/pull/9183)
- Implement `fail_fast` feature by
[@&#8203;uriyyo](https://togithub.com/uriyyo) in
[#&#8203;9708](https://togithub.com/pydantic/pydantic/pull/9708)
- Add `ser_json_inf_nan='strings'` mode to produce valid JSON by
[@&#8203;josh-newman](https://togithub.com/josh-newman) in
[pydantic/pydantic-core#1307](https://togithub.com/pydantic/pydantic-core/pull/1307)

##### Changes

- Add warning when "alias" is set in ignored `Annotated` field by
[@&#8203;nix010](https://togithub.com/nix010) in
[#&#8203;9170](https://togithub.com/pydantic/pydantic/pull/9170)
- Support serialization of some serializable defaults in JSON schema by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9624](https://togithub.com/pydantic/pydantic/pull/9624)
- Relax type specification for `__validators__` values in `create_model`
by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9697](https://togithub.com/pydantic/pydantic/pull/9697)
- **Breaking Change:** Improve `smart` union matching logic by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1322](https://togithub.com/pydantic/pydantic-core/pull/1322)
You can read more about our `smart` union matching logic
[here](https://docs.pydantic.dev/dev/concepts/unions/#smart-mode). In
some cases, if the old behavior
is desired, you can switch to `left-to-right` mode and change the order
of your `Union` members.

##### Performance

##### Internal Improvements

- ⚡️ Speed up `_display_error_loc()` by 25% in
`pydantic/v1/error_wrappers.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9653](https://togithub.com/pydantic/pydantic/pull/9653)
- ⚡️ Speed up `_get_all_json_refs()` by 34% in `pydantic/json_schema.py`
by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9650](https://togithub.com/pydantic/pydantic/pull/9650)
- ⚡️ Speed up `is_pydantic_dataclass()` by 41% in
`pydantic/dataclasses.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9652](https://togithub.com/pydantic/pydantic/pull/9652)
- ⚡️ Speed up `to_snake()` by 27% in `pydantic/alias_generators.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9747](https://togithub.com/pydantic/pydantic/pull/9747)
- ⚡️ Speed up `unwrap_wrapped_function()` by 93% in
`pydantic/_internal/_decorators.py` by
[@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in
[#&#8203;9727](https://togithub.com/pydantic/pydantic/pull/9727)

##### Fixes

- Replace `__spec__.parent` with `__package__` by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;9331](https://togithub.com/pydantic/pydantic/pull/9331)
- Fix Outputted Model JSON Schema for `Sequence` type by
[@&#8203;anesmemisevic](https://togithub.com/anesmemisevic) in
[#&#8203;9303](https://togithub.com/pydantic/pydantic/pull/9303)
- Fix typing of `_frame_depth` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9353](https://togithub.com/pydantic/pydantic/pull/9353)
- Make `ImportString` json schema compatible by
[@&#8203;amitschang](https://togithub.com/amitschang) in
[#&#8203;9344](https://togithub.com/pydantic/pydantic/pull/9344)
- Hide private attributes (`PrivateAttr`) from `__init__` signature in
type checkers by [@&#8203;idan22moral](https://togithub.com/idan22moral)
in [#&#8203;9293](https://togithub.com/pydantic/pydantic/pull/9293)
- Make detection of `TypeVar` defaults robust to the CPython `PEP-696`
implementation by
[@&#8203;AlexWaygood](https://togithub.com/AlexWaygood) in
[#&#8203;9426](https://togithub.com/pydantic/pydantic/pull/9426)
- Fix usage of `PlainSerializer` with builtin types by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9450](https://togithub.com/pydantic/pydantic/pull/9450)
- Add more robust custom validation examples by
[@&#8203;ChrisPappalardo](https://togithub.com/ChrisPappalardo) in
[#&#8203;9468](https://togithub.com/pydantic/pydantic/pull/9468)
- Fix ignored `strict` specification for
`StringConstraint(strict=False)` by
[@&#8203;vbmendes](https://togithub.com/vbmendes) in
[#&#8203;9476](https://togithub.com/pydantic/pydantic/pull/9476)
- Use `Self` where possible by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9479](https://togithub.com/pydantic/pydantic/pull/9479)
- Do not alter `RootModel.model_construct` signature in the `mypy`
plugin by [@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9480](https://togithub.com/pydantic/pydantic/pull/9480)
- Fixed type hint of `validation_context` by
[@&#8203;OhioDschungel6](https://togithub.com/OhioDschungel6) in
[#&#8203;9508](https://togithub.com/pydantic/pydantic/pull/9508)
- Support context being passed to TypeAdapter's
`dump_json`/`dump_python` by
[@&#8203;alexcouper](https://togithub.com/alexcouper) in
[#&#8203;9495](https://togithub.com/pydantic/pydantic/pull/9495)
- Updates type signature for `Field()` constructor by
[@&#8203;bjmc](https://togithub.com/bjmc) in
[#&#8203;9484](https://togithub.com/pydantic/pydantic/pull/9484)
- Improve builtin alias generators by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9561](https://togithub.com/pydantic/pydantic/pull/9561)
- Fix typing of `TypeAdapter` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9570](https://togithub.com/pydantic/pydantic/pull/9570)
- Add fallback default value for private fields in `__setstate__` of
BaseModel by [@&#8203;anhpham1509](https://togithub.com/anhpham1509) in
[#&#8203;9584](https://togithub.com/pydantic/pydantic/pull/9584)
- Support `PEP 746` by [@&#8203;adriangb](https://togithub.com/adriangb)
in [#&#8203;9587](https://togithub.com/pydantic/pydantic/pull/9587)
- Allow validator and serializer functions to have default values by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;9478](https://togithub.com/pydantic/pydantic/pull/9478)
- Fix bug with mypy plugin's handling of covariant `TypeVar` fields by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;9606](https://togithub.com/pydantic/pydantic/pull/9606)
- Fix multiple annotation / constraint application logic by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9623](https://togithub.com/pydantic/pydantic/pull/9623)
- Respect `regex` flags in validation and json schema by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9591](https://togithub.com/pydantic/pydantic/pull/9591)
- Fix type hint on `IpvAnyAddress` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9640](https://togithub.com/pydantic/pydantic/pull/9640)
- Allow a field specifier on `__pydantic_extra__` by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;9659](https://togithub.com/pydantic/pydantic/pull/9659)
- Use normalized case for file path comparison by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9737](https://togithub.com/pydantic/pydantic/pull/9737)
- Modify constraint application logic to allow field constraints on
`Optional[Decimal]` by [@&#8203;lazyhope](https://togithub.com/lazyhope)
in [#&#8203;9754](https://togithub.com/pydantic/pydantic/pull/9754)
- `validate_call` type params fix by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;9760](https://togithub.com/pydantic/pydantic/pull/9760)
- Check all warnings returned by pytest.warns() by
[@&#8203;s-t-e-v-e-n-k](https://togithub.com/s-t-e-v-e-n-k) in
[#&#8203;9702](https://togithub.com/pydantic/pydantic/pull/9702)
- Reuse `re.Pattern` object in regex patterns to allow for regex flags
by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1318](https://togithub.com/pydantic/pydantic-core/pull/1318)

##### New Contributors

- [@&#8203;idan22moral](https://togithub.com/idan22moral) made their
first contribution in
[#&#8203;9294](https://togithub.com/pydantic/pydantic/pull/9294)
- [@&#8203;anesmemisevic](https://togithub.com/anesmemisevic) made their
first contribution in
[#&#8203;9303](https://togithub.com/pydantic/pydantic/pull/9303)
- [@&#8203;max-muoto](https://togithub.com/max-muoto) made their first
contribution in
[#&#8203;9338](https://togithub.com/pydantic/pydantic/pull/9338)
- [@&#8203;amitschang](https://togithub.com/amitschang) made their first
contribution in
[#&#8203;9344](https://togithub.com/pydantic/pydantic/pull/9344)
- [@&#8203;paulmartin91](https://togithub.com/paulmartin91) made their
first contribution in
[#&#8203;9410](https://togithub.com/pydantic/pydantic/pull/9410)
- [@&#8203;OhioDschungel6](https://togithub.com/OhioDschungel6) made
their first contribution in
[#&#8203;9405](https://togithub.com/pydantic/pydantic/pull/9405)
- [@&#8203;AlexWaygood](https://togithub.com/AlexWaygood) made their
first contribution in
[#&#8203;9426](https://togithub.com/pydantic/pydantic/pull/9426)
- [@&#8203;kinuax](https://togithub.com/kinuax) made their first
contribution in
[#&#8203;9433](https://togithub.com/pydantic/pydantic/pull/9433)
-
[@&#8203;antoni-jamiolkowski](https://togithub.com/antoni-jamiolkowski)
made their first contribution in
[#&#8203;9431](https://togithub.com/pydantic/pydantic/pull/9431)
- [@&#8203;candleindark](https://togithub.com/candleindark) made their
first contribution in
[#&#8203;9448](https://togithub.com/pydantic/pydantic/pull/9448)
- [@&#8203;nix010](https://togithub.com/nix010) made their first
contribution in
[#&#8203;9170](https://togithub.com/pydantic/pydantic/pull/9170)
- [@&#8203;tomy0000000](https://togithub.com/tomy0000000) made their
first contribution in
[#&#8203;9457](https://togithub.com/pydantic/pydantic/pull/9457)
- [@&#8203;vbmendes](https://togithub.com/vbmendes) made their first
contribution in
[#&#8203;9470](https://togithub.com/pydantic/pydantic/pull/9470)
- [@&#8203;micheleAlberto](https://togithub.com/micheleAlberto) made
their first contribution in
[#&#8203;9471](https://togithub.com/pydantic/pydantic/pull/9471)
- [@&#8203;ChrisPappalardo](https://togithub.com/ChrisPappalardo) made
their first contribution in
[#&#8203;9468](https://togithub.com/pydantic/pydantic/pull/9468)
- [@&#8203;blueTurtz](https://togithub.com/blueTurtz) made their first
contribution in
[#&#8203;9475](https://togithub.com/pydantic/pydantic/pull/9475)
- [@&#8203;WinterBlue16](https://togithub.com/WinterBlue16) made their
first contribution in
[#&#8203;9477](https://togithub.com/pydantic/pydantic/pull/9477)
- [@&#8203;bittner](https://togithub.com/bittner) made their first
contribution in
[#&#8203;9500](https://togithub.com/pydantic/pydantic/pull/9500)
- [@&#8203;alexcouper](https://togithub.com/alexcouper) made their first
contribution in
[#&#8203;9495](https://togithub.com/pydantic/pydantic/pull/9495)
- [@&#8203;bjmc](https://togithub.com/bjmc) made their first
contribution in
[#&#8203;9484](https://togithub.com/pydantic/pydantic/pull/9484)
- [@&#8203;pjvv](https://togithub.com/pjvv) made their first
contribution in
[#&#8203;9529](https://togithub.com/pydantic/pydantic/pull/9529)
- [@&#8203;nedbat](https://togithub.com/nedbat) made their first
contribution in
[#&#8203;9530](https://togithub.com/pydantic/pydantic/pull/9530)
- [@&#8203;gunnellEvan](https://togithub.com/gunnellEvan) made their
first contribution in
[#&#8203;9469](https://togithub.com/pydantic/pydantic/pull/9469)
- [@&#8203;jaymbans](https://togithub.com/jaymbans) made their first
contribution in
[#&#8203;9531](https://togithub.com/pydantic/pydantic/pull/9531)
- [@&#8203;MarcBresson](https://togithub.com/MarcBresson) made their
first contribution in
[#&#8203;9534](https://togithub.com/pydantic/pydantic/pull/9534)
- [@&#8203;anhpham1509](https://togithub.com/anhpham1509) made their
first contribution in
[#&#8203;9584](https://togithub.com/pydantic/pydantic/pull/9584)
- [@&#8203;K-dash](https://togithub.com/K-dash) made their first
contribution in
[#&#8203;9595](https://togithub.com/pydantic/pydantic/pull/9595)
- [@&#8203;s-t-e-v-e-n-k](https://togithub.com/s-t-e-v-e-n-k) made their
first contribution in
[#&#8203;9527](https://togithub.com/pydantic/pydantic/pull/9527)
- [@&#8203;airwoodix](https://togithub.com/airwoodix) made their first
contribution in
[#&#8203;9506](https://togithub.com/pydantic/pydantic/pull/9506)
- [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) made their
first contribution in
[#&#8203;9653](https://togithub.com/pydantic/pydantic/pull/9653)
- [@&#8203;AlessandroMiola](https://togithub.com/AlessandroMiola) made
their first contribution in
[#&#8203;9740](https://togithub.com/pydantic/pydantic/pull/9740)
- [@&#8203;mylapallilavanyaa](https://togithub.com/mylapallilavanyaa)
made their first contribution in
[#&#8203;9746](https://togithub.com/pydantic/pydantic/pull/9746)
- [@&#8203;lazyhope](https://togithub.com/lazyhope) made their first
contribution in
[#&#8203;9754](https://togithub.com/pydantic/pydantic/pull/9754)
- [@&#8203;YassinNouh21](https://togithub.com/YassinNouh21) made their
first contribution in
[#&#8203;9759](https://togithub.com/pydantic/pydantic/pull/9759)

</details>

<details>
<summary>privatenumber/tsx (tsx)</summary>

###
[`v4.16.2`](https://togithub.com/privatenumber/tsx/compare/v4.16.1...042be032246ef8964a4b6bf4602a9dca7c875d52)

[Compare
Source](https://togithub.com/privatenumber/tsx/compare/v4.16.1...v4.16.2)

###
[`v4.16.1`](https://togithub.com/privatenumber/tsx/releases/tag/v4.16.1)

[Compare
Source](https://togithub.com/privatenumber/tsx/compare/v4.16.0...v4.16.1)

##### Bug Fixes

- **cjs:** isolate implicit resolver enhancement
([#&#8203;59](https://togithub.com/privatenumber/tsx/issues/59))
([143a5bd](https://togithub.com/privatenumber/tsx/commit/143a5bd8394154fbaa2bef235168678ad96a6454))
- **cjs:** namespace filter to preserve file path
([6ef949c](https://togithub.com/privatenumber/tsx/commit/6ef949cf8b62eebfadb029d70c775732c8a87d2a))
- **esm:** implicit resolution with tsconfig paths
([a74aa58](https://togithub.com/privatenumber/tsx/commit/a74aa5857aa848a27f34198aa0ce9d028fda5801)),
closes [#&#8203;607](https://togithub.com/privatenumber/tsx/issues/607)

***

This release is also available on:

- [npm package (@&#8203;latest
dist-tag)](https://www.npmjs.com/package/tsx/v/4.16.1)

</details>

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

###
[`v5.5.3`](https://togithub.com/Microsoft/TypeScript/compare/v5.5.2...f0e992167440686f948965e5441a918b34251886)

[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.5.2...v5.5.3)

</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 becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/autoblocksai/autoblocks-examples).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot added a commit to cloudquery/python-plugin-template that referenced this pull request Dec 9, 2024
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | dependencies | minor | `2.4.2` -> `2.10.2` | `2.10.3` |

---

### Release Notes

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

### [`v2.10.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25)

[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.10.1...v2.10.2)

[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.10.2)

##### What's Changed

##### Fixes

-   Only evaluate FieldInfo annotations if required during schema building by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10769](https://togithub.com/pydantic/pydantic/pull/10769)
-   Do not evaluate annotations for private fields by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10962](https://togithub.com/pydantic/pydantic/pull/10962)
-   Support serialization as any for `Secret` types and `Url` types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10947](https://togithub.com/pydantic/pydantic/pull/10947)
-   Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10972](https://togithub.com/pydantic/pydantic/pull/10972)
-   Add hashing support for URL types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10975](https://togithub.com/pydantic/pydantic/pull/10975)
-   Hide `BaseModel.__replace__` definition from type checkers by [@&#8203;Viicos](https://togithub.com/Viicos) in [10979](https://togithub.com/pydantic/pydantic/pull/10979)

### [`v2.10.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21)

[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.10.0...v2.10.1)

[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.10.1)

##### What's Changed

##### Packaging

-   Bump `pydantic-core` version to `v2.27.1` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10938](https://togithub.com/pydantic/pydantic/pull/10938)

##### Fixes

-   Use the correct frame when instantiating a parametrized `TypeAdapter` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10893](https://togithub.com/pydantic/pydantic/pull/10893)
-   Relax check for validated data in `default_factory` utils by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10909](https://togithub.com/pydantic/pydantic/pull/10909)
-   Fix type checking issue with `model_fields` and `model_computed_fields` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10911](https://togithub.com/pydantic/pydantic/pull/10911)
-   Use the parent configuration during schema generation for stdlib `dataclass`es by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10928](https://togithub.com/pydantic/pydantic/pull/10928)
-   Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10929](https://togithub.com/pydantic/pydantic/pull/10929)
-   Fix URL constraint application by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10922](https://togithub.com/pydantic/pydantic/pull/10922)
-   Fix URL equality with different validation methods by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10934](https://togithub.com/pydantic/pydantic/pull/10934)
-   Fix JSON schema title when specified as `''` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10936](https://togithub.com/pydantic/pydantic/pull/10936)
-   Fix `python` mode serialization for `complex` inference by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic-core#1549](https://togithub.com/pydantic/pydantic-core/pull/1549)

##### New Contributors

### [`v2.10.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20)

[Compare Source](https://togithub.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://togithub.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 [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10825](https://togithub.com/pydantic/pydantic/pull/10825)
-   Replaced pdm with uv by [@&#8203;frfahim](https://togithub.com/frfahim) in [#&#8203;10727](https://togithub.com/pydantic/pydantic/pull/10727)

##### New Features

-   Support `fractions.Fraction` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10318](https://togithub.com/pydantic/pydantic/pull/10318)
-   Support `Hashable` for json validation by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10324](https://togithub.com/pydantic/pydantic/pull/10324)
-   Add a `SocketPath` type for `linux` systems by [@&#8203;theunkn0wn1](https://togithub.com/theunkn0wn1) in [#&#8203;10378](https://togithub.com/pydantic/pydantic/pull/10378)
-   Allow arbitrary refs in JSON schema `examples` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10417](https://togithub.com/pydantic/pydantic/pull/10417)
-   Support `defer_build` for Pydantic dataclasses by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10313](https://togithub.com/pydantic/pydantic/pull/10313)
-   Adding v1 / v2 incompatibility warning for nested v1 model by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10431](https://togithub.com/pydantic/pydantic/pull/10431)
-   Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10416](https://togithub.com/pydantic/pydantic/pull/10416)
-   Support compiled patterns in `protected_namespaces` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10522](https://togithub.com/pydantic/pydantic/pull/10522)
-   Add support for `propertyNames` in JSON schema by [@&#8203;FlorianSW](https://togithub.com/FlorianSW) in [#&#8203;10478](https://togithub.com/pydantic/pydantic/pull/10478)
-   Adding `__replace__` protocol for Python 3.13+ support by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10596](https://togithub.com/pydantic/pydantic/pull/10596)
-   Expose public `sort` method for JSON schema generation by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10595](https://togithub.com/pydantic/pydantic/pull/10595)
-   Add runtime validation of `@validate_call` callable argument by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10627](https://togithub.com/pydantic/pydantic/pull/10627)
-   Add `experimental_allow_partial` support by [@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in [#&#8203;10748](https://togithub.com/pydantic/pydantic/pull/10748)
-   Support default factories taking validated data as an argument by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10678](https://togithub.com/pydantic/pydantic/pull/10678)
-   Allow subclassing `ValidationError` and `PydanticCustomError` by [@&#8203;Youssefares](https://togithub.com/Youssefares) in [pydantic/pydantic-core#1413](https://togithub.com/pydantic/pydantic-core/pull/1413)
-   Add `trailing-strings` support to `experimental_allow_partial` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10825](https://togithub.com/pydantic/pydantic/pull/10825)
-   Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10537](https://togithub.com/pydantic/pydantic/pull/10537)
-   Improve `TypeAdapter` instance repr by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10872](https://togithub.com/pydantic/pydantic/pull/10872)

##### Changes

-   Don't allow customization of `SchemaGenerator` until interface is more stable by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10303](https://togithub.com/pydantic/pydantic/pull/10303)
-   Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10329](https://togithub.com/pydantic/pydantic/pull/10329)
-   Fix `mro` of generic subclass  by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10100](https://togithub.com/pydantic/pydantic/pull/10100)
-   Strip whitespaces on JSON Schema title generation by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10404](https://togithub.com/pydantic/pydantic/pull/10404)
-   Use `b64decode` and `b64encode` for `Base64Bytes` type by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10486](https://togithub.com/pydantic/pydantic/pull/10486)
-   Relax protected namespace config default by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10441](https://togithub.com/pydantic/pydantic/pull/10441)
-   Revalidate parametrized generics if instance's origin is subclass of OG class by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10666](https://togithub.com/pydantic/pydantic/pull/10666)
-   Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10406](https://togithub.com/pydantic/pydantic/pull/10406)
-   Recommend against using `Ellipsis` (...) with `Field` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10661](https://togithub.com/pydantic/pydantic/pull/10661)
-   Migrate to subclassing instead of annotated approach for pydantic url types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10662](https://togithub.com/pydantic/pydantic/pull/10662)
-   Change JSON schema generation of `Literal`s and `Enums` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10692](https://togithub.com/pydantic/pydantic/pull/10692)
-   Simplify unions involving `Any` or `Never` when replacing type variables by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10338](https://togithub.com/pydantic/pydantic/pull/10338)
-   Do not require padding when decoding `base64` bytes by [@&#8203;bschoenmaeckers](https://togithub.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://togithub.com/pydantic/pydantic-core/pull/1448)
-   Support dates all the way to 1BC by [@&#8203;changhc](https://togithub.com/changhc) in [pydantic/speedate#77](https://togithub.com/pydantic/speedate/pull/77)

##### Performance

-   Schema cleaning: skip unnecessary copies during schema walking by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10286](https://togithub.com/pydantic/pydantic/pull/10286)
-   Refactor namespace logic for annotations evaluation by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10530](https://togithub.com/pydantic/pydantic/pull/10530)
-   Improve email regexp on edge cases by [@&#8203;AlekseyLobanov](https://togithub.com/AlekseyLobanov) in [#&#8203;10601](https://togithub.com/pydantic/pydantic/pull/10601)
-   `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10675](https://togithub.com/pydantic/pydantic/pull/10675)

##### Fixes

-   Remove guarding check on `computed_field` with `field_serializer` by [@&#8203;nix010](https://togithub.com/nix010) in [#&#8203;10390](https://togithub.com/pydantic/pydantic/pull/10390)
-   Fix `Predicate` issue in `v2.9.0` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10321](https://togithub.com/pydantic/pydantic/pull/10321)
-   Fixing `annotated-types` bound by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10327](https://togithub.com/pydantic/pydantic/pull/10327)
-   Turn `tzdata` install requirement into optional `timezone` dependency by [@&#8203;jakob-keller](https://togithub.com/jakob-keller) in [#&#8203;10331](https://togithub.com/pydantic/pydantic/pull/10331)
-   Use correct types namespace when building `namedtuple` core schemas by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10337](https://togithub.com/pydantic/pydantic/pull/10337)
-   Fix evaluation of stringified annotations during namespace inspection by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10347](https://togithub.com/pydantic/pydantic/pull/10347)
-   Fix `IncEx` type alias definition by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10339](https://togithub.com/pydantic/pydantic/pull/10339)
-   Do not error when trying to evaluate annotations of private attributes by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10358](https://togithub.com/pydantic/pydantic/pull/10358)
-   Fix nested type statement by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10369](https://togithub.com/pydantic/pydantic/pull/10369)
-   Improve typing of `ModelMetaclass.mro` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10372](https://togithub.com/pydantic/pydantic/pull/10372)
-   Fix class access of deprecated `computed_field`s by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10391](https://togithub.com/pydantic/pydantic/pull/10391)
-   Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@&#8203;MovisLi](https://togithub.com/MovisLi) in [#&#8203;10374](https://togithub.com/pydantic/pydantic/pull/10374)
-   Fix `NameError` when using `validate_call` with PEP 695 on a class by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10380](https://togithub.com/pydantic/pydantic/pull/10380)
-   Fix `ZoneInfo` with various invalid types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10408](https://togithub.com/pydantic/pydantic/pull/10408)
-   Fix `PydanticUserError` on empty `model_config` with annotations by [@&#8203;cdwilson](https://togithub.com/cdwilson) in [#&#8203;10412](https://togithub.com/pydantic/pydantic/pull/10412)
-   Fix variance issue in `_IncEx` type alias, only allow `True` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10414](https://togithub.com/pydantic/pydantic/pull/10414)
-   Fix serialization schema generation when using `PlainValidator` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10427](https://togithub.com/pydantic/pydantic/pull/10427)
-   Fix schema generation error when serialization schema holds references by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10444](https://togithub.com/pydantic/pydantic/pull/10444)
-   Inline references if possible when generating schema for `json_schema_input_type` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10439](https://togithub.com/pydantic/pydantic/pull/10439)
-   Fix recursive arguments in `Representation` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10480](https://togithub.com/pydantic/pydantic/pull/10480)
-   Fix representation for builtin function types by [@&#8203;kschwab](https://togithub.com/kschwab) in [#&#8203;10479](https://togithub.com/pydantic/pydantic/pull/10479)
-   Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10506](https://togithub.com/pydantic/pydantic/pull/10506)
-   Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10518](https://togithub.com/pydantic/pydantic/pull/10518)
-   Fix `stacklevel` on deprecation warnings for `BaseModel` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10520](https://togithub.com/pydantic/pydantic/pull/10520)
-   Fix warning `stacklevel` in `BaseModel.__init__` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10526](https://togithub.com/pydantic/pydantic/pull/10526)
-   Improve error handling for in-evaluable refs for discriminator application by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10440](https://togithub.com/pydantic/pydantic/pull/10440)
-   Change the signature of `ConfigWrapper.core_config` to take the title directly by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10562](https://togithub.com/pydantic/pydantic/pull/10562)
-   Do not use the previous config from the stack for dataclasses without config by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10576](https://togithub.com/pydantic/pydantic/pull/10576)
-   Fix serialization for IP types with `mode='python'` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10594](https://togithub.com/pydantic/pydantic/pull/10594)
-   Support constraint application for `Base64Etc` types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10584](https://togithub.com/pydantic/pydantic/pull/10584)
-   Fix `validate_call` ignoring `Field` in `Annotated` by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10610](https://togithub.com/pydantic/pydantic/pull/10610)
-   Raise an error when `Self` is invalid by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10609](https://togithub.com/pydantic/pydantic/pull/10609)
-   Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10523](https://togithub.com/pydantic/pydantic/pull/10523)
-   Tweak type alias logic by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10643](https://togithub.com/pydantic/pydantic/pull/10643)
-   Support usage of `type` with `typing.Self` and type aliases by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10621](https://togithub.com/pydantic/pydantic/pull/10621)
-   Use overloads for `Field` and `PrivateAttr` functions by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10651](https://togithub.com/pydantic/pydantic/pull/10651)
-   Clean up the `mypy` plugin implementation by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10669](https://togithub.com/pydantic/pydantic/pull/10669)
-   Properly check for `typing_extensions` variant of `TypeAliasType` by [@&#8203;Daraan](https://togithub.com/Daraan) in [#&#8203;10713](https://togithub.com/pydantic/pydantic/pull/10713)
-   Allow any mapping in `BaseModel.model_copy()` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10751](https://togithub.com/pydantic/pydantic/pull/10751)
-   Fix `isinstance` behavior for urls by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10766](https://togithub.com/pydantic/pydantic/pull/10766)
-   Ensure `cached_property` can be set on Pydantic models by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10774](https://togithub.com/pydantic/pydantic/pull/10774)
-   Fix equality checks for primitives in literals by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://togithub.com/pydantic/pydantic-core/pull/1459)
-   Properly enforce `host_required` for URLs by [@&#8203;Viicos](https://togithub.com/Viicos) in [pydantic/pydantic-core#1488](https://togithub.com/pydantic/pydantic-core/pull/1488)
-   Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@&#8203;andrey-berenda](https://togithub.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://togithub.com/pydantic/pydantic-core/pull/1515)
-   Fix serializing `complex` values in `Enum`s by [@&#8203;changhc](https://togithub.com/changhc) in [pydantic/pydantic-core#1524](https://togithub.com/pydantic/pydantic-core/pull/1524)
-   Refactor `_typing_extra` module by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10725](https://togithub.com/pydantic/pydantic/pull/10725)
-   Support intuitive equality for urls by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10798](https://togithub.com/pydantic/pydantic/pull/10798)
-   Add `bytearray` to `TypeAdapter.validate_json` signature by [@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in [#&#8203;10802](https://togithub.com/pydantic/pydantic/pull/10802)
-   Ensure class access of method descriptors is performed when used as a default with `Field` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10816](https://togithub.com/pydantic/pydantic/pull/10816)
-   Fix circular import with `validate_call` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10807](https://togithub.com/pydantic/pydantic/pull/10807)
-   Fix error when using type aliases referencing other type aliases by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10809](https://togithub.com/pydantic/pydantic/pull/10809)
-   Fix `IncEx` type alias to be compatible with mypy by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10813](https://togithub.com/pydantic/pydantic/pull/10813)
-   Make `__signature__` a lazy property, do not deepcopy defaults by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10818](https://togithub.com/pydantic/pydantic/pull/10818)
-   Make `__signature__` lazy for dataclasses, too by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10832](https://togithub.com/pydantic/pydantic/pull/10832)
-   Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10856](https://togithub.com/pydantic/pydantic/pull/10856)

##### New Contributors

-   [@&#8203;jakob-keller](https://togithub.com/jakob-keller) made their first contribution in [#&#8203;10331](https://togithub.com/pydantic/pydantic/pull/10331)
-   [@&#8203;MovisLi](https://togithub.com/MovisLi) made their first contribution in [#&#8203;10374](https://togithub.com/pydantic/pydantic/pull/10374)
-   [@&#8203;joaopalmeiro](https://togithub.com/joaopalmeiro) made their first contribution in [#&#8203;10405](https://togithub.com/pydantic/pydantic/pull/10405)
-   [@&#8203;theunkn0wn1](https://togithub.com/theunkn0wn1) made their first contribution in [#&#8203;10378](https://togithub.com/pydantic/pydantic/pull/10378)
-   [@&#8203;cdwilson](https://togithub.com/cdwilson) made their first contribution in [#&#8203;10412](https://togithub.com/pydantic/pydantic/pull/10412)
-   [@&#8203;dlax](https://togithub.com/dlax) made their first contribution in [#&#8203;10421](https://togithub.com/pydantic/pydantic/pull/10421)
-   [@&#8203;kschwab](https://togithub.com/kschwab) made their first contribution in [#&#8203;10479](https://togithub.com/pydantic/pydantic/pull/10479)
-   [@&#8203;santibreo](https://togithub.com/santibreo) made their first contribution in [#&#8203;10453](https://togithub.com/pydantic/pydantic/pull/10453)
-   [@&#8203;FlorianSW](https://togithub.com/FlorianSW) made their first contribution in [#&#8203;10478](https://togithub.com/pydantic/pydantic/pull/10478)
-   [@&#8203;tkasuz](https://togithub.com/tkasuz) made their first contribution in [#&#8203;10555](https://togithub.com/pydantic/pydantic/pull/10555)
-   [@&#8203;AlekseyLobanov](https://togithub.com/AlekseyLobanov) made their first contribution in [#&#8203;10601](https://togithub.com/pydantic/pydantic/pull/10601)
-   [@&#8203;NiclasvanEyk](https://togithub.com/NiclasvanEyk) made their first contribution in [#&#8203;10667](https://togithub.com/pydantic/pydantic/pull/10667)
-   [@&#8203;mschoettle](https://togithub.com/mschoettle) made their first contribution in [#&#8203;10677](https://togithub.com/pydantic/pydantic/pull/10677)
-   [@&#8203;Daraan](https://togithub.com/Daraan) made their first contribution in [#&#8203;10713](https://togithub.com/pydantic/pydantic/pull/10713)
-   [@&#8203;k4nar](https://togithub.com/k4nar) made their first contribution in [#&#8203;10736](https://togithub.com/pydantic/pydantic/pull/10736)
-   [@&#8203;UriyaHarpeness](https://togithub.com/UriyaHarpeness) made their first contribution in [#&#8203;10740](https://togithub.com/pydantic/pydantic/pull/10740)
-   [@&#8203;frfahim](https://togithub.com/frfahim) made their first contribution in [#&#8203;10727](https://togithub.com/pydantic/pydantic/pull/10727)

### [`v2.9.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v292-2024-09-17)

[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.9.1...v2.9.2)

[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.9.2)

##### What's Changed

##### Fixes

-   Do not error when trying to evaluate annotations of private attributes by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10358](https://togithub.com/pydantic/pydantic/pull/10358)
-   Adding notes on designing sound `Callable` discriminators by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10400](https://togithub.com/pydantic/pydantic/pull/10400)
-   Fix serialization schema generation when using `PlainValidator` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10427](https://togithub.com/pydantic/pydantic/pull/10427)
-   Fix `Union` serialization warnings by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1449](https://togithub.com/pydantic/pydantic-core/pull/1449)
-   Fix variance issue in `_IncEx` type alias, only allow `True` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10414](https://togithub.com/pydantic/pydantic/pull/10414)
-   Fix `ZoneInfo` validation with various invalid types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10408](https://togithub.com/pydantic/pydantic/pull/10408)

### [`v2.9.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v291-2024-09-09)

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

[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.9.1)

##### What's Changed

##### Fixes

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

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

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

[GitHub release](https://togithub.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://togithub.com/sydney-runkle) in [#&#8203;9801](https://togithub.com/pydantic/pydantic/pull/9801)
-   Bump `pydantic-extra-types` to `v2.9.0` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9832](https://togithub.com/pydantic/pydantic/pull/9832)
-   Support compatibility with `pdm v2.18.1` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10138](https://togithub.com/pydantic/pydantic/pull/10138)
-   Bump `v1` version stub to `v1.10.18` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10214](https://togithub.com/pydantic/pydantic/pull/10214)
-   Bump `pydantic-core` to `v2.23.2` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10311](https://togithub.com/pydantic/pydantic/pull/10311)

##### New Features

-   Add support for `ZoneInfo` by [@&#8203;Youssefares](https://togithub.com/Youssefares) in [#&#8203;9896](https://togithub.com/pydantic/pydantic/pull/9896)
-   Add `Config.val_json_bytes` by [@&#8203;josh-newman](https://togithub.com/josh-newman) in [#&#8203;9770](https://togithub.com/pydantic/pydantic/pull/9770)
-   Add DSN for Snowflake by [@&#8203;aditkumar72](https://togithub.com/aditkumar72) in [#&#8203;10128](https://togithub.com/pydantic/pydantic/pull/10128)
-   Support `complex` number by [@&#8203;changhc](https://togithub.com/changhc) in [#&#8203;9654](https://togithub.com/pydantic/pydantic/pull/9654)
-   Add support for `annotated_types.Not` by [@&#8203;aditkumar72](https://togithub.com/aditkumar72) in [#&#8203;10210](https://togithub.com/pydantic/pydantic/pull/10210)
-   Allow `WithJsonSchema` to inject `$ref`s w/ `http` or `https` links by [@&#8203;dAIsySHEng1](https://togithub.com/dAIsySHEng1) in [#&#8203;9863](https://togithub.com/pydantic/pydantic/pull/9863)
-   Allow validators to customize validation JSON schema by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10094](https://togithub.com/pydantic/pydantic/pull/10094)
-   Support parametrized `PathLike` types by [@&#8203;nix010](https://togithub.com/nix010) in [#&#8203;9764](https://togithub.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://togithub.com/sydney-runkle) in in [pydantic/pydantic-core#1397](https://togithub.com/pydantic/pydantic-core/pull/1397)

##### Changes

-   Breaking Change: Merge `dict` type `json_schema_extra` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9792](https://togithub.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://togithub.com/sydney-runkle) in [#&#8203;9979](https://togithub.com/pydantic/pydantic/pull/9979)
-   Move annotation compatibility errors to validation phase by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9999](https://togithub.com/pydantic/pydantic/pull/9999)
-   Improve runtime errors for string constraints like `pattern` for incompatible types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10158](https://togithub.com/pydantic/pydantic/pull/10158)
-   Remove `'allOf'` JSON schema workarounds by [@&#8203;dpeachey](https://togithub.com/dpeachey) in [#&#8203;10029](https://togithub.com/pydantic/pydantic/pull/10029)
-   Remove `typed_dict_cls` data from `CoreMetadata` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10180](https://togithub.com/pydantic/pydantic/pull/10180)
-   Deprecate passing a dict to the `Examples` class by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10181](https://togithub.com/pydantic/pydantic/pull/10181)
-   Remove `initial_metadata` from internal metadata construct by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10194](https://togithub.com/pydantic/pydantic/pull/10194)
-   Use `re.Pattern.search` instead of `re.Pattern.match` for consistency with `rust` behavior by [@&#8203;tinez](https://togithub.com/tinez) in [pydantic/pydantic-core#1368](https://togithub.com/pydantic/pydantic-core/pull/1368)
-   Show value of wrongly typed data in `pydantic-core` serialization warning by [@&#8203;BoxyUwU](https://togithub.com/BoxyUwU) in [pydantic/pydantic-core#1377](https://togithub.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://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1411](https://togithub.com/pydantic/pydantic-core/pull/1411)
-   Raise helpful warning when `self` isn't returned from model validator by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10255](https://togithub.com/pydantic/pydantic/pull/10255)

##### Performance

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

##### Minor Internal Improvements

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

##### Fixes

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

##### New Contributors

##### `pydantic`

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

##### `pydantic-core`

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

### [`v2.8.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v282-2024-07-03)

[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.1...v2.8.2)

[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.2)

##### What's Changed

##### Fixes

-   Fix issue with assertion caused by pluggable schema validator by [@&#8203;dmontagu](https://togithub.com/dmontagu) in [#&#8203;9838](https://togithub.com/pydantic/pydantic/pull/9838)

### [`v2.8.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v281-2024-07-03)

[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.0...v2.8.1)

[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.1)

##### What's Changed

##### Packaging

-   Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9801](https://togithub.com/pydantic/pydantic/pull/9801)
-   Bump `pydantic-core` to `v2.20.1`, `pydantic-extra-types` to `v2.9.0` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9832](https://togithub.com/pydantic/pydantic/pull/9832)

##### Fixes

-   Fix breaking change in `to_snake` from v2.7 -> v2.8 by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9812](https://togithub.com/pydantic/pydantic/pull/9812)
-   Fix list constraint json schema application by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9818](https://togithub.com/pydantic/pydantic/pull/9818)
-   Support time duration more than 23 by [@&#8203;nix010](https://togithub.com/nix010) in [pydantic/speedate#64](https://togithub.com/pydantic/speedate/pull/64)
-   Fix millisecond fraction being handled with the wrong scale by [@&#8203;davidhewitt](https://togithub.com/davidhewitt) in [pydantic/speedate#65](https://togithub.com/pydantic/speedate/pull/65)
-   Handle negative fractional durations correctly by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/speedate#71](https://togithub.com/pydantic/speedate/pull/71)

### [`v2.8.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v280-2024-07-01)

[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.4...v2.8.0)

[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.0)

The code released in v2.8.0 is functionally identical to that of v2.8.0b1.

##### What's Changed

##### Packaging

-   Update citation version automatically with new releases by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9673](https://togithub.com/pydantic/pydantic/pull/9673)
-   Bump pyright to `v1.1.367` and add type checking tests for pipeline API by [@&#8203;adriangb](https://togithub.com/adriangb) in [#&#8203;9674](https://togithub.com/pydantic/pydantic/pull/9674)
-   Update `pydantic.v1` stub to `v1.10.17` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9707](https://togithub.com/pydantic/pydantic/pull/9707)
-   General package updates to prep for `v2.8.0b1` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9741](https://togithub.com/pydantic/pydantic/pull/9741)
-   Bump `pydantic-core` to `v2.20.0` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9745](https://togithub.com/pydantic/pydantic/pull/9745)
-   Add support for Python 3.13 by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9743](https://togithub.com/pydantic/pydantic/pull/9743)
-   Update `pdm` version used for `pdm.lock` to v2.16.1 by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9761](https://togithub.com/pydantic/pydantic/pull/9761)
-   Update to `ruff` `v0.4.8` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;9585](https://togithub.com/pydantic/pydantic/pull/9585)

##### New Features

-   Experimental: support `defer_build` for `TypeAdapter` by [@&#8203;MarkusSintonen](https://togithub.com/MarkusSintonen) in [#&#8203;8939](https://togithub.com/pydantic/pydantic/pull/8939)
-   Implement `deprecated` field in json schema by [@&#8203;NeevCohen](https://togithub.com/NeevCohen) in [#&#8203;9298](https://togithub.com/pydantic/pydantic/pull/9298)
-   Experimental: Add pipeline API by [@&#8203;adriangb](https://togithub.com/adriangb) in [#&#8203;9459](https://togithub.com/pydantic/pydantic/pull/9459)
-   Add support for programmatic title generation by [@&#8203;NeevCohen](https://togithub.com/NeevCohen) in [#&#8203;9183](https://togithub.com/pydantic/pydantic/pull/9183)
-   Implement `fail_fast` feature by [@&#8203;uriyyo](https://togithub.com/uriyyo) in [#&#8203;9708](https://togithub.com/pydantic/pydantic/pull/9708)
-   Add `ser_json_inf_nan='strings'` mode to produce valid JSON by [@&#8203;josh-newman](https://togithub.com/josh-newman) in [pydantic/pydantic-core#1307](https://togithub.com/pydantic/pydantic-core/pull/1307)

##### Changes

-   Add warning when "alias" is set in ignored `Annotated` field by [@&#8203;nix010](https://togithub.com/nix010) in [#&#8203;9170](https://togithub.com/pydantic/pydantic/pull/9170)
-   Support serialization of some serializable defaults in JSON schema by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9624](https://togithub.com/pydantic/pydantic/pull/9624)
-   Relax type specification for `__validators__` values in `create_model` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9697](https://togithub.com/pydantic/pydantic/pull/9697)
-   **Breaking Change:** Improve `smart` union matching logic by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1322](https://togithub.com/pydantic/pydantic-core/pull/1322)
    You can read more about our `smart` union matching logic [here](https://docs.pydantic.dev/dev/concepts/unions/#smart-mode). In some cases, if the old behavior
    is desired, you can switch to `left-to-right` mode and change the order of your `Union` members.

##### Performance

##### Internal Improvements

-   ⚡️ Speed up `_display_error_loc()` by 25% in `pydantic/v1/error_wrappers.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9653](https://togithub.com/pydantic/pydantic/pull/9653)
-   ⚡️ Speed up `_get_all_json_refs()` by 34% in `pydantic/json_schema.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9650](https://togithub.com/pydantic/pydantic/pull/9650)
-   ⚡️ Speed up `is_pydantic_dataclass()` by 41% in `pydantic/dataclasses.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9652](https://togithub.com/pydantic/pydantic/pull/9652)
-   ⚡️ Speed up `to_snake()` by 27% in `pydantic/alias_generators.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9747](https://togithub.com/pydantic/pydantic/pull/9747)
-   ⚡️ Speed up `unwrap_wrapped_function()` by 93% in `pydantic/_internal/_decorators.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9727](https://togithub.com/pydantic/pydantic/pull/9727)

##### Fixes

-   Replace `__spec__.parent` with `__package__` by [@&#8203;hramezani](https://togithub.com/hramezani) in [#&#8203;9331](https://togithub.com/pydantic/pydantic/pull/9331)
-   Fix Outputted Model JSON Schema for `Sequence` type by [@&#8203;anesmemisevic](https://togithub.com/anesmemisevic) in [#&#8203;9303](https://togithub.com/pydantic/pydantic/pull/9303)
-   Fix typing of `_frame_depth` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;9353](https://togithub.com/pydantic/pydantic/pull/9353)
-   Make `ImportString` json schema compatible by [@&#8203;amitschang](https://togithub.com/am

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on the first day of the month" (UTC), 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.

🔕 **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 has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImF1dG9tZXJnZSJdfQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

fail-fast list schema configuration
4 participants