diff --git a/eng/BranchInfo.props b/eng/BranchInfo.props
index b3f8f74aa3..ba06bbb352 100644
--- a/eng/BranchInfo.props
+++ b/eng/BranchInfo.props
@@ -38,5 +38,7 @@
     <MajorVersion>0</MajorVersion>
     <MinorVersion>23</MinorVersion>
     <PatchVersion>0</PatchVersion>
+    <!-- Set baseline version for non-stable packages to check for API Compat -->
+    <PackageValidationBaselineVersion>0.$([MSBuild]::Subtract($(MinorVersion), 1)).0</PackageValidationBaselineVersion>
   </PropertyGroup>
 </Project>
diff --git a/src/Microsoft.Data.Analysis/CompatibilitySuppressions.xml b/src/Microsoft.Data.Analysis/CompatibilitySuppressions.xml
new file mode 100644
index 0000000000..268bcb6ecf
--- /dev/null
+++ b/src/Microsoft.Data.Analysis/CompatibilitySuppressions.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- https://learn.microsoft.com/dotnet/fundamentals/package-validation/diagnostic-ids -->
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP0005</DiagnosticId>
+    <Target>M:Microsoft.Data.Analysis.DataFrameColumn.GetSortIndices(System.Boolean,System.Boolean)</Target>
+    <Left>lib/net8.0/Microsoft.Data.Analysis.dll</Left>
+    <Right>lib/net8.0/Microsoft.Data.Analysis.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0005</DiagnosticId>
+    <Target>M:Microsoft.Data.Analysis.DataFrameColumn.GetSortIndices(System.Boolean,System.Boolean)</Target>
+    <Left>lib/netstandard2.0/Microsoft.Data.Analysis.dll</Left>
+    <Right>lib/netstandard2.0/Microsoft.Data.Analysis.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/Microsoft.ML.GenAI.Core/CompatibilitySuppressions.xml b/src/Microsoft.ML.GenAI.Core/CompatibilitySuppressions.xml
new file mode 100644
index 0000000000..a062f40aca
--- /dev/null
+++ b/src/Microsoft.ML.GenAI.Core/CompatibilitySuppressions.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- https://learn.microsoft.com/dotnet/fundamentals/package-validation/diagnostic-ids -->
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP0002</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.Core.CausalLMModelInput.#ctor(TorchSharp.torch.Tensor,TorchSharp.torch.Tensor,TorchSharp.torch.Tensor,System.Int32,TorchSharp.torch.Tensor,System.Boolean,System.Boolean,System.Boolean)</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0002</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.Core.CausalLMModelOutput.#ctor(TorchSharp.torch.Tensor,TorchSharp.torch.Tensor,TorchSharp.torch.Tensor[],TorchSharp.torch.Tensor[],Microsoft.ML.GenAI.Core.IKVCache)</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0002</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.Core.CausalLMPipeline`2.get_Model</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0002</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.Core.CausalLMPipeline`2.get_Tokenizer</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0002</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.Core.CausalLMPipelineChatClient`2.GetService``1(System.Object)</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0002</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.Core.ICausalLMPipeline`2.get_Model</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0002</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.Core.ICausalLMPipeline`2.get_Tokenizer</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0002</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.Core.IMEAIChatTemplateBuilder.BuildPrompt(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions)</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0006</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.Core.IMEAIChatTemplateBuilder.BuildPrompt(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Boolean)</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0006</DiagnosticId>
+    <Target>P:Microsoft.ML.GenAI.Core.ICausalLMPipeline.Model</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0006</DiagnosticId>
+    <Target>P:Microsoft.ML.GenAI.Core.ICausalLMPipeline.Tokenizer</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0006</DiagnosticId>
+    <Target>P:Microsoft.ML.GenAI.Core.ICausalLMPipeline`2.TypedModel</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP0006</DiagnosticId>
+    <Target>P:Microsoft.ML.GenAI.Core.ICausalLMPipeline`2.TypedTokenizer</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Core.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>PKV006</DiagnosticId>
+    <Target>net6.0</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/Microsoft.ML.GenAI.LLaMA/CompatibilitySuppressions.xml b/src/Microsoft.ML.GenAI.LLaMA/CompatibilitySuppressions.xml
new file mode 100644
index 0000000000..8aa639baa9
--- /dev/null
+++ b/src/Microsoft.ML.GenAI.LLaMA/CompatibilitySuppressions.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- https://learn.microsoft.com/dotnet/fundamentals/package-validation/diagnostic-ids -->
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP0002</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.LLaMA.Llama3_1ChatTemplateBuilder.BuildPrompt(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions)</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.LLaMA.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.LLaMA.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>PKV006</DiagnosticId>
+    <Target>net6.0</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/Microsoft.ML.GenAI.Mistral/CompatibilitySuppressions.xml b/src/Microsoft.ML.GenAI.Mistral/CompatibilitySuppressions.xml
new file mode 100644
index 0000000000..09034634f6
--- /dev/null
+++ b/src/Microsoft.ML.GenAI.Mistral/CompatibilitySuppressions.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- https://learn.microsoft.com/dotnet/fundamentals/package-validation/diagnostic-ids -->
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>PKV006</DiagnosticId>
+    <Target>net6.0</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/Microsoft.ML.GenAI.Phi/CompatibilitySuppressions.xml b/src/Microsoft.ML.GenAI.Phi/CompatibilitySuppressions.xml
new file mode 100644
index 0000000000..87637d34df
--- /dev/null
+++ b/src/Microsoft.ML.GenAI.Phi/CompatibilitySuppressions.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- https://learn.microsoft.com/dotnet/fundamentals/package-validation/diagnostic-ids -->
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP0002</DiagnosticId>
+    <Target>M:Microsoft.ML.GenAI.Phi.Phi3ChatTemplateBuilder.BuildPrompt(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions)</Target>
+    <Left>lib/net8.0/Microsoft.ML.GenAI.Phi.dll</Left>
+    <Right>lib/net8.0/Microsoft.ML.GenAI.Phi.dll</Right>
+    <IsBaselineSuppression>true</IsBaselineSuppression>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>PKV006</DiagnosticId>
+    <Target>net6.0</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file