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

Support complex numbers #1331

Merged
merged 20 commits into from
Aug 15, 2024
Merged

Conversation

changhc
Copy link
Contributor

@changhc changhc commented Jun 12, 2024

Change Summary

Implement a validator and a serialiser for complex numbers.

As discussed in pydantic/pydantic#8555, since there is no official representation for complex numbers in JSON, I propose to express complex numbers as dictionaries with two keys, real and imag, with floating point values. Please find examples in the newly added test suites in this PR.

Note that function str_as_complex in shared.rs is not yet implemented as I need to discuss with the team if we want to support this. For example, we might want to accept strings like 1+2j as a valid complex number, as long as these strings follow the format described in python's documentation. This implementation, however, will be a bit tricky. Using regular expression is the simplest solution, but it is going to be a bit slow since building regex is rather costly. Parsing strings using the crate num_complex will make the implementation very neat, but num_complex is more tolerant in terms of string format, which means we will need to handle strings not allowed in python and it is going to be problematic. The safest solution is probably to do exactly the same as how cpython parses strings. I think that can be done in a separate PR for easier reviews.

Related issue number

pydantic/pydantic#8555

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

Copy link

codecov bot commented Jun 12, 2024

Codecov Report

Attention: Patch coverage is 82.12560% with 37 lines in your changes missing coverage. Please review.

Project coverage is 89.55%. Comparing base (ab503cb) to head (8919589).
Report is 148 commits behind head on main.

Files Patch % Lines
src/serializers/infer.rs 0.00% 15 Missing ⚠️
src/serializers/type_serializers/complex.rs 83.87% 10 Missing ⚠️
src/input/return_enums.rs 38.46% 8 Missing ⚠️
src/input/input_string.rs 80.00% 1 Missing ⚠️
src/serializers/ob_type.rs 50.00% 1 Missing ⚠️
src/serializers/shared.rs 0.00% 1 Missing ⚠️
src/validators/complex.rs 97.67% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1331      +/-   ##
==========================================
- Coverage   90.21%   89.55%   -0.67%     
==========================================
  Files         106      111       +5     
  Lines       16339    17537    +1198     
  Branches       36       41       +5     
==========================================
+ Hits        14740    15705     +965     
- Misses       1592     1812     +220     
- Partials        7       20      +13     
Files Coverage Δ
python/pydantic_core/core_schema.py 94.76% <100.00%> (-0.01%) ⬇️
src/errors/types.rs 99.44% <100.00%> (+<0.01%) ⬆️
src/input/input_abstract.rs 42.85% <ø> (-27.39%) ⬇️
src/input/input_json.rs 90.50% <100.00%> (+1.57%) ⬆️
src/input/input_python.rs 97.40% <100.00%> (+0.19%) ⬆️
src/validators/mod.rs 96.06% <100.00%> (+0.03%) ⬆️
src/input/input_string.rs 47.80% <80.00%> (+9.56%) ⬆️
src/serializers/ob_type.rs 82.97% <50.00%> (+0.86%) ⬆️
src/serializers/shared.rs 78.07% <0.00%> (-1.14%) ⬇️
src/validators/complex.rs 97.67% <97.67%> (ø)
... and 3 more

... and 34 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6e96b85...8919589. Read the comment docs.

Copy link

codspeed-hq bot commented Jun 12, 2024

CodSpeed Performance Report

Merging #1331 will not alter performance

Comparing changhc:implement-complex (8919589) with main (863640b)

Summary

✅ 155 untouched benchmarks

Copy link
Member

@sydney-runkle sydney-runkle left a comment

Choose a reason for hiding this comment

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

@changhc,

Great work thus far, thanks!!

As discussed in pydantic/pydantic#8555, since there is no official representation for complex numbers in JSON, I propose to express complex numbers as dictionaries with two keys, real and imag, with floating point values. Please find examples in the newly added test suites in this PR.

I agree with this approach. @davidhewitt what do you think? I suppose we could have support for either this or the 1+2j format (maybe with a config flag...)

