{"id":1762,"date":"2025-02-25T18:22:03","date_gmt":"2025-02-25T18:22:03","guid":{"rendered":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2025\/02\/25\/net-aspire-9-1-is-here-with-six-great-new-dashboard-features-and-more\/"},"modified":"2025-02-25T18:22:03","modified_gmt":"2025-02-25T18:22:03","slug":"net-aspire-9-1-is-here-with-six-great-new-dashboard-features-and-more","status":"publish","type":"post","link":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2025\/02\/25\/net-aspire-9-1-is-here-with-six-great-new-dashboard-features-and-more\/","title":{"rendered":".NET Aspire 9.1 is here with six great new dashboard features, and more!"},"content":{"rendered":"<p>We are excited to announce the release of <a href=\"https:\/\/learn.microsoft.com\/dotnet\/aspire\/whats-new\/dotnet-aspire-9.1\">.NET Aspire 9.1<\/a>! This release includes several new features and quality of life improvements based on feedback from developers using .NET Aspire in production applications. In this post, we will focus on the new features in the .NET Aspire dashboard, as well as some other cool features that have been added in this release.<\/p>\n<h2> Six great new dashboard features<\/h2>\n<p>The .NET Aspire dashboard has received several new features in this release. Here are the highlights:<\/p>\n<h3> Resource Relationships<\/h3>\n<p>The dashboard now reflects the concept of a \u201cparent\u201d and \u201cchild\u201d resource relationship. For example, if you create a Postgres instance with multiple databases, they will now be nested in the <strong>Resource<\/strong> page in the same instance.<\/p>\n\n<h3> Localization Overrides<\/h3>\n<p>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:<\/p>\n\n<h3> Filtering<\/h3>\n<p>You can now filter what you see in the <strong>Resource<\/strong> page by <strong>Resource type<\/strong>, <strong>State<\/strong>, and <strong>Health state<\/strong>. Consider the following screen capture, which demonstrates the addition of the filter options in the dashboard:<\/p>\n\n<h3> More Resource Details<\/h3>\n<p>When you select a resource in the dashboard, more data points are now available in the details pane, including <strong>References<\/strong>, <strong>Back references<\/strong>, and <strong>Volumes<\/strong> with their mount types.<\/p>\n\n<h3> CORS Support for Custom Local Domains<\/h3>\n<p>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.<\/p>\n<p>For more information, see <a href=\"https:\/\/learn.microsoft.com\/dotnet\/aspire\/app-host\/configuration#dashboard\">.NET Aspire app host: Dashboard configuration<\/a>.<\/p>\n<h3> Flexibility with Console Logs<\/h3>\n<p>The console log page has two new options. You\u2019re 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.<\/p>\n\n<h3> Various UX Improvements<\/h3>\n<p>Several new features in .NET Aspire 9.1 enhance and streamline popular tasks:<\/p>\n<p>Resource commands, such as <strong>Start<\/strong> and <strong>Stop<\/strong> buttons, are now available on the <strong>Console logs<\/strong> page.<br \/>\nSingle selection to open in the <em>text visualizer<\/em>.<br \/>\nURLs within logs are now automatically clickable, with commas removed from endpoints.<\/p>\n<p>Additionally, the scrolled position now resets when switching between different resources.<\/p>\n<p>For more details on the latest dashboard enhancements, check out <a href=\"https:\/\/bsky.app\/profile\/james.newtonking.com\">James Newton-King<\/a> on Bluesky, where he\u2019s been sharing new features daily.<\/p>\n<h2> And A Whole Lot More<\/h2>\n<p>In addition to the new dashboard features, .NET Aspire 9.1 includes several other cool features:<\/p>\n<p><strong> Start Resources on Demand<\/strong>: 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\u2019re ready from inside the dashboard.<br \/>\n<strong> Better Docker Integration<\/strong>: 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.<br \/>\n<strong> Cleaning Up Docker Networks<\/strong>: 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 <a href=\"https:\/\/github.com\/dotnet\/aspire\/issues\/6504\">issue #6504<\/a>, is resolved. Now, Docker networks are properly cleaned up, ensuring a more efficient and tidy development environment.<br \/>\n<strong> Improved Development Container support<\/strong>: In this release, we improved support for Dev Containers in both GitHub Codespaces and Visual Studio Code. See <a href=\"https:\/\/github.com\/dotnet\/aspire-devcontainer\">dotnet\/aspire-devcontainer<\/a>.<\/p>\n<p>See the full list of new features in the <a href=\"https:\/\/learn.microsoft.com\/dotnet\/aspire\/whats-new\/dotnet-aspire-9.1\">What\u2019s new in .NET Aspire 9.1<\/a> documentation.<\/p>\n<h2> Learn More on the .NET Aspire Community Standup<\/h2>\n<p>Join us on the .NET Aspire Community Standup to learn more about the new features in .NET Aspire 9.1. Watch the recording below:<\/p>\n\n<h2> Learn More &amp; Get Involved<\/h2>\n<p>We hope you enjoy the new features in .NET Aspire 9.1! As always, we welcome your feedback and contributions. Here are some ways to get involved:<\/p>\n<p><strong>GitHub<\/strong>: Collaborate with us on <a href=\"https:\/\/github.com\/dotnet\/aspire\">GitHub<\/a> or join us on <a href=\"https:\/\/discord.com\/invite\/h87kDAHQgJ\">Discord<\/a> to chat with team members.<br \/>\n<strong>Documentation<\/strong>: Check out the <a href=\"https:\/\/learn.microsoft.com\/dotnet\/aspire\">official documentation<\/a> for more information on .NET Aspire.<br \/>\n<strong>Community Standup<\/strong>: Join us on the <a href=\"https:\/\/dotnet.microsoft.com\/live\/community-standup\">.NET Aspire Community Standup<\/a> to stay up-to-date with the latest developments.<\/p>\n<p>Thank you for being a part of the .NET Aspire community!<\/p>\n<p>The post <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/dotnet-aspire-9-1\/\">.NET Aspire 9.1 is here with six great new dashboard features, and more!<\/a> appeared first on <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\">.NET Blog<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>We are excited to announce the release of .NET Aspire 9.1! This release includes several new features and quality of [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7],"tags":[],"class_list":["post-1762","post","type-post","status-publish","format-standard","hentry","category-dotnet"],"_links":{"self":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/1762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/comments?post=1762"}],"version-history":[{"count":0,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/1762\/revisions"}],"wp:attachment":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/media?parent=1762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/categories?post=1762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/tags?post=1762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}