diff --git a/Tests/LibMatrix.Tests/Abstractions/HomeserverAbstraction.cs b/Tests/LibMatrix.Tests/Abstractions/HomeserverAbstraction.cs
 index 6878b44..20be560 100644
--- a/Tests/LibMatrix.Tests/Abstractions/HomeserverAbstraction.cs
+++ b/Tests/LibMatrix.Tests/Abstractions/HomeserverAbstraction.cs
@@ -10,15 +10,15 @@ namespace LibMatrix.Tests.Abstractions;
 public class HomeserverAbstraction(HomeserverProviderService _hsProvider, Config _config, ILogger<HomeserverAbstraction> _logger) {
     // private static readonly HomeserverResolverService _hsResolver = new HomeserverResolverService(NullLogger<HomeserverResolverService>.Instance);
     // private static readonly HomeserverProviderService _hsProvider = new HomeserverProviderService(NullLogger<HomeserverProviderService>.Instance, _hsResolver);
-    
+
     private static AuthenticatedHomeserverGeneric? ConfiguredHomeserver { get; set; }
     private static readonly SemaphoreSlim _lock = new(1, 1);
-    
+
     public async Task<AuthenticatedHomeserverGeneric> GetConfiguredHomeserver(ITestOutputHelper? testOutputHelper = null) {
         Assert.False(string.IsNullOrWhiteSpace(_config.TestHomeserver));
         Assert.False(string.IsNullOrWhiteSpace(_config.TestUsername));
         Assert.False(string.IsNullOrWhiteSpace(_config.TestPassword));
-        
+
         _logger.LogDebug("Using homeserver '{0}' with login '{1}' '{2}", _config.TestHomeserver, _config.TestUsername, _config.TestPassword);
         testOutputHelper?.WriteLine($"Using homeserver '{_config.TestHomeserver}' with login '{_config.TestUsername}' '{_config.TestPassword}'");
 
@@ -29,7 +29,7 @@ public class HomeserverAbstraction(HomeserverProviderService _hsProvider, Config
         }
 
         var rhs = await _hsProvider.GetRemoteHomeserver(_config.TestHomeserver);
-        
+
         LoginResponse reg;
         try {
             reg = await rhs.LoginAsync(_config.TestUsername, _config.TestPassword);
@@ -53,27 +53,27 @@ public class HomeserverAbstraction(HomeserverProviderService _hsProvider, Config
         Assert.False(string.IsNullOrWhiteSpace(_config.TestHomeserver));
         var username = Guid.NewGuid().ToString();
         var password = Guid.NewGuid().ToString();
-        
+
         _logger.LogDebug("Creating new homeserver '{0}' with login '{1}' '{2}'", _config.TestHomeserver, username, password);
-        
+
         var rhs = await _hsProvider.GetRemoteHomeserver(_config.TestHomeserver);
         var reg = await rhs.RegisterAsync(username, password, "Unit tests!");
         var hs = await _hsProvider.GetAuthenticatedWithToken(reg.Homeserver, reg.AccessToken);
-        
+
         return hs;
     }
 
     public async IAsyncEnumerable<AuthenticatedHomeserverGeneric> GetNewHomeservers(int count = 1) {
         var createRandomUserTasks = Enumerable
             .Range(0, count)
-            .Select(_ => GetNewHomeserver()).ToAsyncEnumerable();
+            .Select(_ => GetNewHomeserver()).ToAsyncResultEnumerable();
         await foreach (var hs in createRandomUserTasks) yield return hs;
     }
 
     public async Task<(string username, string password, string token)> GetKnownCredentials() {
         Assert.False(string.IsNullOrWhiteSpace(_config.TestHomeserver));
         var rhs = await _hsProvider.GetRemoteHomeserver(_config.TestHomeserver);
-        
+
         var username = _config.TestUsername;
         var password = _config.TestPassword;
         var reg = await rhs.RegisterAsync(username, password, "Unit tests!");
diff --git a/Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs b/Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs
 index b1176ca..d02ced3 100644
--- a/Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs
+++ b/Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs
@@ -69,7 +69,7 @@ public static class RoomAbstraction {
                 Name = $"LibMatrix Test Room {Guid.NewGuid()}",
                 // Visibility = CreateRoomVisibility.Public,
                 RoomAliasName = Guid.NewGuid().ToString()
-            })).ToAsyncEnumerable();
+            })).ToAsyncResultEnumerable();
 
         await foreach (var room in createRoomTasks)
             crq.InitialState.Add(new StateEvent {
diff --git a/Tests/LibMatrix.Tests/LibMatrix.Tests.csproj b/Tests/LibMatrix.Tests/LibMatrix.Tests.csproj
 index 763c287..234b978 100644
--- a/Tests/LibMatrix.Tests/LibMatrix.Tests.csproj
+++ b/Tests/LibMatrix.Tests/LibMatrix.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFramework>net9.0</TargetFramework>
+        <TargetFramework>net10.0</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
         <Nullable>enable</Nullable>
 
@@ -10,12 +10,12 @@
     </PropertyGroup>
 
     <ItemGroup>
-        <PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.7" />
+        <PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0-rc.2.25502.107"/>
 
-        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
-        <PackageReference Include="xunit" Version="2.9.3" />
-        <PackageReference Include="Xunit.Microsoft.DependencyInjection" Version="9.1.0" />
-        <PackageReference Include="xunit.runner.visualstudio" Version="3.1.2">
+        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0"/>
+        <PackageReference Include="xunit" Version="2.9.3"/>
+        <PackageReference Include="Xunit.Microsoft.DependencyInjection" Version="9.2.2"/>
+        <PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
             <PrivateAssets>all</PrivateAssets>
         </PackageReference>
@@ -23,7 +23,7 @@
             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
             <PrivateAssets>all</PrivateAssets>
         </PackageReference>
-        <PackageReference Include="Xunit.SkippableFact" Version="1.5.23" />
+        <PackageReference Include="Xunit.SkippableFact" Version="1.5.23"/>
     </ItemGroup>
 
     <ItemGroup>
diff --git a/Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs b/Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs
 index 8419518..0943b8a 100644
--- a/Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs
+++ b/Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs
@@ -14,7 +14,7 @@ public class RoomMembershipTests : TestBed<TestFixture> {
     public RoomMembershipTests(ITestOutputHelper testOutputHelper, TestFixture fixture) : base(testOutputHelper, fixture) {
         _hsAbstraction = _fixture.GetService<HomeserverAbstraction>(_testOutputHelper) ?? throw new InvalidOperationException($"Failed to get {nameof(HomeserverAbstraction)}");
     }
-    
+
     [Fact]
     public async Task GetMembersAsync() {
         Assert.True(StateEvent.KnownStateEventTypes is { Count: > 0 }, "StateEvent.KnownStateEventTypes is empty!");
@@ -44,7 +44,7 @@ public class RoomMembershipTests : TestBed<TestFixture> {
         }
 
         Assert.True(hitMembers, "No members were found in the room");
-        
+
         await room.LeaveAsync();
     }
 
@@ -62,7 +62,7 @@ public class RoomMembershipTests : TestBed<TestFixture> {
         Assert.NotNull(id);
         Assert.NotNull(id.RoomId);
         Assert.NotEmpty(id.RoomId);
-        
+
         await room.LeaveAsync();
     }
 
@@ -95,7 +95,7 @@ public class RoomMembershipTests : TestBed<TestFixture> {
         Assert.NotNull(banState);
         Assert.Equal("leave", banState.Membership);
         Assert.Equal("test", banState.Reason);
-        
+
         await room.LeaveAsync();
     }
 
@@ -109,7 +109,7 @@ public class RoomMembershipTests : TestBed<TestFixture> {
         var banState = await room.GetStateAsync<RoomMemberEventContent>("m.room.member", hs2.UserId);
         Assert.NotNull(banState);
         Assert.Equal("ban", banState.Membership);
-        
+
         await room.LeaveAsync();
     }
 
@@ -124,12 +124,12 @@ public class RoomMembershipTests : TestBed<TestFixture> {
         Assert.NotNull(banState);
         Assert.Equal("ban", banState.Membership);
         await room.UnbanAsync(hs2.UserId, "testing");
-        
+
         var unbanState = await room.GetStateAsync<RoomMemberEventContent>("m.room.member", hs2.UserId);
         Assert.NotNull(unbanState);
         Assert.Equal("leave", unbanState.Membership);
         Assert.Equal("testing", unbanState.Reason);
-        
+
         await room.LeaveAsync();
     }
 
@@ -157,17 +157,16 @@ public class RoomMembershipTests : TestBed<TestFixture> {
             tasks.Add(otherUser, room.InviteUserAsync(otherUser.UserId, "Unit test!"));
         }
 
-        await foreach (var otherUser in tasks.ToAsyncEnumerable()) {
+        await foreach (var otherUser in tasks.ToAsyncResultEnumerable()) {
             _testOutputHelper.WriteLine($"Joining {otherUser.UserId} to {room.RoomId}");
             await otherUser.GetRoom(room.RoomId).JoinAsync(reason: "Unit test!");
         }
 
         var states = await room.GetMembersListAsync();
         Assert.Equal(count + 1, states.Count);
-        
+
         await room.LeaveAsync();
-        await foreach (var authenticatedHomeserverGeneric in otherUsers)
-        {
+        await foreach (var authenticatedHomeserverGeneric in otherUsers) {
             await authenticatedHomeserverGeneric.GetRoom(room.RoomId).LeaveAsync();
         }
     }
diff --git a/Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs b/Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs
 index be8076a..36b4ad8 100644
--- a/Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs
+++ b/Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs
@@ -52,14 +52,14 @@ public class SpaceTests : TestBed<TestFixture> {
         });
 
         await space.AddChildByIdAsync(child.RoomId);
-        
+
         //validate children
         var children = space.GetChildrenAsync().ToBlockingEnumerable().ToList();
         Assert.NotNull(children);
         Assert.NotEmpty(children);
         Assert.Single(children, x => x.RoomId == child.RoomId);
     }
-    
+
     [Fact]
     public async Task GetChildrenAsync() {
         var hs = await _hsAbstraction.GetConfiguredHomeserver();
@@ -68,8 +68,8 @@ public class SpaceTests : TestBed<TestFixture> {
                 Name = "Test child"
             });
             return room;
-        }).ToAsyncEnumerable().ToBlockingEnumerable().ToList();
-        
+        }).ToAsyncResultEnumerable().ToBlockingEnumerable().ToList();
+
         var crq = new CreateRoomRequest() {
             Name = "Test space",
             InitialState = expectedChildren.Select(c => new StateEvent() {
@@ -89,8 +89,7 @@ public class SpaceTests : TestBed<TestFixture> {
         Assert.NotNull(children);
         Assert.NotEmpty(children);
         Assert.Equal(expectedChildren.Count, children.Count);
-        foreach (var expectedChild in expectedChildren)
-        {
+        foreach (var expectedChild in expectedChildren) {
             Assert.Single(children, x => x.RoomId == expectedChild.RoomId);
         }
     }
  |