Skip to content

Commit 44cfd4c

Browse files
maddymontaquilaCopiloteerhardtJamesNKIEvangelist
authored
Wat's new (#2622)
* scaffolding pt 1 * adding the scaffold from pine * first full pass * wow copilot is helpful Co-authored-by: Copilot <[email protected]> * erics edits (ty!) Co-authored-by: Eric Erhardt <[email protected]> * Good finds from James Co-authored-by: James Newton-King <[email protected]> * moving console logs downloads to its own section in dashboard * Apply suggestions from code review Co-authored-by: James Newton-King <[email protected]> * Update docs/whats-new/dotnet-aspire-9.1.md * Apply suggestions from code review Co-authored-by: Eric Erhardt <[email protected]> * Edit pass on the what's new content (#2636) --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Eric Erhardt <[email protected]> Co-authored-by: James Newton-King <[email protected]> Co-authored-by: David Pine <[email protected]> Co-authored-by: David Fowler <[email protected]>
1 parent 05b444f commit 44cfd4c

6 files changed

+139
-5
lines changed

docs/whats-new/dotnet-aspire-9.1.md

+139-5
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,152 @@
11
---
22
title: What's new in .NET Aspire 9.1
3-
description: Learn what's new in .NET Aspire 9.1.
4-
ms.date: 02/13/2025
3+
description: Learn what's new in the official general availability release of .NET Aspire 9.1.
4+
ms.date: 02/18/2024
55
---
66

77
# What's new in .NET Aspire 9.1
88

9-
<!--
9+
📢 .NET Aspire 9.1 is the next minor version release of .NET Aspire; it supports _both_:
1010

