Removed DelegatingValidator which was deprecated in 8.x.
Additional overload of OnAnyFailure that can receive a collection of validation failures
Remove DisplayAttribute integration and reference to DataAnnotations.
ComparisonProperty placeholder is now formatted like PropertyName
Translations of default error messages into other languages are now lazily-loaded
PropertyValidator.ShouldValidateAsync reanamed to ShouldValidateAsynchronously to remove confusion where the naming suggested this was an async method
PropertyValidatorContext.Instance renamed to InstanceToValidate for consistency with ValidationContext.
Removed various methods from MessageFormatter that were deprecated in 8.x
Added Slovenian translations of default error messages.
Added Icelandic translations of default error messages.
Added WithMessageArgument to the test helpers.
Transform can now be used to transform property values to other types.
FluentValidationModelValidatorProvider and FluentValidationModelValidator are now public.
Add additional overload of SetValidator that takes a Func that receives the current property value.
Work around a bug in ASP.NET Core's integration testing components that can cause ConfigureServices to run multiple times.
SourceLink integration.
{CollectionIndex} placeholder can now be accessed in child validators.
Additional ValidationException constructor that allows using both the default message and a custom one together.
ScalePrecisionValidator algorithm now matches SQL Server.
Additional overload of the When methods that contain the validation context.
Automatically scanned types can be excluded when calling RegisterValidatorsFromAssemblyContaining in ASP.NET Core projects.
New AutomaticValidationEnabled property for use in ASP.NET Core projects (defaults to true).