diff --git a/.github/workflows/release-preview.yml b/.github/workflows/release-preview.yml
index 6835c7b..4b73b27 100644
--- a/.github/workflows/release-preview.yml
+++ b/.github/workflows/release-preview.yml
@@ -28,10 +28,10 @@ jobs:
       - name: ⚙️ Setup GIT versioning
         uses: dotnet/nbgv@v0.4.0
 
-      - name: ⚙️ Setup dotnet 7.0.x
+      - name: ⚙️ Setup dotnet 9.0.x
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '7.0.x'
+          dotnet-version: '9.0.x'
 
       - name: 🛠️ Building library in release mode
         run: dotnet pack -c Release -o ${GITHUB_WORKSPACE}/packages -p:ContinuousIntegrationBuild=true -p:publicrelease=true
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index cf90c5e..f1d686a 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -59,10 +59,10 @@ jobs:
         with:
           setAllVars: true
 
-      - name: ⚙️ Setup dotnet 7.0.x
+      - name: ⚙️ Setup dotnet 9.0.x
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '7.0.x'
+          dotnet-version: '9.0.x'
 
       - name: 🛠️ Update changelog
         uses: thomaseizinger/keep-a-changelog-new-release@1.2.1
diff --git a/.github/workflows/verification.yml b/.github/workflows/verification.yml
index c1228c3..47f3240 100644
--- a/.github/workflows/verification.yml
+++ b/.github/workflows/verification.yml
@@ -33,10 +33,10 @@ jobs:
         with:
           setAllVars: true
 
-      - name: ⚙️ Setup dotnet 7.0.x
+      - name: ⚙️ Setup dotnet 9.0.x
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '7.0.x'
+          dotnet-version: '9.0.x'
 
       - name: 🛠️ Building libraries in release mode
         run: dotnet build -c release -p:ContinuousIntegrationBuild=true
diff --git a/Directory.Build.props b/Directory.Build.props
index 5a094fb..15612a6 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -27,7 +27,7 @@
   </PropertyGroup>
 
   <PropertyGroup Label="Analyzer settings">
-    <AnalysisMode>AllEnabledByDefault</AnalysisMode>
+    <AnalysisMode>Default</AnalysisMode>
     <EnableNETAnalyzers>true</EnableNETAnalyzers>
     <AnalysisLevel>latest</AnalysisLevel>
     <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
diff --git a/src/Atc.Cosmos.EventStore/Atc.Cosmos.EventStore.csproj b/src/Atc.Cosmos.EventStore/Atc.Cosmos.EventStore.csproj
index a60f81d..3dbece5 100644
--- a/src/Atc.Cosmos.EventStore/Atc.Cosmos.EventStore.csproj
+++ b/src/Atc.Cosmos.EventStore/Atc.Cosmos.EventStore.csproj
@@ -9,6 +9,8 @@
     <EmbedUntrackedSources>true</EmbedUntrackedSources>
     <DebugType>Portable</DebugType>
     <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
+    <DisableNewtonsoftJsonCheck>true</DisableNewtonsoftJsonCheck>
+    <AzureCosmosDisableNewtonsoftJsonCheck>true</AzureCosmosDisableNewtonsoftJsonCheck>
   </PropertyGroup>
 
   <ItemGroup>
@@ -16,14 +18,14 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="7.0.0" />
-    <PackageReference Include="Microsoft.Azure.Cosmos" Version="3.34.0" />
-    <PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="7.0.0" />
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
-    <PackageReference Include="Microsoft.Extensions.Http" Version="7.0.0" />
-    <PackageReference Include="Microsoft.Extensions.Options" Version="7.0.1" />
-    <PackageReference Include="System.Text.Json" Version="7.0.2" />
+    <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.0" />
+    <PackageReference Include="Microsoft.Azure.Cosmos" Version="3.46.0" />
+    <PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.0" />
+    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
+    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Http" Version="9.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Options" Version="9.0.0" />
+    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
   </ItemGroup>
 
 </Project>