11-
This release addresses some of the most highly requested features and pain points from the community. The best features are community-driven! To join the community on, visit us on [:::image type="icon" source="../media/discord-icon.svg" border="false"::: Discord](https://discord.com/invite/h87kDAHQgJ) to chat with team members and collaborate with us on [:::image type="icon" source="../media/github-mark.svg" border="false"::: GitHub](https://github.com/dotnet/aspire).
11+
- .NET 8.0 Long Term Support (LTS) _or_
12+
- .NET 9.0 Standard Term Support (STS).
13+
14+
> [!NOTE]
15+
> You're able to use .NET Aspire 9.1 with either .NET 8 or .NET 9!
16+
17+
As always, we focused on highly requested features and pain points from the community. Our theme for 9.1 was "polish, polish, polish"—so you see quality of life fixes throughout the whole platform. Some highlights from this release are resource relationships in the dashboard, support for working in GitHub Codespaces, and publishing resources as a Dockerfile.
18+
19+
If you have feedback, questions, or want to contribute to .NET Aspire, collaborate with us on [:::image type="icon" source="../media/github-mark.svg" border="false"::: GitHub](https://github.com/dotnet/aspire) or join us on [:::image type="icon" source="../media/discord-icon.svg" border="false"::: Discord](https://discord.com/invite/h87kDAHQgJ) to chat with team members.
1220

1321
For more information on the official .NET version and .NET Aspire version support, see:
1422

1523
- [.NET support policy](https://dotnet.microsoft.com/platform/support/policy): Definitions for LTS and STS.
1624
- [.NET Aspire support policy](https://dotnet.microsoft.com/platform/support/policy/aspire): Important unique product life cycle details.
1725

18-
-->
26+
## Upgrade to .NET Aspire 9.1
27+
28+
Moving between minor releases of .NET Aspire is simple:
29+
30+
1. In your app host project file (that is, _MyApp.AppHost.csproj_), update the `Aspire.AppHost.Sdk` version to `9.1.0`:
31+
32+
```xml
33+
<Project Sdk="Microsoft.NET.Sdk">
34+
35+
<Sdk Name="Aspire.AppHost.Sdk" Version="9.1.0" />
36+
37+
<!-- Omitted for brevity -->
38+
39+
</Project>
40+
```
41+
42+
1. Check for any NuGet package updates, either using the NuGet Package Manager in Visual Studio or the **Update NuGet Package** command in VS Code.
43+
1. Update to the latest .NET Aspire templates by running the following .NET command line:
44+
45+
```dotnetcli
46+
dotnet new update
47+
```
48+
49+
> [!NOTE]
50+
> The `dotnet new update` command updates all of your templates to the latest version.
51+
52+
If your app host project file doesn't have the `Aspire.AppHost.Sdk` reference, you might still be using .NET Aspire 8. To upgrade to 9.1, you can follow [the documentation from last release](../get-started/upgrade-to-aspire-9).
53+
54+
## Dashboard UX and customization
55+
56+
With every release of .NET Aspire, the [dashboard](../fundamentals/dashboard/overview.md) gets more powerful and customizable.
57+
58+
### Resource relationships
59+
60+
The dashboard now reflects the concept of a "parent" and "child" resource relationship. For example, if you create a Postgres instance with multiple databases, they're now be nested in the **Resource** page in the same instance.
61+
62+
:::image type="content" source="media/dashboard-parentchild.png" lightbox="media/dashboard-parentchild.png" alt-text="A screenshot of the .NET Aspire dashboard showing the Postgres resource with a database nested underneath it.":::
63+
64+
### Localization overrides
65+
66+
The dashboard defaults to the language set in your browser. This release introduces the ability to override this setting and change the dashboard language independently from the browser language. Consider the following screen capture, that demonstrates the addition of the language dropdown in the dashboard:
67+
68+
:::image type="content" source="media/dashboard-language.png" lightbox="media/dashboard-language.png" alt-text="A screenshot of the .NET Aspire dashboard showing the new flyout menu to change language.":::
69+
70+
### Filtering
71+
72+
You can now filter what you see in the **Resource** page by **Resource type**, **State**, and **Health state**. Consider the following screen capture, which demonstrates the addition of the filter options in the dashboard:
73+
74+
:::image type="content" source="media/dashboard-filter.png" lightbox="media/dashboard-filter.png" alt-text="A screenshot of the .NET Aspire dashboard showing the new filter options.":::
75+
76+
### More resource details
77+
78+
When you select a resource in the dashboard, more data points are now available in the details pane, including **References**, **Back references**, and **Volumes** with their mount types.
79+
80+
:::image type="content" source="media/dashboard-resourcedetails.png" lightbox="media/dashboard-resourcedetails.png" alt-text="A screenshot of the .NET Aspire dashboard with references and back references showing.":::
81+
82+
### CORS support for custom local domains
83+
84+
You can now set the `DOTNET_DASHBOARD_CORS_ALLOWED_ORIGINS` environment variable to allow the dashboard to receive telemetry from other browser apps, such as if you have resources running on custom localhost domains.
85+
86+
For more information, see [.NET Aspire app host: Dashboard configuration](../app-host/configuration.md#dashboard).
87+
88+
### Flexibility with console logs
89+
90+
The console log page has two new options. You're now able to download your logs so you can view them in your own diagnostics tools. Plus, you can turn timestamps on or off to reduce visual clutter when needed.
91+
92+
:::image type="content" source="media/consolelogs-download.png" lightbox="media/consolelogs-download.png" alt-text="A screenshot of the console logs page with the download button, turn off timestamps button, and logs that don't show timestamps.":::
93+
94+
### Various UX improvements
95+
96+
Several new features in .NET Aspire 9.1 enhance and streamline popular tasks:
97+
98+
- Resource commands, such as **Start** and **Stop** buttons, are now available on the **Console logs** page.
99+
- Single selection to open in the _text visualizer_.
100+
- URLs within logs are now automatically clickable, with commas removed from endpoints.
101+
102+
Additionally, the scrolled position now resets when switching between different resources.
103+
104+
For more details on the latest dashboard enhancements, check out [James Newton-King](https://bsky.app/profile/james.newtonking.com) on Bluesky, where he's been sharing new features daily.
105+
106+
## Local dev
107+
108+
### Start resources on demand
109+
110+
You can now tell resources not to start with the rest of your app by using `WithExplicitStart()` on the resource in your app host. Then, you can start it whenever you're ready from inside the dashboard.
111+
112+
For more information, see [Configure explicit resource start](../fundamentals/app-host-overview.md#configure-explicit-resource-start).
113+
114+
### Better Docker integration
115+
116+
The `PublishAsDockerfile()` feature was introduced for all projects and executable resources. This enhancement allows for complete customization of the Docker container and Dockerfile used during the publish process.
117+
118+
### Cleaning up Docker networks
119+
120+
In 9.1, we addressed a persistent issue where Docker networks created by .NET Aspire would remain active even after the application was stopped. This bug, tracked in [issue #6504](https://github.com/dotnet/aspire/issues/6504), is resolved. Now, Docker networks are properly cleaned up, ensuring a more efficient and tidy development environment.
121+
122+
## Integrations
123+
124+
.NET Aspire thrives on [its integrations](../fundamentals/integrations-overview.md) with other platforms. This release has numerous updates to existing integrations, and details about migrations of ownership.
125+
126+
### Azure Cosmos DB, SignalR, Functions, and more
127+
128+
This release also focused on improving various [Azure integrations](../azure/integrations-overview.md):
129+
130+
- The Azure Cosmos DB integration now supports Microsoft Entra ID for authentication and supports the [vnext-preview emulator](/azure/cosmos-db/emulator-linux).
131+
- Service Bus and SignalR resources now let you `RunAsEmulator()`
132+
- It's simpler to connect to existing Azure resources in the app host
133+
- Experimental support for configuring custom domains in Azure Container Apps.
134+
135+
### Even more integration updates
136+
137+
- OpenAI now supports [📦 Microsoft.Extensions.AI](https://www.nuget.org/packages/Microsoft.Extensions.AI) NuGet package.
138+
- RabbitMQ was updated to v7, and MongoDB was updated to v3. These client integration updates introduced breaking changes. A decision was made to release them as new packages, with the specific version number in the package name as a suffix, while the nonsuffixed packages continue to use the previous versions:
139+
- [📦 Aspire.RabbitMQ.Client.v7](https://www.nuget.org/packages/Aspire.RabbitMQ.Client.v7) NuGet package.
140+
- [📦 Aspire.MongoDB.Driver.v3](https://www.nuget.org/packages/Aspire.MongoDB.Driver.v3) NuGet package.
141+
- Dapr migrated to the [CommunityToolkit](https://github.com/CommunityToolkit/Aspire/tree/main/src/CommunityToolkit.Aspire.Hosting.Dapr) to allow it to innovate faster.
142+
- Many other integrations got updates, fixes, and new features. Check out our [GitHub release](https://github.com/dotnet/aspire/releases) for details and more!
143+
144+
The [📦 Aspire.Hosting.AWS](https://www.nuget.org/packages/Aspire.Hosting.AWS) NuGet package and source code migrated under [AWS ownership](https://github.com/aws/integrations-on-dotnet-aspire-for-aws). This migration happened as part of .NET Aspire 9.0, we're just restating that change here.
145+
146+
## Deployment
147+
148+
Significant improvements to the Azure Container Apps (ACA) deployment process can be found in 9.1, enhancing both the `azd` CLI and app host options. One of the most requested features—support for deploying npm applications to ACA—is now implemented. This new capability allows npm applications to be deployed to ACA just like other resources, streamlining the deployment process and providing greater flexibility for developers.
149+
150+
## Upgrade today
151+
152+
Follow the directions outlined in the [Upgrade to .NET Aspire 9.1](#upgrade-to-net-aspire-91) section to make the switch to 9.1 and take advantage of all these new features today! As always, we're listening for your feedback on [GitHub](https://github.com/dotnet/aspire/issues)-and looking out for what you want to see in 9.2 ☺️.
584 KB
Loading
388 KB
Loading
429 KB
Loading
249 KB
Loading
Loading

0 commit comments

Comments
 (0)