Note that function str_as_complex in shared.rs is not yet implemented as I need to discuss with the team if we want to support this. For example, we might want to accept strings like 1+2j as a valid complex number, as long as these strings follow the format described in python's documentation.

As mentioned on the pydantic PR, I'd be keen to support this.

This implementation, however, will be a bit tricky. Using regular expression is the simplest solution, but it is going to be a bit slow since building regex is rather costly.

Perhaps we can speed things up by using the rust regex crate?

The safest solution is probably to do exactly the same as how cpython parses strings. I think that can be done in a separate PR for easier reviews.

Probably a question for @davidhewitt here.

@changhc
Copy link
Contributor Author

changhc commented Jun 13, 2024

Thanks!

I've looked into the rust regex crate. It has rather limited functionality, specifically lookahead, which means we will need to handle some corner cases ourselves or create some not so straightforward logic. Another crate fancy_regex has better support for regex, but introducing another dependency on a non-native library makes me a bit hesitant unless it's really necessary or beneficial enough. With regex, my biggest concern is whether or not we can capture exactly what is accepted by python. I'm concerned about accidentally accepting/rejecting some strings that are actually rejected/accepted by the complex class in python, which might bring users unexpected problems.

If the team thinks it's okay with regex (and maybe you don't feel like having this cumbersome dictionary representation at all,) I can definitely look into that.

@davidhewitt
Copy link
Contributor

What if we avoided using either a regex or num_complex entirely, and we used the Python logic to build complex instances? This is basically what we do already for Decimal, and it seems like a reasonable design to repeat again IMO.

@changhc
Copy link
Contributor Author

changhc commented Jun 18, 2024 via email

@sydney-runkle
Copy link
Member

That sounds good to me. Then I'll work on that. On the other hand, what do
you think about the dict representation I proposed and implemented in this
PR? Should we still keep it or should we only accept strings like 1+2j?

We'll chat with the team in our open source sync tomorrow and get back to you :).

@sydney-runkle
Copy link
Member

That sounds good to me. Then I'll work on that. On the other hand, what do
you think about the dict representation I proposed and implemented in this
PR? Should we still keep it or should we only accept strings like 1+2j?

Let's go with the string representation for now, and if the feature lands with some popularity, we can add support for the dictionary style. For now, if folks really need that dict type serialization for complex numbers, they can use a custom serializer.

@changhc
Copy link
Contributor Author

changhc commented Jun 22, 2024

I've updated the implementation. There is one test case failing with pypy, and I think that's because of some bugs in pypy. How do you usually handle discrepancy between pypy and python? Can we ignore this case for now and simply add a note in the documentation?

Another question regarding test-pydantic-integration. How do I handle this mutual dependency between pydantic and pydantic-core so that this test can pass?

@davidhewitt
Copy link
Contributor

Can we ignore this case for now and simply add a note in the documentation?

Yes, we can xfail this case when running on PyPy. If you're willing to also report the case on the PyPy GitHub, it would help them be aware they need to fix :)

Another question regarding test-pydantic-integration. How do I handle this mutual dependency between pydantic and pydantic-core so that this test can pass?

In this case it won't pass until we update pydantic main for these changes, so once we merge this PR we should make a minor release and integrate them into the main repository.

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 is looking great! There's a few edge cases to discuss wrt config, constraints, and unions. Beyond that, this implementation looks rock-solid 🪨

src/errors/types.rs Outdated Show resolved Hide resolved
src/errors/types.rs Outdated Show resolved Hide resolved
Comment on lines 598 to 615
fn validate_complex<'a>(&'a self, _py: Python<'py>) -> ValResult<ValidationMatch<EitherComplex<'py>>> {
if let Ok(complex) = self.downcast::<PyComplex>() {
return Ok(ValidationMatch::exact(EitherComplex::Py(complex.to_owned())));
} else if let Ok(s) = self.downcast::<PyString>() {
return Ok(ValidationMatch::exact(EitherComplex::Py(string_to_complex(s, self)?)));
} else if self.is_exact_instance_of::<PyFloat>() {
return Ok(ValidationMatch::exact(EitherComplex::Complex([
self.extract::<f64>().unwrap(),
0.0,
])));
} else if self.is_exact_instance_of::<PyInt>() {
return Ok(ValidationMatch::exact(EitherComplex::Complex([
self.extract::<i64>().unwrap() as f64,
0.0,
])));
}
Err(ValError::new(ErrorTypeDefaults::ComplexType, self))
}
Copy link
Contributor

