·
14 commits
to main
since this release
Previously confection did three tree operations simultaneously (in the registry._fill method):
- Build a version of the config with defaults in-place
- Build a modified version suitable for validation
- Build an output version with promises resolved
The fact that all three were being built at once made the code quite hard to update for Pydantic 2, and just difficult to work with in general. I've therefore refactored the code so that these are separate processes that apply to the whole tree at once.
A bonus of this is that we now build a model for the whole config and validate against that, which means all the validation errors for the config should come in at once, instead of only getting validation errors for one promise at a time.
Updating to Pydantic v2 will let spaCy finally support Python 3.13.