We are excited to share that our 9.4.0 release of Aspire has shipped! All of the packages are available in NuGet.org now. Head over to https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9.4 to find what's new in 9.4.0!
What's Changed
- API review: Add Services property to ResourceEndpointsAllocatedEvent by @DamianEdwards in #9270
- Fix visibility updates during resource upserts by @adamint in #9264
- Accept null value in Redis WithPassword to ensure password dosen't set in redis-server by @Alirexaa in #9278
- Make sure the publisher example supports azd by @davidfowl in #9277
- API review:
WithHostPort
should accept null for port param by @Alirexaa in #9282 - Refactor database explorer resource builders to not prefix their names the name of the first resource they are added to. by @paulomorgado in #8237
- Test that ensures legacy dashboard token env var is honored by @DamianEdwards in #9296
- Refactor solution file from .sln to .slnx format and update related d… by @davidfowl in #9295
- Minor dashboard improvements and clean up by @JamesNK in #9301
- Minor improvements to resource changed log by @JamesNK in #9303
- Fix Blazor error logging to telemetry by @JamesNK in #9304
- Don't throw from component telemetry context dispose if not initialized by @JamesNK in #9306
- [CI] Add PR validation on macOS by @radical in #9287
- Localized file check-in by OneLocBuild Task: Build definition ID 1309: Build ID 2709142 by @dotnet-bot in #9302
- Ignore case on FormatDateTime_WithMilliseconds_NewZealandCulture by @adamint in #9316
- Changing default SKU for App Service Plan to P0V3 by @ShilpiRachna1 in #9280
- Branding updates for 9.4 by @joperezr in #9331
- Increase retry time in AppBar_Change_Theme_ReloadPage by @adamint in #9317
- Update xUnit.v3 to support MTP tests by @peterwald in #9261
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9333
- Add tracing support for Azure App Configuration component by @zhiyuanliang-ms in #9323
- Revert "Update xUnit.v3 to support MTP tests (#9261)" by @radical in #9336
- Remove the workaround to explicitly set the container runtime for tests now that the orchestrator is updated by @danegsta in #9339
- [Automated] Update API Surface Area by @github-actions[bot] in #8736
- Revert "Revert "Update xUnit.v3 to support MTP tests (#9261)" (#9336)" by @radical in #9337
- TestsReportGenerator: Always show the error message, and truncate only the stdout by @radical in #9335
- [CI] Fix azdo builds for
main
by @radical in #9338 - [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9347
- Fully qualify OutputPath for PublishingContext by @captainsafia in #9351
- Fix typo in doccomment in
ContainerResourceBuilderExtensions.cs
by @KuraiAndras in #9342 - Update health check to ensure blob containers created at right time by @RussKie in #9159
- Re-apply quarantined test for validation by @sebastienros in #9364
- Update telemetry doc for AzureAppConfiguration by @sebastienros in #9365
- Enable MTP tests via MSBuild property by @captainsafia in #9361
- catch json error by @danmoseley in #9369
- Refactor a common TempDirectory test class by @eerhardt in #9370
- Centralize Verify convention by @sebastienros in #9371
- Update Aspire to stable Microsoft.Extensions.AI.Abstractions by @stephentoub in #9356
- Update RunCommand.cs by @IEvangelist in #9360
- Add support for copying existing files via WithContainerFiles API by @danegsta in #8908
- Do not fail on partial trust warning. by @mitchdenny in #9384
- markdown lint by @danmoseley in #9389
- Merge branch release/9.3 into main by @joperezr in #9394
- Fix failure in MongoDbFunctionalTests.VerifyWithInitFiles by @danegsta in #9391
- Ensure all grid columns have tooltips by @adamint in #9401
- Remove test from quarantine by @danegsta in #9402
- copilot setup steps by @danmoseley in #9409
- docs update by @danmoseley in #9408
- Add health column to Aspire CLI resources table by @Copilot in #9400
- [CI] Fix copilot setup steps by @radical in #9414
- Prevent text overflow in resource action URLs by @adamint in #9314
- Support setting existing app identity on compute resources by @captainsafia in #9404
- Update FluentUI to 4.11.9 by @JamesNK in #9417
- Fix commands left in a disabled state by @JamesNK in #9383
- Add a counter to Stress app by @adamint in #9432
- Fix error in json in README.md by @ikkentim in #9415
- Add Tests badge for rolling builds on github workflows by @radical in #9416
- Add test coverage for --aspire-version template option by @Copilot in #9433
- [CI] Change AzDO public pipeline to run weekly instead of per-commit by @Copilot in #9437
- Trace detail improvements by @JamesNK in #9443
- Make RpcResourceState internal in Aspire.Cli and Aspire.Hosting packages by @Copilot in #9456
- Remove --prerelease switches from aspire CLI commands by @Copilot in #9447
- Graceful error handling for offline scenarios in 'aspire new' and 'aspire add' commands by @Copilot in #9458
- More logging in flaky pause console logs test by @JamesNK in #9435
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9460
- Remove ACA Environment Contributor role assignment by @eerhardt in #9405
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9477
- Use ProcessSpec for invoking dotnet publish by @mitchdenny in #9479
- Further cleanup the GetContainerId logic for tests by @danegsta in #9481
- Increase timeout for applicaton start in DistributedApplicationTests by @karolz-ms in #9473
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9489
- Implement
IDistributedApplicationResourceEvent
onResourceEndpointsAllocatedEvent
by @afscrome in #9495 - Fix Blob Container Connection String Format Exception by @sebastienros in #9472
- Automate refreshing manifests with GitHub Action by @Copilot in #9503
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #9507
- The --source argument is not preserved when running aspire add -s by @Copilot in #9509
- Change .dotnet/aspire to .aspire in temporary working files by @Copilot in #9505
- Fix malformed table output in aspire run command when no resources are present by @Copilot in #9498
- Update refresh-manifests.yml by @davidfowl in #9514
- TestShop: Add IsRunMode check for database key by @DamianEdwards in #9522
- Expose the NameOutputReference property on AzureResources by @Copilot in #9501
- Force SqlDatabase resource api version by @sebastienros in #9530
- [Automated] Update Manifests by @github-actions[bot] in #9525
- Allow mounting the docker socket using WithBindMount by @Copilot in #9511
- Drop support for hybrid mode Azure Container Apps by @davidfowl in #9500
- AppHost disambiguation and selection. by @mitchdenny in #9542
- Split Azure tests by resource in Aspire.Hosting.Azure.Tests by @Copilot in #9527
- [Automated] Update Manifests by @github-actions[bot] in #9548
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9549
- Update the WithInitFiles implementations to use bind mounts in publish mode by @danegsta in #9528
- Repo MCP tools by @mitchdenny in #9506
- Improve app host search messaging and add spacing for better UX by @Copilot in #9552
- Add SupportsDetailedTelemetry to protocol and opt resources using Microsoft Open public key into it by @adamint in #9531
- Support hierarchical partition keys for Azure Cosmos by @Kumima in #9513
- [Automated] Update Manifests by @github-actions[bot] in #9562
- [WIP] Aspire CLI ctrl+c error message by @Copilot in #9491
- Localized file check-in by OneLocBuild Task: Build definition ID 1309: Build ID 2719391 by @dotnet-bot in #9469
- Remove leftover ElasticSearch references after moving ElasticSearch out of repo by @Copilot in #9494
- Remove 37 unused resources from .resx files by @Copilot in #9573
- ci: set commit-message in refresh-manifests workflow by @Copilot in #9574
- [CI] Collect dcp logs on Outerloop workflow by @radical in #9584
- Remove a few auto injected known parameters by @davidfowl in #9590
- Add definitions for new log streaming options by @karolz-ms in #9593
- Revert "Add definitions for new log streaming options (#9593)" by @davidfowl in #9601
- Initialize telemetry context in UpdateTelemetryProperties if not already initialized by @adamint in #9553
- Add WithDashboard() method to allow opting out of Aspire dashboard in Azure Container App environments by @Copilot in #9600
- Allow scheme to be specified when configuring Azurite by @MatthewSteeples in #9570
- [Automated] Update Playground Manifests by @github-actions[bot] in #9610
- Add support for containers with Dockerfile to AzureAppServiceEnvironmentResource by @Copilot in #9620
- Externalize unknown parameters in ContainerApps and AppServiceWebSite by @Copilot in #9619
- Only expose endpoint port in docker compose if external is set to true by @Copilot in #9604
- Add dashboard resource to AddDockerComposeEnvironment by @Copilot in #9597
- change 2->8 cores for copilot setup build by @danmoseley in #9626
- [CI] Use the local test report generator for Outerloop workflow by @Copilot in #9439
- Update verify and remove AddTextExtension by @SimonCropp in #9625
- Add definitions for new log streaming options by @karolz-ms in #9644
- Add support for existing Log Analytics Workspace when publishing into a Container App Environment by @amilochau in #9624
- Use orchestrator container delay start feature for better
WithExplictStart
+ContainerLifetime.Persistent
support by @danegsta in #9471 - Add GetSecret convenience API and WithSecret methods for AzureKeyVaultResource by @Copilot in #9615
- Prompting for additional template args. by @mitchdenny in #9558
- Rename WithBrowserPort to WithHostPort for consistency with other hosting packages by @Copilot in #9657
- Update using-latest-daily.md by @davidfowl in #9658
- [CI] Use ⚠️emoji for zero tests run by @radical in #9654
- Quarantine Aspire.Cli.Tests.Projects.ProjectLocatorTests.UseOrFindAppHostProjectFilePromptsWhenMultipleFilesFound by @radical in #9669
- Initial Aspire extension code by @adamint in #9578
- Add missing imports, move rpc server test file by @adamint in #9678
- Add additional interaction service tests, clean up by @adamint in #9679
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9689
- bump version of azure.provisioning to 1.0.1 by @ArcturusZhang in #9680
- Fix two common dashboard errors by @JamesNK in #9699
- Fix the state propagation for azure resources by @davidfowl in #9686
- Quarantine some flaky tests by @radical in #9675
- Remove dependencies on AfterEndpointsAllocatedEvent by @danegsta in #9598
- [CI] Fail tests validation run if vscode extensions tests fail by @radical in #9691
- Skip role assignment handling for emulators by @davidfowl in #9705
- Rename Aspire.Components.Common.Tests to Aspire.Components.Common.TestUtilities by @Youssef1313 in #9547
- Speed up/robustify copilot setup step by @danmoseley in #9710
- Use a persistent container network if there are persistent container resources by @danegsta in #9715
- Quarantine flaky test CanOverrideLaunchProfileViaArgsAdHocBuilder by @Copilot in #9721
- more instructions by @danmoseley in #9726
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9720
- Add IAzureComputeEnvironmentResource interface for Azure-backed compute by @Copilot in #9700
- Disable failing test WithHttpCommand_ResultsInExpectedResultForHttpMethod by @Copilot in #9730
- Launch cli with proper params, remove unused strings and old command logic by @adamint in #9684
- Add .NET 10 support to dashboard by @JamesNK in #9733
- Add generic WithEnvironment overload for IValueProvider and IManifestExpressionProvider by @Copilot in #9748
- Fix error CSS by @JamesNK in #9750
- Make verify tool accessible to the coding agent by @Copilot in #9753
- Fix Azure Container Apps deployment failure with uppercase resource names by @Copilot in #9752
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #9760
- Fix dashboard selecting resources with dashes in instance ids by @JamesNK in #9759
- CosmosDB: Add the 'EnableServerless' capability to accounts by @Pilchie in #9692
- Revert "Make verify tool accessible to the coding agent (#9753)" by @davidfowl in #9775
- Make verify tool accessible to the coding agent by @radical in #9778
- Default to single resource on console logs and metrics pages by @JamesNK in #9757
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9780
- Default ACA autoConfigureDataProtection to true for .NET projects by @eerhardt in #9777
- Quarantine flaky test WithHttpCommand_CallsGetResponseCallback_AfterSendingRequest by @Copilot in #9776
- Improve/Fix hierarchical partition keys for Azure Cosmos by @Kumima in #9758
- Fix ACA DataProtection by @eerhardt in #9786
- Localized file check-in by OneLocBuild Task: Build definition ID 1309: Build ID 2727100 by @dotnet-bot in #9761
- Update Docker Image tags by @joperezr in #9674
- Quarantine flaky test WithHttpCommand_CallsPrepareRequestCallback_BeforeSendingRequest by @Copilot in #9791
- Update fluentui packages by @adamint in #9794
- [Automated] Update Playground Manifests by @github-actions[bot] in #9788
- Add aspire config commands for managing configuration settings by @Copilot in #9676
- Set functionapp kind on Azure Functions projects by @eerhardt in #9779
- Allow YARP to be configured in a programmatic way by @benjaminpetit in #9766
- Simplify AzureProvisioner and make it testable by removing unnecessary abstraction layers by @Copilot in #9737
- Disable local auth on Azure EventHubs and WebPubSub by @eerhardt in #9799
- Quarantine flaky test WithHttpCommand_UsesNamedHttpClient by @Copilot in #9802
- Use default colors for prompts in CLI. by @mitchdenny in #9810
- Fix thread safety issue in FindAppHostProjectFilesAsync by switching to ConcurrentBag by @Copilot in #9655
- ParallelOptions not being passed to Parallel.ForEachAsync in FindAppHostProjectFilesAsync by @SimonCropp in #9661
- Style dashboard blazor reconnect modal by @JamesNK in #9809
- Menu button concurrency fix by @JamesNK in #9806
- Rename unset so that it gets re-translated by @adamint in #9793
- Fix user secrets duplication issue by normalizing to flat configuration format by @Copilot in #9815
- Add ResourceCommandService by @JamesNK in #9805
- Fix CLI to automatically fallback when apphost file in settings doesn't exist by @Copilot in #9814
- Quarantine flaky test WithHttpCommand_EnablesCommandUsingCustomUpdateStateCallback by @Copilot in #9813
- Show/hide hidden resources on dashboard by @adamint in #9180
- [Automated] Update Playground Manifests by @github-actions[bot] in #9830
- Quarantine flaky ResourceCommandServiceTests by @Copilot in #9836
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9840
- Add support for DeployCommand and DeployingCallbackAnnotation by @captainsafia in #9792
- Fail on publish/deploy if nothing happened. by @davidfowl in #9850
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9864
- Use custom ConnectionStringBuilder when mutating connection strings by @sebastienros in #9839
- Add Kubernetes publisher Workload and Resource extension points by @hewe-saxo in #9819
- Cleanup error handling conditions for ACA compute environment by @eerhardt in #9838
- Enhance AppHostExitsWhenCliProcessPidDies test diagnostics and add quarantined test filtering documentation by @Copilot in #9816
- Revert "update fluentui packages (#9794)" by @JamesNK in #9873
- Add connection string to resource details by @sebastienros in #9882
- Improve compatibility error message to include Aspire.Hosting package version by @Copilot in #9875
- Quarantine flaky test PublishCommandSucceedsEndToEnd by @Copilot in #9872
- Update xunit.v3 to 2.0.3 by @Youssef1313 in #9876
- Use single ActivitySource across CLI components by @Copilot in #9848
- Fix Dev Container / Codespaces support for non-default usernames by @Copilot in #9538
- Consolidate Aspire CLI config subcommands into single command with verb argument by @Copilot in #9849
- Add linux-musl-amd64 (Alpine linux) specific build support by @danegsta in #9901
- Fix Outerloop Tests workflow failing on forks by @Copilot in #9903
- Fix Kubernetes publisher Kubernetes and Helm resource names by @hewe-saxo in #9898
- Start localizing CLI by @adamint in #9741
- rename InteractionService to ConsoleInteractionService by @adamint in #9908
- Fix dashboard URL display in Aspire CLI after localization changes. by @mitchdenny in #9909
- clean up rpc server connection logic, update string by @adamint in #9907
- Template updates for Aspire 9.4 and .NET 10 by @DamianEdwards in #9883
- Quarantine flaky test TracingEnablesTheRightActivitySource_Keyed by @Copilot in #9918
- [CI] Publish binaries for Aspire.Cli by @radical in #9695
- Disable local auth on Azure SignalR by @vicancy in #9891
- Start the beginning of AOT'ing the Aspire.Cli. by @eerhardt in #9841
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9923
- Emit Int32OrStringV1 as int from Kubernetes publisher. by @hewe-saxo in #9933
- bump versions of azure.provisioning libraries by @ArcturusZhang in #9915
- Add a section on requirements for building the repo on Alpine Linux by @danegsta in #9924
- Add k8s tooling. by @mitchdenny in #9925
- Fix console logs clear not going back to a blank state by @JamesNK in #9910
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9944
- Fix SqlServer PowerShell module version to avoid breaking changes in 22.4.5.1 by @Copilot in #9939
- [Automated] Update Playground Manifests by @github-actions[bot] in #9936
- bump the version of azure.provisioning.operationalinsights by @ArcturusZhang in #9947
- Fix glob pattern so it includes tests/Directory.Packages.props in update-dependencies workflow by @joperezr in #9940
- Update launchSettings.json to support manifest generation by @sebastienros in #9959
- [build] Fix versions of arcade dependencies by @radical in #9941
- Reorder & don't remember Aspire version in IDE's by @DamianEdwards in #9961
- Main by @joperezr in #9920
- [Automated] Update dependencies by @github-actions[bot] in #9252
- Update .NET dependencies by @joperezr in #9962
- Update MTP to 1.7.2 by @Youssef1313 in #9895
- Update xunit.v3 to 3.0.0-pre.25 by @Youssef1313 in #9894
- Ensure resource non-endpoint URLs are active when initialized by @DamianEdwards in #9696
- Add .http file to ApiService in starter template by @DamianEdwards in #9973
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #9975
- Update PublishingActivityProgressReporter to support step/task views by @captainsafia in #9971
- Add isError parameter to CompleteStepAsync method in PublishingActivityProgressReporter by @Copilot in #9979
- Bump System.CommandLine. by @mitchdenny in #9968
- Interaction service by @JamesNK in #9943
- Refactor settings file path handling by @pdekkers in #9951
- Inject DOTNET_CLI_USE_MSBUILD_SERVER env var for apphost builds and runs, using configuration for value by @Copilot in #9946
- Revert to FluentUI 4.11.9 again by @JamesNK in #9987
- Clean up extension by @adamint in #9988
- More interaction service by @JamesNK in #9986
- Use a digit in resx string which is passed to string.Format by @eerhardt in #9996
- Improve the publish/deploy output by @davidfowl in #9981
- Localized file check-in by OneLocBuild Task: Build definition ID 1309: Build ID 2736020 by @dotnet-bot in #10006
- Fix TFM/Aspire version selection in templates by @DamianEdwards in #10009
- Use STJ source generation in Cli backchannel by @eerhardt in #9993
- Add interaction validation by @JamesNK in #9989
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #10021
- Exclude FluentUI from update dependencies by @eerhardt in #9998
- Stream apphost logs across backchannel. by @mitchdenny in #9990
- Add extension methods to PublishingStep & PublishingTask for direct Complete/Update operations by @Copilot in #9995
- Improve console logs error handling by @JamesNK in #10012
- Initial extension interaction service by @adamint in #9927
- Revert "Initial extension interaction service (#9927)" by @radical in #10030
- Quick fix to codespaces dashboard link. by @mitchdenny in #10033
- Update manifest-spec.md by @davidfowl in #10025
- Managed implementation of DNS resolver by @rzikm in #6104
- Localized file check-in by OneLocBuild Task: Build definition ID 1309: Build ID 2737112 by @dotnet-bot in #10028
- Increase BrowserTokenAuthenticationTests timeouts by @adamint in #10007
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #10031
- Add new YARP fluent configuration by @benjaminpetit in #10040
- Reenable extensions interaction service by @eerhardt in #10047
- [CI] Reduce Outerloop tests workflow to run once every 6 hours, instead of every 2 by @radical in #10044
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #10055
- Rename interaction inputs, improve input dialog UX by @JamesNK in #10056
- Increase name column width on the trace detail page by @JamesNK in #10032
- Only ask for distinct package names in aspire add by @adamint in #10052
- Refactor publishing state model and CLI protocol to aggregate CompletionState at all levels by @Copilot in #10037
- Fix
YarpCluster
construction and add constructor that takesIResourceWithServiceDiscovery
by @benjaminpetit in #10060 - Add ProgressReporter property to DeployingContext by @Copilot in #10067
- Add Azure AI Foundry support by @sebastienros in #9974
- Yarp: defer configuration generation by @benjaminpetit in #10072
- Handle interaction service unimplemented and tests by @JamesNK in #10014
- Add dot notation support for aspire config commands by @Copilot in #10035
- Fix DevcontainerSettingsWriter directory creation in clean codespace environments by @Copilot in #10059
- Fix output when publish completes with warning by @Copilot in #10077
- Migrate to slnx, but also add missing project references by @IEvangelist in #10092
- bump provisioning libraries to latest versions by @ArcturusZhang in #10042
- Enable PublishAot where available by @eerhardt in #10053
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #10096
- Update to .NET 10 SDK and Arcade 10 by @joperezr in #10075
- Fix tests failing on Azdo by @radical in #10095
- Fix failing
PublishAsAzureContainerApp_ThrowsIfNoEnvironment
test by @radical in #10104 - [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #10100
- Implement CLI prompting on top of InteractionService by @captainsafia in #10101
- Revert "Update dependencies from https://github.com/microsoft/usvc-ap… by @davidfowl in #10110
- [Automated] Update Playground Manifests by @github-actions[bot] in #10070
- Fix usability issues with IPublishingActivityProgressReporter by @Copilot in #10108
- More extension cleanup by @adamint in #10054
- Quarantine flaky test StartResourceForcesStart by @Copilot in #10089
- Reapply "Update dependencies from https://github.com/microsoft/usvc-a… by @davidfowl in #10112
- Add Value property to PublishingPromptInput to enable default value flow by @Copilot in #10111
- Fix Typos in TalkingClockResource by @afscrome in #10117
- Kubernetes Publisher connection strings fix by @hewe-saxo in #10091
- Interaction service improvements by @JamesNK in #10131
- Fix space between header and content in trace detail by @JamesNK in #10132
- Update devcontainer to use .NET 10.0 preview image by @Copilot in #10115
- Add console output after choice selection in publish command by @Copilot in #10120
- Drop "sample" from aspire new description by @eerhardt in #10143
- Fix console logs pause/resume flaky test by @JamesNK in #10134
- Improve telemetry logging by @JamesNK in #10133
- Telemetry fixes by @JamesNK in #10080
- Cleanup error handling conditions for compute environments by @eerhardt in #10078
- Fix support for non-localhost endpoint targets by @danegsta in #9977
- Fix AzurePublishingContext to ignore resources with ManifestPublishingCallbackAnnotation.Ignore by @Copilot in #10064
- Remove HTML escaping option from interaction service by @JamesNK in #10135
- Fix promptText formatting in selection output by @captainsafia in #10148
- Add
IResourceBuilder<T>
extension method for event subscriptions by @afscrome in #10097 - Add CLI version update notifications to Aspire CLI by @Copilot in #9992
- Remove deployCommandEnabled feature flag from Aspire CLI by @Copilot in #10155
- Add Aspire upgrade check by @JamesNK in #10034
- Fix logic for filtering packages coming back from GetPackagesAsync. by @mitchdenny in #10164
- Fix dependabot alert by bumping version of braces resolved by yarn by @joperezr in #10153
- Fix Debug.Assert with side effects in ExtensionInteractionService by @Copilot in #10172
- Rename and refactor steps/tasks-related publishing APIs by @Copilot in #10145
- Add package ID filtering to VersionFetcher.GetLatestVersion for robustness by @Copilot in #10166
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #10178
- Ignore NU1510 warnings by @JamesNK in #10176
- Code clean up in VersionFetcher by @JamesNK in #10180
- Fix Foundry Local setup link by @adityamandaleeka in #10179
- Redirect cli logger output to output channel and improve extension logging. Recreate terminal on first command run & then reuse by @adamint in #10071
- Add NameOutputReference and AddAsExistingResource to AzureAppServiceEnvironmentResource by @Copilot in #10152
- Add ExternalServiceResource for modeling external services with service discovery support by @Copilot in #9965
- Update Event Subscriptions in tests to use new
OnXYZ
methods by @afscrome in #10171 - Update package.json, add extension logo and license by @adamint in #10190
- Clear status after error by @adamint in #10187
- [Automated] Update Playground Manifests by @github-actions[bot] in #10214
- update extension readme, add contributing.md by @adamint in #10215
- Dedupe shared backchannel types by @captainsafia in #10058
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #10216
- Fix starvs.cmd script by @joperezr in #10219
- feat: aspire exec by @DeagleGross in #10061
- Remove warning on publish of external service with parameterized URL by @DamianEdwards in #10222
- Suppress CS9881 in generated project/apphost metadata types by @DamianEdwards in #10223
- Revert "feat: aspire exec (#10061)" by @BrennanConroy in #10227
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #10230
- Fix ready event subscription for Foundry resource by @adityamandaleeka in #10229
- Installs aspire extension on codespaces automatically by @adamint in #10217
- Move InteractionResult to right file by @JamesNK in #10226
- Parameter Improvements by @afscrome in #10094
- Configure YARP with environment variables by @benjaminpetit in #10210
- Add user-friendly message when AddCommand search returns no results by @Copilot in #10209
- Add support for interaction input validation to CLI by @JamesNK in #10194
- Decrease message bar button text size by @JamesNK in #10234
- Subscribe to this specific resource, not all. by @davidfowl in #10238
- Added support for prompting for parameter values in run mode by @davidfowl in #10235
- YARP: do not defer configuration generation when using env variable by @benjaminpetit in #10242
- Add VS Code instructions to contributing gudelines by @karolz-ms in #10250
- Refine aspire CLI run command grid display with right-aligned labels and padding by @Copilot in #10207
- Don't throw in interaction service when no inputs by @JamesNK in #10257
- feat: aspire exec 2 by @DeagleGross in #10240
- Use log output channel and remove abstraction by @adamint in #10256
- send basic telemetry (command invocation) by @adamint in #10246
- Throw on no input in ExtensionBackchannel by @adamint in #10114
- Add check to not show an empty message in extension interaction service by @adamint in #10188
- Add support for markdown formatting in interaction message by @JamesNK in #10189
- Option to persist parameters to secrets by @JamesNK in #10260
- Replace french_fries emoji with check_mark in CLI template output by @Copilot in #10237
- Rename IPublishingActivityProgressReporter to IPublishingActivityReporter by @Copilot in #10253
- Use different names for persistent and session scoped networks by @danegsta in #10278
- chore: aspire exec report error when executable failed to start by @DeagleGross in #10277
- Refactor Endpoint bicep references in AI Foundry resource by @sebastienros in #10193
- bump the version of azure.provisioning by @ArcturusZhang in #10284
- [main] Update dependencies from microsoft/usvc-apiserver by @dotnet-maestro[bot] in #10291
- Fix race error in text visualizer by @JamesNK in #10273
- Fix thread safety issue in Razor view by @JamesNK in #10270
- Add role support to Azure AI Foundry by @eerhardt in #10292
- Localized file check-in by OneLocBuild Task: Build definition ID 1309: Build ID 2746004 by @dotnet-bot in #10264
- Change Azure OpenAI to use CognitiveServicesOpenAIUser role by default by @eerhardt in #10293
- Fix typo in
TalkingClockResource
comment by @afscrome in #10269 - Bump to latest azure-functions-core-tools by @captainsafia in #9267
- [release/9.4] Refactor Azure Storage API by @github-actions[bot] in #10303
- [release/9.4] Add ContainerBuildOptions support to ResourceContainerImageBuilder for customizing dotnet publish by @github-actions[bot] in #10312
- [release/9.4] Add GitHub Models integration (#10170) by @eerhardt in #10313
- [release/9.4] Add option to console logs to wrap log lines by @github-actions[bot] in #10314
- [release/9.4] Move IInteractionService and related types to Aspire.Hosting namespace by @github-actions[bot] in #10307
- [release/9.4] Add dashboard telemetry to interaction service by @github-actions[bot] in #10315
- [release/9.4] Improve parameter resolution logging and exception handling in ParameterProcessor by @github-actions[bot] in #10329
- [release/9.4] Make parameters and connection strings visible in dashboard by @github-actions[bot] in #10342
- [release/9.4] Aspire cli: Add AOT builds for Linux, and macOS by @github-actions[bot] in #10337
- [release/9.4] Fix missing 'name' property in TableService Bicep generation by @github-actions[bot] in #10348
- [release/9.4] Add Azure provisioning command handling and settings configuration by @github-actions[bot] in #10350
- [release/9.4] Fix hiding dismiss on inputs dialog by @github-actions[bot] in #10351
- [release/9.4] Backport 10203: Add CTRL-C message back into
aspire run
command by @mitchdenny in #10324 - [release/9.4] Made changes to how parameter.Value works by @github-actions[bot] in #10357
- [release/9.4] Match name with ResourceCommandService by @github-actions[bot] in #10373
- [release/9.4] bump version of
Azure.Provisioning
by @github-actions[bot] in #10384 - [release/9.4] Share more package checking code between CLI and app host by @github-actions[bot] in #10381
- [release/9.4] Support uninstrumented peer visualization for parameters, and resources with connection strings and github models by @github-actions[bot] in #10382
- [release/9.4] Add non-localhost URLs by @github-actions[bot] in #10396
- [release/9.4] Force async execution of resource startup by @github-actions[bot] in #10360
- [release/9.4] Fix TryMatchAgainstResources to return false for multiple resource matches by @github-actions[bot] in #10412
- [release/9.4] Harden Docker container runtime health check by @github-actions[bot] in #10408
- [release/9.4] Throw if container runtime is unhealthy during image build by @github-actions[bot] in #10400
- [release/9.4] Simplify GH Models API keys experience by @github-actions[bot] in #10426
- [release/9.4] Update dependencies to latest by @github-actions[bot] in #10430
- [release/9.4] Add scripts to download aspire-cli by @github-actions[bot] in #10436
- [release/9.4] Ensure all YARP env vars are strings by @github-actions[bot] in #10435
- [release/9.4] Refactor async task handling to use WaitAsync for cancellation support by @github-actions[bot] in #10438
- [release/9.4] Use CreateEmptyApplicationBuilder in Aspire.Cli by @github-actions[bot] in #10442
- [release/9.4] Add support for parameter description & custom input rendering by @github-actions[bot] in #10447
- [release/9.4] Rename MessageBar interaction to Notification by @github-actions[bot] in #10451
- [release/9.4] Fix CLI install script printing unexpected '0' when executed via iex by @github-actions[bot] in #10464
- [release/9.4] Remove PingAsync RPC method from backchannel interfaces and implementations by @github-actions[bot] in #10466
- [release/9.4] Revert peer matching logic to fix database resource resolution regression by @github-actions[bot] in #10476
- [release/9.4] Change CompleteInteractionAsync answers to object by @github-actions[bot] in #10482
- [release/9.4] Template name strings, default prompts, and template version selection changes. by @github-actions[bot] in #10484
- [release/9.4] Backport 10453 (remove obsolete RPC API) by @mitchdenny in #10478
- [release/9.4] Improve friendly name generation for
aspire add
command add introduce pre-release package sub-menu. by @github-actions[bot] in #10491 - [release/9.4] Update dependencies from https://github.com/microsoft/usvc-apiserver build 0.15.19 by @danegsta in #10472
- [release/9.4] Fix IInteractionService API limitations in CLI by making unsupported interactions fail instead of silently returning by @github-actions[bot] in #10505
- [release 9.4] [backport] markup escaping to ConsoleInteractionService by @DeagleGross in #10509
- [release/9.4] Add purple styling for default values in CLI prompts (#10474) by @mitchdenny in #10515
- [release/9.4] Force en-US for template install by @github-actions[bot] in #10518
- [release/9.4]: Fix WithHealthCheck method for ExternalServiceResource to access parameter values asynchronously by @davidfowl in #10493
- [release/9.4] Fix interaction provider in dashboard handling duplicate messages by @github-actions[bot] in #10511
- [release/9.4] Add preview indicator to 'aspire exec' command help text by @github-actions[bot] in #10532
- [release/9.4] Update AddSecret extension methods to use consistent parameter names by @github-actions[bot] in #10533
- [release/9.4] Revert "Fix IInteractionService API limitations in CLI by making unsu… by @github-actions[bot] in #10539
- [release/9.4] Backport a fix to add
.dotnet
to PATH on windows by @radical in #10540 - [release/9.4] Make container runtime health check conditional based on resource requirements by @github-actions[bot] in #10536
- [release/9.4] Add EmulatorResourceAnnotation to Azure emulator resources for consistent tooling support by @github-actions[bot] in #10530
- [release/9.4] Add Experimental attribute to WithCustomInput method by @github-actions[bot] in #10546
- [release/9.4] Update resource list in console logs after _showHiddenResources value changes by @github-actions[bot] in #10512
- [release/9.4] update
Azure.Provisioning.Storage
to1.1.2
by @github-actions[bot] in #10543 - [release/9.4] Add user-friendly error handling for
aspire new
when directory contains existing files by @github-actions[bot] in #10550 - [release/9.4] Backport of 10422 by @mitchdenny in #10555
- [release/9.4] Add .NET SDK availability check to Aspire CLI commands by @github-actions[bot] in #10552
- [release/9.4] Add server validation of interaction inputs by @github-actions[bot] in #10557
- [release/9.4] aspire-cli: Fix linux-arm64 and linux-musl-x64 to produce tarballs and not zip files by @github-actions[bot] in #10575
- [release/9.4] Fix telemetry opt out by @github-actions[bot] in #10582
- [release/9.4] Fix ShowDismiss setting not being used with message boxs or confirmations by @github-actions[bot] in #10583
- [release/9.4] Use proxied endpoints for aspire dashboard by @github-actions[bot] in #10587
- [release/9.4] Backporting a few get-aspire-cli script PRs by @radical in #10586
- [release/9.4] Properly handle specific IP endpoint TargetHost by @github-actions[bot] in #10574
- [release/9.4] Fire ResourceEndpointsAllocatedEvent event once for each logical app model resource by @github-actions[bot] in #10588
- Clean up publish cmd infra and add context-sensitive messages by @captainsafia in #10602
- [release/9.4] Remove AddBlobService and Revert to 9.3 Azure Storage APIs (#10556) by @eerhardt in #10612
- Put DeployCommand behind a feature flag by @captainsafia in #10613
- [release/9.4] Fix CLI hanging when dashboard fails to start by implementing ResourceFailedException by @github-actions[bot] in #10614
- [backport 9.4]
aspire exec
fixes by @DeagleGross in #10628 - [release/9.4] Fix GitHubModels health check dependency on IHttpClientFactory by @Copilot in #10626
- [release/9.4] Update using-latest-daily.md by @github-actions[bot] in #10632
- [release/9.4] Stabilize package versions by @joperezr in #10346
- [release/9.4] Always set MSBUILDTERMINALLOGGER=false for all dotnet command executions in DotNetCliRunner by @github-actions[bot] in #10643
- [release/9.4] Multi target projects that would otherwise cause issues when restored in higher TFMs by @github-actions[bot] in #10661
- [release/9.4] Update YARP container tag by @github-actions[bot] in #10640
- [release/9.4] Add feature flag control for ExecCommand with default disabled (#10664) by @mitchdenny in #10669
- [release/9.4] Rename EventingExtensions class to DistributedApplicationEventingExtensions by @github-actions[bot] in #10690
- [release/9.4] Remove duplicate startup logging from DashboardLifecycleHook by @github-actions[bot] in #10692
- [release/9.4] Update YARP README to reflect current implementation and API patterns by @github-actions[bot] in #10709
- [release/9.4] Mark ParameterResource.Value as obsolete in favor of GetValueAsync and direct usage by @github-actions[bot] in #10701
New Contributors
- @ShilpiRachna1 made their first contribution in #9280
- @peterwald made their first contribution in #9261
- @KuraiAndras made their first contribution in #9342
- @ikkentim made their first contribution in #9415
- @Kumima made their first contribution in #9513
- @MatthewSteeples made their first contribution in #9570
- @amilochau made their first contribution in #9624
- @pdekkers made their first contribution in #9951
- @adityamandaleeka made their first contribution in #10179
Full Changelog: v9.3.0...v9.4.0