Choose a reason for hiding this comment

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

We should have a think here about what behaviour we expect in strict mode. Probably we only want to accept complex objects in strict. Do we want to accept integers / floats in "strict" mode? In lax, we can accept everything for sure.

Also, similarly the ValidationMatch::exact calls should probably be downgraded to either strict or lax - these will set the level of priority in e.g. complex | int union. I think most would agree that complex | int would expect an integer value to not be cast to a complex. We might want some according tests for some of these union cases.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

strict mode is strict in terms of typing, right? I was mostly thinking from the perspective of mathematics when I added float and int. I suppose then we should only allow complex objects in strict mode? Then ValidationMatch::exact is the same as strict. This sounds reasonable to me, but I'm not exactly sure about the how different exact and strict usually are.

One more question about strict mode: how does it apply to other input types? Is it like when the input is in JSON, we only accept strings in strict mode?

Copy link
Contributor

Choose a reason for hiding this comment

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

I suppose then we should only allow complex objects in strict mode?

I think so, yes (note that in JSON it's less straightforward as you note). In JSON I think we only accept strings in strict mode, yes.

Then ValidationMatch::exact is the same as strict.

IIRC in other cases I made subclasses strict, if complex objects allow subclassing. I'd check what I did for ints or floats.

}

#[derive(Debug)]
pub struct ComplexValidator {}
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we probably need a strict mode flag here at the very least.

What about constraints like Le, or MultipleOf? They might get painful, so I'm ok to defer those to later as long as they fail gracefully.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do we want to support constraints for complex numbers?

I thought about constraints initially when I checked other validators to get some ideas of how to implement this complex validator, but I don't think constraints are going to be useful. For example, Le and relevant constraints don't really make sense as complex numbers don't have a default ordering. Users can apply additional filtering ad hoc based on the ordering they define, but I don't think we can add that kind of constraints to the validator.

Copy link
Contributor

Choose a reason for hiding this comment

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

I am happy for us to not support constraints for now.

tests/serializers/test_complex.py Show resolved Hide resolved
@changhc
Copy link
Contributor Author

changhc commented Jul 7, 2024

Hi @davidhewitt, how should we proceed with this? Do we wait for input from the team or should we manage to make a decision here ourselves?

@sydney-runkle
Copy link
Member

Hey @changhc,

Sorry we've dropped the ball on feedback here. Will chat with the team early next week so that we can move this forward and include it in our v2.9 release 🚀 !

@changhc
Copy link
Contributor Author

changhc commented Aug 4, 2024

Thanks @sydney-runkle! I'm making some changes to address David's comments. They will be ready soon!

@changhc
Copy link
Contributor Author

changhc commented Aug 6, 2024

Hi @davidhewitt, I've implemented the strict mode for complex numbers. As we discussed, when strict mode is on,

  • only complex objects are accepted for python input.
  • only complex strings are accepted for JSON input.

Because of the strict mode, I tweaked the messages for validation errors a little bit to make errors less confusing to users. Specifically for python input,

  • when strict mode is on, tell users that only python complex objects are accepted.
  • when strict mode is off and the input value is an invalid complex string, give the generic message explaining all acceptable input values instead of telling users to correct the string since at this point we are not sure if users actually want to place a complex string or just give a value of an incorrect type.

For other input types, the error is rather simple as complex strings are the only acceptable input values when strict mode is on.

I also added some test cases for dictionaries involving complex keys just to make sure things work as expected.