diff --git a/test/Atc.Cosmos.EventStore.Cqrs.Tests/Atc.Cosmos.EventStore.Cqrs.Tests.csproj b/test/Atc.Cosmos.EventStore.Cqrs.Tests/Atc.Cosmos.EventStore.Cqrs.Tests.csproj
index 344165f..e77b84c 100644
--- a/test/Atc.Cosmos.EventStore.Cqrs.Tests/Atc.Cosmos.EventStore.Cqrs.Tests.csproj
+++ b/test/Atc.Cosmos.EventStore.Cqrs.Tests/Atc.Cosmos.EventStore.Cqrs.Tests.csproj
@@ -1,20 +1,20 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net7.0</TargetFramework>
+    <TargetFramework>net9.0</TargetFramework>
     <IsPackable>false</IsPackable>
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Atc.Test" Version="1.0.75" />
-    <PackageReference Include="FluentAssertions" Version="6.11.0" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0" />
-    <PackageReference Include="xunit" Version="2.4.2" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
+    <PackageReference Include="Atc.Test" Version="1.1.4" />
+    <PackageReference Include="FluentAssertions" Version="6.12.1" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
+    <PackageReference Include="xunit" Version="2.9.2" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
-    <PackageReference Include="coverlet.collector" Version="6.0.0">
+    <PackageReference Include="coverlet.collector" Version="6.0.2">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
diff --git a/test/Atc.Cosmos.EventStore.IntegrationTests/Atc.Cosmos.EventStore.IntegrationTests.csproj b/test/Atc.Cosmos.EventStore.IntegrationTests/Atc.Cosmos.EventStore.IntegrationTests.csproj
index 4dbcbbb..58afc86 100644
--- a/test/Atc.Cosmos.EventStore.IntegrationTests/Atc.Cosmos.EventStore.IntegrationTests.csproj
+++ b/test/Atc.Cosmos.EventStore.IntegrationTests/Atc.Cosmos.EventStore.IntegrationTests.csproj
@@ -1,20 +1,20 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net7.0</TargetFramework>
+    <TargetFramework>net9.0</TargetFramework>
     <IsPackable>false</IsPackable>
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Atc.Test" Version="1.0.70" />
-    <PackageReference Include="FluentAssertions" Version="6.8.0" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
-    <PackageReference Include="xunit" Version="2.4.2" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
+    <PackageReference Include="Atc.Test" Version="1.1.4" />
+    <PackageReference Include="FluentAssertions" Version="6.12.2" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
+    <PackageReference Include="xunit" Version="2.9.2" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
-    <PackageReference Include="coverlet.collector" Version="3.2.0">
+    <PackageReference Include="coverlet.collector" Version="6.0.2">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
diff --git a/test/Atc.Cosmos.EventStore.Tests/Atc.Cosmos.EventStore.Tests.csproj b/test/Atc.Cosmos.EventStore.Tests/Atc.Cosmos.EventStore.Tests.csproj
index 0ffa593..5f3743f 100644
--- a/test/Atc.Cosmos.EventStore.Tests/Atc.Cosmos.EventStore.Tests.csproj
+++ b/test/Atc.Cosmos.EventStore.Tests/Atc.Cosmos.EventStore.Tests.csproj
@@ -1,20 +1,20 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net7.0</TargetFramework>
+    <TargetFramework>net9.0</TargetFramework>
     <IsPackable>false</IsPackable>
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Atc.Test" Version="1.0.75" />
-    <PackageReference Include="FluentAssertions" Version="6.11.0" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0" />
-    <PackageReference Include="xunit" Version="2.4.2" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
+    <PackageReference Include="Atc.Test" Version="1.1.4" />
+    <PackageReference Include="FluentAssertions" Version="6.12.1" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
+    <PackageReference Include="xunit" Version="2.9.2" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
-    <PackageReference Include="coverlet.collector" Version="6.0.0">
+    <PackageReference Include="coverlet.collector" Version="6.0.2">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
diff --git a/test/Atc.Cosmos.EventStore.Tests/Converters/EventDataConverterPipelineBuilderTests.cs b/test/Atc.Cosmos.EventStore.Tests/Converters/EventDataConverterPipelineBuilderTests.cs
index a66c37e..2e24e07 100644
--- a/test/Atc.Cosmos.EventStore.Tests/Converters/EventDataConverterPipelineBuilderTests.cs
+++ b/test/Atc.Cosmos.EventStore.Tests/Converters/EventDataConverterPipelineBuilderTests.cs
@@ -14,7 +14,6 @@ public class EventDataConverterPipelineBuilderTests
     [Theory, AutoNSubstituteData]
     internal void Should_Call_All_Converters_InReverseOrder(
         IEventMetadata metadata,
-        JsonSerializerOptions options,
         FakeEventDataConverter[] converters,
         FakeEventDataConverter converter,
         EventDataConverterPipelineBuilder sut)
@@ -22,7 +21,7 @@ internal void Should_Call_All_Converters_InReverseOrder(
             .AddConverter(converter)
             .AddConverters(converters)
             .Build()
-            .Convert(metadata, doc.RootElement, options)
+            .Convert(metadata, doc.RootElement, new JsonSerializerOptions())
             .Should()
             .Be(string.Join(string.Empty, new[] { converter }.Concat(converters).Select(c => c.Val)));
 }
