diff --git a/api/Avalonia.nupkg.xml b/api/Avalonia.nupkg.xml
index b7efaf7869..e6a73822e9 100644
--- a/api/Avalonia.nupkg.xml
+++ b/api/Avalonia.nupkg.xml
@@ -25,6 +25,60 @@
baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.BindingPlugins
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.DataValidationBase
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.ExceptionValidationPlugin
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.IDataValidationPlugin
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.IndeiValidationPlugin
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.IPropertyAccessorPlugin
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.IStreamPlugin
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.PropertyAccessorBase
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.PropertyError
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
CP0001
T:Avalonia.Diagnostics.AppliedStyle
@@ -253,6 +307,60 @@
baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.BindingPlugins
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.DataValidationBase
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.ExceptionValidationPlugin
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.IDataValidationPlugin
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.IndeiValidationPlugin
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.IPropertyAccessorPlugin
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.IStreamPlugin
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.PropertyAccessorBase
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+
+ CP0001
+ T:Avalonia.Data.Core.Plugins.PropertyError
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
CP0001
T:Avalonia.Diagnostics.AppliedStyle
diff --git a/src/Avalonia.Base/Data/Core/Plugins/BindingPlugins.cs b/src/Avalonia.Base/Data/Core/Plugins/BindingPlugins.cs
index 520c345ad5..50e137eac1 100644
--- a/src/Avalonia.Base/Data/Core/Plugins/BindingPlugins.cs
+++ b/src/Avalonia.Base/Data/Core/Plugins/BindingPlugins.cs
@@ -7,7 +7,7 @@ namespace Avalonia.Data.Core.Plugins
/// Holds a registry of plugins used for bindings.
///
[RequiresUnreferencedCode(TrimmingMessages.PropertyAccessorsRequiresUnreferencedCodeMessage)]
- public static class BindingPlugins
+ internal static class BindingPlugins
{
internal static readonly List s_propertyAccessors = new()
{
@@ -17,7 +17,6 @@ namespace Avalonia.Data.Core.Plugins
internal static readonly List s_dataValidators = new()
{
- new DataAnnotationsValidationPlugin(),
new IndeiValidationPlugin(),
new ExceptionValidationPlugin(),
};
diff --git a/src/Avalonia.Base/Data/Core/Plugins/DataValidationBase.cs b/src/Avalonia.Base/Data/Core/Plugins/DataValidationBase.cs
index 6bef9f69f6..85ebf6ff78 100644
--- a/src/Avalonia.Base/Data/Core/Plugins/DataValidationBase.cs
+++ b/src/Avalonia.Base/Data/Core/Plugins/DataValidationBase.cs
@@ -11,7 +11,7 @@ namespace Avalonia.Data.Core.Plugins
/// and convert any values received from the inner property accessor into
/// s.
///
- public abstract class DataValidationBase : PropertyAccessorBase, IObserver