diff --git a/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md
new file mode 100644
index 0000000000..539ebef42c
--- /dev/null
+++ b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md
@@ -0,0 +1,93 @@
+# ASP.NET Core SignalR New Features (Summary)
+
+In this article, I'll highlight .**NET 9's SignalR updates** for ASP.NET Core 9.0.
+
+
+
+## Hub Accept a Base Class
+
+In this version, your `Hub` class can now get a base class of a polymorphic class. As you see in the below example; I can send `Animal` to my Hub method. Before we could only pass the derived class like `Cat` and `Dog`.
+
+```csharp
+/*** My Base Class is Animal ***/
+[JsonPolymorphic]
+[JsonDerivedType(typeof(Cat), nameof(Cat))]
+[JsonDerivedType(typeof(Dog), nameof(Dog))]
+private class Animal
+{
+ public string Name { get; set; }
+}
+
+/*** CAT derived from Animal ***/
+private class Cat : Animal
+{
+ public CatTypes CatType { get; set; }
+}
+
+/*** DOG derived from Animal ***/
+private class Dog : Animal
+{
+ public DogTypes DogType { get; set; }
+}
+
+
+public class MyHub : Hub
+{
+ /*** We can use the base type Animal here ***/
+ public void Process(Animal animal)
+ {
+ if (animal is Cat) { ... }
+ else if (animal is Dog) { ... }
+ }
+}
+
+```
+
+
+
+## Better Diagnostics and Telemetry
+
+SignalR now integrates more deeply with the .NET Activity API, which is commonly used for distributed tracing. This enhancement is mostly implemented for better monitoring in [.NET Aspire Dashboard](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/overview?tabs=bash#using-the-dashboard-with-net-aspire-projects). To support the improved telemetry feature:
+
+1- Add these packages to your`csproj`:
+
+```xml
+
+
+
+```
+
+2- Add the following startup code to your host project:
+
+```csharp
+builder.Services.AddSignalR();
+/* After AddSignalR use AddOpenTelemetry() */
+builder
+ .Services
+ .AddOpenTelemetry()
+ .WithTracing(tracing =>
+ {
+ if (builder.Environment.IsDevelopment())
+ {
+ tracing.SetSampler(new AlwaysOnSampler()); //for dev env monitor all traces
+ }
+
+ tracing.AddAspNetCoreInstrumentation();
+ tracing.AddSource("Microsoft.AspNetCore.SignalR.Server");
+ });
+
+builder.Services.ConfigureOpenTelemetryTracerProvider(tracing => tracing.AddOtlpExporter());
+```
+
+And you'll see the SignalR Hub calls at the Aspire Dashboard:
+
+
+
+
+
+## Trimming and Native AOT Support
+
+In this version, **trimming** and native **Ahead Of Time** compilation are **supported**. It'll improve your app's performance. To support AOT, your serialization object needs to be JSON and you must use the `System.Text.Json` Source Generator. Also on the server side, [you shouldn't use](https://github.com/dotnet/aspnetcore/issues/56179) `IAsyncEnumerable` and `ChannelReader` where `T` is a ValueType (`struct`) for Hub method arguments. Besides, [Strongly typed hubs](https://learn.microsoft.com/en-us/aspnet/core/signalr/hubs?view=aspnetcore-8.0#strongly-typed-hubs) aren't supported with Native AOT (`PublishAot`). And you should use only `Task`, `Task`, `ValueTask`, `ValueTask` for `async` return types.
+
+
+
diff --git a/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/cover.png b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/cover.png
new file mode 100644
index 0000000000..d5e783520a
Binary files /dev/null and b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/cover.png differ