@changhc changhc marked this pull request as ready for review August 6, 2024 21:12
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.

This generally looks great to me, thanks.

The only change I'd like to see would be to remove the custom py_strict error type and use an instance-of error instead.

return Ok(ValidationMatch::strict(EitherComplex::Py(complex.to_owned())));
}
if strict {
return Err(ValError::new(ErrorTypeDefaults::ComplexTypePyStrict, self));
Copy link
Contributor

Choose a reason for hiding this comment

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

I think rather than a new type here, we can use isinstance error:

Suggested change
return Err(ValError::new(ErrorTypeDefaults::ComplexTypePyStrict, self));
return Err(ValError::new(
ErrorType::IsInstanceOf {
class: PyComplex::type_object(py).qualname()
.and_then(|name| name.extract())
.unwrap_or_else(|_| "complex".to_owned()),
context: None,
},
self,
))

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated. The error message now looks like:

pydantic_core._pydantic_core.ValidationError: 1 validation error for complex
  Input should be an instance of complex [type=is_instance_of, input_value='foobar', input_type=str]
  For further information visit https://errors.pydantic.dev/2.8/v/is_instance_of 

@sydney-runkle
Copy link
Member

@davidhewitt, are we ready to move this across the line?

@davidhewitt
Copy link
Contributor

Yep, LGTM! Thanks @changhc

@changhc
Copy link
Contributor Author

changhc commented Aug 13, 2024

Thanks! I'll update pydantic/pydantic#9654 once this PR is merged and the next minor release includes these changes.

@sydney-runkle
Copy link
Member

Great! I'll get this merged tomorrow 🚀

@sydney-runkle
Copy link
Member

Great work @changhc, going to go ahead and merge this - the failing integration tests should soon be fixed with your branch.

Do we need to make any more updates to pydantic/pydantic#9654 other than supporting a new version of pydantic-core with this change?

@sydney-runkle sydney-runkle self-assigned this Aug 15, 2024
@sydney-runkle sydney-runkle added the enhancement New feature or request label Aug 15, 2024
@sydney-runkle sydney-runkle merged commit 3d8295e into pydantic:main Aug 15, 2024
28 of 29 checks passed
renovate bot added a commit to spiraldb/ziggy-pydust that referenced this pull request Sep 5, 2024
This PR contains the following updates:

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

---

### Release Notes

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

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

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

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

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

##### What's Changed

##### Packaging

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

##### New Features

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

##### Changes

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

##### Performance

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

##### Minor Internal Improvements

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

##### Fixes

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

##### New Contributors

##### `pydantic`

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

##### `pydantic-core`

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

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

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

---

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

---

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

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

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

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

---

### Release Notes

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

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

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

##### Fixed

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

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

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

##### Fixed

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

</details>

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

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

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

##### Fixed

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

</details>

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

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

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

##### Patch Changes

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

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

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

##### Patch Changes

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

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

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

##### Patch Changes

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

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

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

##### Patch Changes

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

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

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

##### Patch Changes

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

</details>

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

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

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

</details>

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

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

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

</details>

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

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

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

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

##### Features

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

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

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

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

##### Chores

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

</details>

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

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

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

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

##### Chores

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

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

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

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

##### Features

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

##### Bug Fixes

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

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

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

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

##### Bug Fixes

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

##### Chores

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

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

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

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

##### Chores

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

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

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

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

##### Bug Fixes

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

##### Chores

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

</details>

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

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

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

-   Removed unnecessary fix which could lead to infinite loop.

</details>

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

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

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

#### What's Changed

##### Fixes

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

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

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

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

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

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

##### What's Changed

##### Packaging

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

##### New Features

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

##### Changes

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

##### Performance

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

##### Minor Internal Improvements

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

##### Fixes

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

##### New Contributors

##### `pydantic`

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

##### `pydantic-core`

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

</details>

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

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

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

</details>

---

### Configuration

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

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

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

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

---

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

---

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

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

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

Successfully merging this pull request may close these issues.

3 participants