From ddfe631443d408992264ac39686ce644f94960ec Mon Sep 17 00:00:00 2001 From: guardrex <1622880+guardrex@users.noreply.github.com> Date: Tue, 22 Apr 2025 13:05:27 -0400 Subject: [PATCH 1/4] [Pre4] Nix a couple of `dotnet.boot.js` file mentions --- .../bundle-caching-and-integrity-check-failures.md | 2 +- aspnetcore/release-notes/aspnetcore-10/includes/blazor.md | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/aspnetcore/blazor/host-and-deploy/webassembly/bundle-caching-and-integrity-check-failures.md b/aspnetcore/blazor/host-and-deploy/webassembly/bundle-caching-and-integrity-check-failures.md index 1142d42602c4..00f0ece459cd 100644 --- a/aspnetcore/blazor/host-and-deploy/webassembly/bundle-caching-and-integrity-check-failures.md +++ b/aspnetcore/blazor/host-and-deploy/webassembly/bundle-caching-and-integrity-check-failures.md @@ -20,7 +20,7 @@ When a Blazor WebAssembly app loads in the browser, the app downloads boot resou * .NET runtime and assemblies * Locale specific data -Except for Blazor's boot manifest file (`dotnet.boot.js` in .NET 10 or later, `blazor.boot.json` prior to .NET 10), WebAssembly .NET runtime and app bundle files are cached on clients. The Blazor boot configuration contains a manifest of the files that make up the app that must be downloaded along with a hash of the file's content that's used to detect whether any of the boot resources have changed. Blazor caches downloaded files using the browser [Cache](https://developer.mozilla.org/docs/Web/API/Cache) API. +Except for Blazor's boot manifest file (`blazor.boot.json` ) prior to the release of .NET 10, WebAssembly .NET runtime and app bundle files are cached on clients. The Blazor boot configuration contains a manifest of the files that make up the app that must be downloaded along with a hash of the file's content that's used to detect whether any of the boot resources have changed. Blazor caches downloaded files using the browser [Cache](https://developer.mozilla.org/docs/Web/API/Cache) API. When Blazor WebAssembly downloads an app's startup files, it instructs the browser to perform integrity checks on the responses. Blazor sends SHA-256 hash values for DLL (`.dll`), WebAssembly (`.wasm`), and other files in the Blazor boot configuration, which isn't cached on clients. The file hashes of cached files are compared to the hashes in the Blazor boot configuration. For cached files with a matching hash, Blazor uses the cached files. Otherwise, files are requested from the server. After a file is downloaded, its hash is checked again for integrity validation. An error is generated by the browser if any downloaded file's integrity check fails. diff --git a/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md b/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md index ccf25f2e19d5..4a3635798923 100644 --- a/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md +++ b/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md @@ -194,13 +194,15 @@ The default environments are: * `Development` for build. * `Production` for publish. -### Boot configuration file name change +### Boot configuration file inlined -The boot configuration file is changing names from `blazor.boot.json` to `dotnet.boot.js`. This name change only affects developers who are interacting directly with the file, such as when developers are: +Blazor's boot configuration, which prior to the release of .NET 10 existed in a file named `blazor.boot.json`, has been inlined into the `dotnet.js` script. This only affects developers who are interacting directly with the `blazor.boot.json` file, such as when developers are: * Checking file integrity for published assets with the troubleshoot integrity PowerShell script per the guidance in . * Changing the file name extension of DLL files when not using the default Webcil file format per the guidance in . +Currently, there's no documented replacement strategy for the preceding approaches. Developers who require either of those strategies are encouraged to open a new documentation issue describing your use case scenario using the **Open a documentation issue** link at the bottom of either article. + ### Declarative model for persisting state from components and services You can now declaratively specify state to persist from components and services using the `[SupplyParameterFromPersistentComponentState]` attribute. Properties with this attribute are automatically persisted using the service during prerendering. The state is retrieved when the component renders interactively or the service is instantiated. From 2043e23fff696dc043ceda31a30eba70a5dcdafe Mon Sep 17 00:00:00 2001 From: guardrex <1622880+guardrex@users.noreply.github.com> Date: Tue, 22 Apr 2025 13:10:10 -0400 Subject: [PATCH 2/4] Updates --- .../webassembly/bundle-caching-and-integrity-check-failures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/blazor/host-and-deploy/webassembly/bundle-caching-and-integrity-check-failures.md b/aspnetcore/blazor/host-and-deploy/webassembly/bundle-caching-and-integrity-check-failures.md index 00f0ece459cd..a22db55eb483 100644 --- a/aspnetcore/blazor/host-and-deploy/webassembly/bundle-caching-and-integrity-check-failures.md +++ b/aspnetcore/blazor/host-and-deploy/webassembly/bundle-caching-and-integrity-check-failures.md @@ -20,7 +20,7 @@ When a Blazor WebAssembly app loads in the browser, the app downloads boot resou * .NET runtime and assemblies * Locale specific data -Except for Blazor's boot manifest file (`blazor.boot.json` ) prior to the release of .NET 10, WebAssembly .NET runtime and app bundle files are cached on clients. The Blazor boot configuration contains a manifest of the files that make up the app that must be downloaded along with a hash of the file's content that's used to detect whether any of the boot resources have changed. Blazor caches downloaded files using the browser [Cache](https://developer.mozilla.org/docs/Web/API/Cache) API. +Except for Blazor's boot manifest file (`blazor.boot.json` ) prior to the release of .NET 10, WebAssembly .NET runtime and app bundle files are cached on clients. The Blazor boot configuration, inlined into `dotnet.js` in .NET 10 or later, contains a manifest of the files that make up the app that must be downloaded along with a hash of the file's content that's used to detect whether any of the boot resources have changed. Blazor caches downloaded files using the browser [Cache](https://developer.mozilla.org/docs/Web/API/Cache) API. When Blazor WebAssembly downloads an app's startup files, it instructs the browser to perform integrity checks on the responses. Blazor sends SHA-256 hash values for DLL (`.dll`), WebAssembly (`.wasm`), and other files in the Blazor boot configuration, which isn't cached on clients. The file hashes of cached files are compared to the hashes in the Blazor boot configuration. For cached files with a matching hash, Blazor uses the cached files. Otherwise, files are requested from the server. After a file is downloaded, its hash is checked again for integrity validation. An error is generated by the browser if any downloaded file's integrity check fails. From d7031ea3e4a22a93e38c187e96aaac2ff56489b7 Mon Sep 17 00:00:00 2001 From: guardrex <1622880+guardrex@users.noreply.github.com> Date: Tue, 22 Apr 2025 13:13:00 -0400 Subject: [PATCH 3/4] Updates --- aspnetcore/release-notes/aspnetcore-10/includes/blazor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md b/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md index 4a3635798923..c203f3f6eedf 100644 --- a/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md +++ b/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md @@ -201,7 +201,7 @@ Blazor's boot configuration, which prior to the release of .NET 10 existed in a * Checking file integrity for published assets with the troubleshoot integrity PowerShell script per the guidance in . * Changing the file name extension of DLL files when not using the default Webcil file format per the guidance in . -Currently, there's no documented replacement strategy for the preceding approaches. Developers who require either of those strategies are encouraged to open a new documentation issue describing your use case scenario using the **Open a documentation issue** link at the bottom of either article. +Currently, there's no documented replacement strategy for the preceding approaches. Developers who require either of those strategies are encouraged to open a new documentation issue describing your scenario using the **Open a documentation issue** link at the bottom of either article. ### Declarative model for persisting state from components and services From f7b6bccb1bdf0779cd7401103cbdfe291baf16a0 Mon Sep 17 00:00:00 2001 From: Luke Latham <1622880+guardrex@users.noreply.github.com> Date: Wed, 23 Apr 2025 06:49:10 -0400 Subject: [PATCH 4/4] Updates --- aspnetcore/release-notes/aspnetcore-10/includes/blazor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md b/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md index c203f3f6eedf..17b21543dd1a 100644 --- a/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md +++ b/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md @@ -201,7 +201,7 @@ Blazor's boot configuration, which prior to the release of .NET 10 existed in a * Checking file integrity for published assets with the troubleshoot integrity PowerShell script per the guidance in . * Changing the file name extension of DLL files when not using the default Webcil file format per the guidance in . -Currently, there's no documented replacement strategy for the preceding approaches. Developers who require either of those strategies are encouraged to open a new documentation issue describing your scenario using the **Open a documentation issue** link at the bottom of either article. +Currently, there's no documented replacement strategy for the preceding approaches. If you require either of the preceding strategies, open a new documentation issue describing your scenario using the **Open a documentation issue** link at the bottom of either article. ### Declarative model for persisting state from components and services