diff --git a/test/Atc.Cosmos.EventStore.Tests/Converters/FaultedEventDataConverterTests.cs b/test/Atc.Cosmos.EventStore.Tests/Converters/FaultedEventDataConverterTests.cs
index 274b85f..937c431 100644
--- a/test/Atc.Cosmos.EventStore.Tests/Converters/FaultedEventDataConverterTests.cs
+++ b/test/Atc.Cosmos.EventStore.Tests/Converters/FaultedEventDataConverterTests.cs
@@ -14,14 +14,13 @@ public class FaultedEventDataConverterTests
     [Theory, AutoNSubstituteData]
     internal void Should_Return_Converted_Value(
         IEventMetadata metadata,
-        JsonSerializerOptions options,
         string expected,
         FaultedEventDataConverter sut)
         => sut
             .Convert(
                 metadata,
                 doc.RootElement,
-                options,
+                new JsonSerializerOptions(),
                 () => expected)
             .Should()
             .Be(expected);
@@ -29,14 +28,13 @@ internal void Should_Return_Converted_Value(
     [Theory, AutoNSubstituteData]
     internal void Should_Return_FaultedEvent_When_Exception_IsThrown(
         IEventMetadata metadata,
-        JsonSerializerOptions options,
         KeyNotFoundException exception,
         FaultedEventDataConverter sut)
         => sut
             .Convert(
                 metadata,
                 doc.RootElement,
-                options,
+                new JsonSerializerOptions(),
                 () => throw exception)
             .Should()
             .BeEquivalentTo(
diff --git a/test/Atc.Cosmos.EventStore.Tests/Converters/NamedEventConverterTests.cs b/test/Atc.Cosmos.EventStore.Tests/Converters/NamedEventConverterTests.cs
index 913e4ff..a731f7e 100644
--- a/test/Atc.Cosmos.EventStore.Tests/Converters/NamedEventConverterTests.cs
+++ b/test/Atc.Cosmos.EventStore.Tests/Converters/NamedEventConverterTests.cs
@@ -18,7 +18,6 @@ public class NamedEventConverterTests
     internal void Should_Return_Value_FromNext_When_TypeName_IsNotFound(
         [Frozen] IEventTypeProvider typeProvider,
         IEventMetadata metadata,
-        JsonSerializerOptions options,
         string expected,
         NamedEventConverter sut)
     {
@@ -30,7 +29,7 @@ internal void Should_Return_Value_FromNext_When_TypeName_IsNotFound(
             .Convert(
                 metadata,
                 doc.RootElement,
-                options,
+                new JsonSerializerOptions(),
                 () => expected)
             .Should()
             .Be(expected);
diff --git a/test/Atc.Cosmos.EventStore.Tests/Converters/UnknownEventDataConverterTests.cs b/test/Atc.Cosmos.EventStore.Tests/Converters/UnknownEventDataConverterTests.cs
index 74529be..4651141 100644
--- a/test/Atc.Cosmos.EventStore.Tests/Converters/UnknownEventDataConverterTests.cs
+++ b/test/Atc.Cosmos.EventStore.Tests/Converters/UnknownEventDataConverterTests.cs
@@ -14,14 +14,13 @@ public class UnknownEventDataConverterTests
     [Theory, AutoNSubstituteData]
     internal void Should_Return_Converted_Value_Id_NotNull(
         IEventMetadata metadata,
-        JsonSerializerOptions options,
         string expected,
         UnknownEventDataConverter sut)
         => sut
             .Convert(
                 metadata,
                 doc.RootElement,
-                options,
+                new JsonSerializerOptions(),
                 () => expected)
             .Should()
             .Be(expected);
@@ -29,13 +28,12 @@ internal void Should_Return_Converted_Value_Id_NotNull(
     [Theory, AutoNSubstituteData]
     internal void Should_Return_UnknownEvent_When_Value_IsNot_Converted(
         IEventMetadata metadata,
-        JsonSerializerOptions options,
         UnknownEventDataConverter sut)
         => sut
             .Convert(
                 metadata,
                 doc.RootElement,
-                options,
+                new JsonSerializerOptions(),
                 () => null)
             .Should()
             .BeEquivalentTo(
diff --git a/test/Atc.Cosmos.EventStore.Tests/Streams/StreamInfoReaderTests.cs b/test/Atc.Cosmos.EventStore.Tests/Streams/StreamInfoReaderTests.cs
index dd5b655..5c3339b 100644
--- a/test/Atc.Cosmos.EventStore.Tests/Streams/StreamInfoReaderTests.cs
+++ b/test/Atc.Cosmos.EventStore.Tests/Streams/StreamInfoReaderTests.cs
@@ -23,8 +23,7 @@ internal async Task Should_Convert_Into_StreamResponse(
             .ReturnsForAnyArgs(expectedMetadata);
 
         var info = await sut
-            .ReadAsync(streamId, cancellationToken)
-            .ConfigureAwait(false);
+            .ReadAsync(streamId, cancellationToken);
 
         info
             .State
@@ -57,8 +56,7 @@ internal async Task Should_Read_Metadata_From_Stream(
             .ReturnsForAnyArgs(expectedMetadata);
 
         await sut
-            .ReadAsync(streamId, cancellationToken)
-            .ConfigureAwait(false);
+            .ReadAsync(streamId, cancellationToken);
 
         _ = metadataReader
                 .Received(1)