Repository navigation
Release 1.8.3 - #1363
Merged
Merged
Release 1.8.3#1363
Conversation
…query Notify script hosts when native listeners reset
Honor cancellation of queued timer callbacks
Use beforeunload for native Unloading handlers
# Conflicts: # CHANGELOG.md
Reduce configuration service setup cost without API changes
Respect browsing context sandbox rules during form submission
Add pull-based HTML serialization stream
Jack278
pushed a commit
to twblazor/twblazor
that referenced
this pull request
Oct 7, 2026
Updated [AngleSharp](https://github.com/AngleSharp/AngleSharp) from 1.8.2 to 1.8.3. <details> <summary>Release notes</summary> _Sourced from [AngleSharp's releases](https://github.com/AngleSharp/AngleSharp/releases)._ ## 1.8.3 Released on Wednesday, September 30 2026 ## What's Changed - Improved cancellation of queued timer callbacks (#1357) @PrzemyslawKlys - Improved configuration / setup performance (#1360) @PrzemyslawKlys - Fixed form submission ignoring sandbox restrictions (#1358) @PrzemyslawKlys - Fixed `<base>` elements not following frozen document base URL and tree-order mutation rules (#1355, #1362) - Fixed native `Unloading` handlers subscribing to `unloading` instead of `beforeunload` (#1354) @PrzemyslawKlys - Added `OnReset` event to inform script hosts of native listener removals (#1356) @PrzemyslawKlys - Added pull-based HTML serialization stream (#1361) @PrzemyslawKlys - Released 1.8.3 by @FlorianRappl in AngleSharp/AngleSharp#1363 ## New Contributors * @PrzemyslawKlys made their first contribution in AngleSharp/AngleSharp#1356 **Full Changelog**: AngleSharp/AngleSharp@v1.8.2...v1.8.3 Commits viewable in [compare view](AngleSharp/AngleSharp@v1.8.2...v1.8.3). </details> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Oct 7, 2026
Closed
github-actions Bot
pushed a commit
to mpaulosky/IssueManager
that referenced
this pull request
Oct 8, 2026
Updated [AngleSharp](https://github.com/AngleSharp/AngleSharp) from 1.8.2 to 1.8.3. <details> <summary>Release notes</summary> _Sourced from [AngleSharp's releases](https://github.com/AngleSharp/AngleSharp/releases)._ ## 1.8.3 Released on Wednesday, September 30 2026 ## What's Changed - Improved cancellation of queued timer callbacks (#1357) @PrzemyslawKlys - Improved configuration / setup performance (#1360) @PrzemyslawKlys - Fixed form submission ignoring sandbox restrictions (#1358) @PrzemyslawKlys - Fixed `<base>` elements not following frozen document base URL and tree-order mutation rules (#1355, #1362) - Fixed native `Unloading` handlers subscribing to `unloading` instead of `beforeunload` (#1354) @PrzemyslawKlys - Added `OnReset` event to inform script hosts of native listener removals (#1356) @PrzemyslawKlys - Added pull-based HTML serialization stream (#1361) @PrzemyslawKlys - Released 1.8.3 by @FlorianRappl in AngleSharp/AngleSharp#1363 ## New Contributors * @PrzemyslawKlys made their first contribution in AngleSharp/AngleSharp#1356 **Full Changelog**: AngleSharp/AngleSharp@v1.8.2...v1.8.3 Commits viewable in [compare view](AngleSharp/AngleSharp@v1.8.2...v1.8.3). </details> Updated [Aspire.Hosting](https://github.com/microsoft/aspire) from 13.5.4 to 13.6.0. <details> <summary>Release notes</summary> _Sourced from [Aspire.Hosting's releases](https://github.com/microsoft/aspire/releases)._ ## 13.6.0 # Aspire 13.6.0 Aspire 13.6 brings persistent application history, a refreshed and more interactive dashboard, first-party Java and Rust hosting, and new Azure deployment options. Coordinated .NET builds, portable volume paths, sharper CLI workflows, and more capable editor tooling make it easier to build, debug, and deploy applications across languages. ## Highlights - 🗃️ **Persistent, refreshed dashboard** — SQLite-backed telemetry and resource snapshots let you revisit up to ten application runs, with read-only access to completed runs and default retention limits of 100,000 console log messages, structured logs, and traces each. The dashboard now ships as Native AOT and adopts Fluent UI v5 with a collapsible navigation rail. - 🖥️ **AppHost-owned terminals and database REPLs** — Experimental terminal APIs let AppHosts create interactive sessions in a dashboard dock, dialog, or separate window. Opt-in `WithRepl()` commands open bundled clients for PostgreSQL, MySQL, MongoDB, SQL Server, Redis, and Valkey, while `aspire terminal ps` and `aspire terminal tape play` support discovery and repeatable terminal interactions. - 🌐 **First-party Java and Rust hosting** — New `Aspire.Hosting.Java` and `Aspire.Hosting.Rust` packages bring Maven, Gradle, Spring Boot, Quarkus, and Cargo applications into the app model, with generated container builds and VS Code debugging. These integrations build on work that originated in the Aspire Community Toolkit. - 🛠️ **More flexible AppHosts** — The prerelease `Aspire.Hosting.Dotnet` integration coordinates compatible projects into shared restore and build groups and supports .NET SDK container publishing. Portable volume-path environment variables work across local execution and deployment, while TypeScript AppHosts gain standard `appsettings.json` configuration and Deno runtime support. - ⌨️ **Sharper CLI workflows** — Select launch profiles with `aspire run` and `aspire start`, update repository-local CLI manifests with `aspire update`, create file-based C# AppHosts with `aspire init --language csharp --file-based`, and export TypeScript API data with `aspire sdk export`. Terminal commands no longer need a feature flag, Linux certificate trust includes Firefox NSS databases, and `aspire stop --force --volumes` adds explicit cleanup of Aspire-owned volumes. - 💻 **More capable VS Code tooling** — Coding agents can start and stop AppHosts through the extension, and the Aspire pane exposes deploy, publish, and pipeline actions. Multi-root discovery, worktree-scoped lifecycle operations, preserved launch arguments, clearer debug logs, and missing-debugger guidance make complex workspaces more predictable. - ☁️ **New Azure options in preview** — Azure Connector Namespace models external-service connections and managed MCP server configurations. Azure Container Apps Sandboxes adds isolated sandbox deployments with configurable resource tiers and lifecycle policies, while Azure Container Apps Express offers a simplified environment option for rapid provisioning. - ☸️ **More expressive, reliable deployments** — Experimental Azure Provisioning SDK proxies let polyglot AppHosts customize infrastructure. Deployment state is isolated under `ASPIRE_HOME`, Kubernetes preserves inherited hostnames and embedded parameter values, and AKS gains persistent-volume provisioning and more reliable cleanup. - 🔌 **Expanded integrations** — Experimental Deno hosting and MongoDB replica sets join Foundry Toolboxes, remote Foundry Local endpoints, Blazor WebAssembly debugging, and configurable Dev Tunnel expiration. Azure Cosmos DB and AI Inference client integrations gain health checks, and the vNext Cosmos DB emulator sends its own telemetry to the dashboard. ##⚠️ Breaking changes Notable changes include automatic TLS for local MongoDB servers when a certificate is available, the Linux-based vNext Cosmos DB emulator becoming the default, new Azure Front Door origin names that can require cleanup of existing origins, portable connection-string environment-variable aliases on stricter deployment targets, and experimental terminal types moving from `Aspire.Hosting.Terminals` to `Aspire.Hosting.ApplicationModel`. See the full list and migration guidance in the [Aspire 13.6 breaking changes](https://aspire.dev/whats-new/aspire-13-6/#breaking-changes). ## 📖 Learn more For complete details, examples, migration guidance, and everything new in this release, read [What's new in Aspire 13.6](https://aspire.dev/whats-new/aspire-13-6/). Thank you to all the community contributors who helped make Aspire 13.6 possible! 💜 --- _Full Changelog: [v13.5.4...v13.6.0](microsoft/aspire@v13.5.4...v13.6.0)_ _Full commit: [56f3e9c0d216c0c7069dabb49dd0464e4827744f](microsoft/aspire@56f3e9c0d216c0c7069dabb49dd0464e4827744f)_ Commits viewable in [compare view](microsoft/aspire@v13.5.4...v13.6.0). </details> Updated [Aspire.Hosting.MongoDB](https://github.com/microsoft/aspire) from 13.5.4 to 13.6.0. <details> <summary>Release notes</summary> _Sourced from [Aspire.Hosting.MongoDB's releases](https://github.com/microsoft/aspire/releases)._ ## 13.6.0 # Aspire 13.6.0 Aspire 13.6 brings persistent application history, a refreshed and more interactive dashboard, first-party Java and Rust hosting, and new Azure deployment options. Coordinated .NET builds, portable volume paths, sharper CLI workflows, and more capable editor tooling make it easier to build, debug, and deploy applications across languages. ## Highlights - 🗃️ **Persistent, refreshed dashboard** — SQLite-backed telemetry and resource snapshots let you revisit up to ten application runs, with read-only access to completed runs and default retention limits of 100,000 console log messages, structured logs, and traces each. The dashboard now ships as Native AOT and adopts Fluent UI v5 with a collapsible navigation rail. - 🖥️ **AppHost-owned terminals and database REPLs** — Experimental terminal APIs let AppHosts create interactive sessions in a dashboard dock, dialog, or separate window. Opt-in `WithRepl()` commands open bundled clients for PostgreSQL, MySQL, MongoDB, SQL Server, Redis, and Valkey, while `aspire terminal ps` and `aspire terminal tape play` support discovery and repeatable terminal interactions. - 🌐 **First-party Java and Rust hosting** — New `Aspire.Hosting.Java` and `Aspire.Hosting.Rust` packages bring Maven, Gradle, Spring Boot, Quarkus, and Cargo applications into the app model, with generated container builds and VS Code debugging. These integrations build on work that originated in the Aspire Community Toolkit. - 🛠️ **More flexible AppHosts** — The prerelease `Aspire.Hosting.Dotnet` integration coordinates compatible projects into shared restore and build groups and supports .NET SDK container publishing. Portable volume-path environment variables work across local execution and deployment, while TypeScript AppHosts gain standard `appsettings.json` configuration and Deno runtime support. - ⌨️ **Sharper CLI workflows** — Select launch profiles with `aspire run` and `aspire start`, update repository-local CLI manifests with `aspire update`, create file-based C# AppHosts with `aspire init --language csharp --file-based`, and export TypeScript API data with `aspire sdk export`. Terminal commands no longer need a feature flag, Linux certificate trust includes Firefox NSS databases, and `aspire stop --force --volumes` adds explicit cleanup of Aspire-owned volumes. - 💻 **More capable VS Code tooling** — Coding agents can start and stop AppHosts through the extension, and the Aspire pane exposes deploy, publish, and pipeline actions. Multi-root discovery, worktree-scoped lifecycle operations, preserved launch arguments, clearer debug logs, and missing-debugger guidance make complex workspaces more predictable. - ☁️ **New Azure options in preview** — Azure Connector Namespace models external-service connections and managed MCP server configurations. Azure Container Apps Sandboxes adds isolated sandbox deployments with configurable resource tiers and lifecycle policies, while Azure Container Apps Express offers a simplified environment option for rapid provisioning. - ☸️ **More expressive, reliable deployments** — Experimental Azure Provisioning SDK proxies let polyglot AppHosts customize infrastructure. Deployment state is isolated under `ASPIRE_HOME`, Kubernetes preserves inherited hostnames and embedded parameter values, and AKS gains persistent-volume provisioning and more reliable cleanup. - 🔌 **Expanded integrations** — Experimental Deno hosting and MongoDB replica sets join Foundry Toolboxes, remote Foundry Local endpoints, Blazor WebAssembly debugging, and configurable Dev Tunnel expiration. Azure Cosmos DB and AI Inference client integrations gain health checks, and the vNext Cosmos DB emulator sends its own telemetry to the dashboard. ##⚠️ Breaking changes Notable changes include automatic TLS for local MongoDB servers when a certificate is available, the Linux-based vNext Cosmos DB emulator becoming the default, new Azure Front Door origin names that can require cleanup of existing origins, portable connection-string environment-variable aliases on stricter deployment targets, and experimental terminal types moving from `Aspire.Hosting.Terminals` to `Aspire.Hosting.ApplicationModel`. See the full list and migration guidance in the [Aspire 13.6 breaking changes](https://aspire.dev/whats-new/aspire-13-6/#breaking-changes). ## 📖 Learn more For complete details, examples, migration guidance, and everything new in this release, read [What's new in Aspire 13.6](https://aspire.dev/whats-new/aspire-13-6/). Thank you to all the community contributors who helped make Aspire 13.6 possible! 💜 --- _Full Changelog: [v13.5.4...v13.6.0](microsoft/aspire@v13.5.4...v13.6.0)_ _Full commit: [56f3e9c0d216c0c7069dabb49dd0464e4827744f](microsoft/aspire@56f3e9c0d216c0c7069dabb49dd0464e4827744f)_ Commits viewable in [compare view](microsoft/aspire@v13.5.4...v13.6.0). </details> Updated [Aspire.Hosting.Redis](https://github.com/microsoft/aspire) from 13.5.4 to 13.6.0. <details> <summary>Release notes</summary> _Sourced from [Aspire.Hosting.Redis's releases](https://github.com/microsoft/aspire/releases)._ ## 13.6.0 # Aspire 13.6.0 Aspire 13.6 brings persistent application history, a refreshed and more interactive dashboard, first-party Java and Rust hosting, and new Azure deployment options. Coordinated .NET builds, portable volume paths, sharper CLI workflows, and more capable editor tooling make it easier to build, debug, and deploy applications across languages. ## Highlights - 🗃️ **Persistent, refreshed dashboard** — SQLite-backed telemetry and resource snapshots let you revisit up to ten application runs, with read-only access to completed runs and default retention limits of 100,000 console log messages, structured logs, and traces each. The dashboard now ships as Native AOT and adopts Fluent UI v5 with a collapsible navigation rail. - 🖥️ **AppHost-owned terminals and database REPLs** — Experimental terminal APIs let AppHosts create interactive sessions in a dashboard dock, dialog, or separate window. Opt-in `WithRepl()` commands open bundled clients for PostgreSQL, MySQL, MongoDB, SQL Server, Redis, and Valkey, while `aspire terminal ps` and `aspire terminal tape play` support discovery and repeatable terminal interactions. - 🌐 **First-party Java and Rust hosting** — New `Aspire.Hosting.Java` and `Aspire.Hosting.Rust` packages bring Maven, Gradle, Spring Boot, Quarkus, and Cargo applications into the app model, with generated container builds and VS Code debugging. These integrations build on work that originated in the Aspire Community Toolkit. - 🛠️ **More flexible AppHosts** — The prerelease `Aspire.Hosting.Dotnet` integration coordinates compatible projects into shared restore and build groups and supports .NET SDK container publishing. Portable volume-path environment variables work across local execution and deployment, while TypeScript AppHosts gain standard `appsettings.json` configuration and Deno runtime support. - ⌨️ **Sharper CLI workflows** — Select launch profiles with `aspire run` and `aspire start`, update repository-local CLI manifests with `aspire update`, create file-based C# AppHosts with `aspire init --language csharp --file-based`, and export TypeScript API data with `aspire sdk export`. Terminal commands no longer need a feature flag, Linux certificate trust includes Firefox NSS databases, and `aspire stop --force --volumes` adds explicit cleanup of Aspire-owned volumes. - 💻 **More capable VS Code tooling** — Coding agents can start and stop AppHosts through the extension, and the Aspire pane exposes deploy, publish, and pipeline actions. Multi-root discovery, worktree-scoped lifecycle operations, preserved launch arguments, clearer debug logs, and missing-debugger guidance make complex workspaces more predictable. - ☁️ **New Azure options in preview** — Azure Connector Namespace models external-service connections and managed MCP server configurations. Azure Container Apps Sandboxes adds isolated sandbox deployments with configurable resource tiers and lifecycle policies, while Azure Container Apps Express offers a simplified environment option for rapid provisioning. - ☸️ **More expressive, reliable deployments** — Experimental Azure Provisioning SDK proxies let polyglot AppHosts customize infrastructure. Deployment state is isolated under `ASPIRE_HOME`, Kubernetes preserves inherited hostnames and embedded parameter values, and AKS gains persistent-volume provisioning and more reliable cleanup. - 🔌 **Expanded integrations** — Experimental Deno hosting and MongoDB replica sets join Foundry Toolboxes, remote Foundry Local endpoints, Blazor WebAssembly debugging, and configurable Dev Tunnel expiration. Azure Cosmos DB and AI Inference client integrations gain health checks, and the vNext Cosmos DB emulator sends its own telemetry to the dashboard. ##⚠️ Breaking changes Notable changes include automatic TLS for local MongoDB servers when a certificate is available, the Linux-based vNext Cosmos DB emulator becoming the default, new Azure Front Door origin names that can require cleanup of existing origins, portable connection-string environment-variable aliases on stricter deployment targets, and experimental terminal types moving from `Aspire.Hosting.Terminals` to `Aspire.Hosting.ApplicationModel`. See the full list and migration guidance in the [Aspire 13.6 breaking changes](https://aspire.dev/whats-new/aspire-13-6/#breaking-changes). ## 📖 Learn more For complete details, examples, migration guidance, and everything new in this release, read [What's new in Aspire 13.6](https://aspire.dev/whats-new/aspire-13-6/). Thank you to all the community contributors who helped make Aspire 13.6 possible! 💜 --- _Full Changelog: [v13.5.4...v13.6.0](microsoft/aspire@v13.5.4...v13.6.0)_ _Full commit: [56f3e9c0d216c0c7069dabb49dd0464e4827744f](microsoft/aspire@56f3e9c0d216c0c7069dabb49dd0464e4827744f)_ Commits viewable in [compare view](microsoft/aspire@v13.5.4...v13.6.0). </details> Updated [Aspire.Hosting.Testing](https://github.com/microsoft/aspire) from 13.5.4 to 13.6.0. <details> <summary>Release notes</summary> _Sourced from [Aspire.Hosting.Testing's releases](https://github.com/microsoft/aspire/releases)._ ## 13.6.0 # Aspire 13.6.0 Aspire 13.6 brings persistent application history, a refreshed and more interactive dashboard, first-party Java and Rust hosting, and new Azure deployment options. Coordinated .NET builds, portable volume paths, sharper CLI workflows, and more capable editor tooling make it easier to build, debug, and deploy applications across languages. ## Highlights - 🗃️ **Persistent, refreshed dashboard** — SQLite-backed telemetry and resource snapshots let you revisit up to ten application runs, with read-only access to completed runs and default retention limits of 100,000 console log messages, structured logs, and traces each. The dashboard now ships as Native AOT and adopts Fluent UI v5 with a collapsible navigation rail. - 🖥️ **AppHost-owned terminals and database REPLs** — Experimental terminal APIs let AppHosts create interactive sessions in a dashboard dock, dialog, or separate window. Opt-in `WithRepl()` commands open bundled clients for PostgreSQL, MySQL, MongoDB, SQL Server, Redis, and Valkey, while `aspire terminal ps` and `aspire terminal tape play` support discovery and repeatable terminal interactions. - 🌐 **First-party Java and Rust hosting** — New `Aspire.Hosting.Java` and `Aspire.Hosting.Rust` packages bring Maven, Gradle, Spring Boot, Quarkus, and Cargo applications into the app model, with generated container builds and VS Code debugging. These integrations build on work that originated in the Aspire Community Toolkit. - 🛠️ **More flexible AppHosts** — The prerelease `Aspire.Hosting.Dotnet` integration coordinates compatible projects into shared restore and build groups and supports .NET SDK container publishing. Portable volume-path environment variables work across local execution and deployment, while TypeScript AppHosts gain standard `appsettings.json` configuration and Deno runtime support. - ⌨️ **Sharper CLI workflows** — Select launch profiles with `aspire run` and `aspire start`, update repository-local CLI manifests with `aspire update`, create file-based C# AppHosts with `aspire init --language csharp --file-based`, and export TypeScript API data with `aspire sdk export`. Terminal commands no longer need a feature flag, Linux certificate trust includes Firefox NSS databases, and `aspire stop --force --volumes` adds explicit cleanup of Aspire-owned volumes. - 💻 **More capable VS Code tooling** — Coding agents can start and stop AppHosts through the extension, and the Aspire pane exposes deploy, publish, and pipeline actions. Multi-root discovery, worktree-scoped lifecycle operations, preserved launch arguments, clearer debug logs, and missing-debugger guidance make complex workspaces more predictable. - ☁️ **New Azure options in preview** — Azure Connector Namespace models external-service connections and managed MCP server configurations. Azure Container Apps Sandboxes adds isolated sandbox deployments with configurable resource tiers and lifecycle policies, while Azure Container Apps Express offers a simplified environment option for rapid provisioning. - ☸️ **More expressive, reliable deployments** — Experimental Azure Provisioning SDK proxies let polyglot AppHosts customize infrastructure. Deployment state is isolated under `ASPIRE_HOME`, Kubernetes preserves inherited hostnames and embedded parameter values, and AKS gains persistent-volume provisioning and more reliable cleanup. - 🔌 **Expanded integrations** — Experimental Deno hosting and MongoDB replica sets join Foundry Toolboxes, remote Foundry Local endpoints, Blazor WebAssembly debugging, and configurable Dev Tunnel expiration. Azure Cosmos DB and AI Inference client integrations gain health checks, and the vNext Cosmos DB emulator sends its own telemetry to the dashboard. ##⚠️ Breaking changes Notable changes include automatic TLS for local MongoDB servers when a certificate is available, the Linux-based vNext Cosmos DB emulator becoming the default, new Azure Front Door origin names that can require cleanup of existing origins, portable connection-string environment-variable aliases on stricter deployment targets, and experimental terminal types moving from `Aspire.Hosting.Terminals` to `Aspire.Hosting.ApplicationModel`. See the full list and migration guidance in the [Aspire 13.6 breaking changes](https://aspire.dev/whats-new/aspire-13-6/#breaking-changes). ## 📖 Learn more For complete details, examples, migration guidance, and everything new in this release, read [What's new in Aspire 13.6](https://aspire.dev/whats-new/aspire-13-6/). Thank you to all the community contributors who helped make Aspire 13.6 possible! 💜 --- _Full Changelog: [v13.5.4...v13.6.0](microsoft/aspire@v13.5.4...v13.6.0)_ _Full commit: [56f3e9c0d216c0c7069dabb49dd0464e4827744f](microsoft/aspire@56f3e9c0d216c0c7069dabb49dd0464e4827744f)_ Commits viewable in [compare view](microsoft/aspire@v13.5.4...v13.6.0). </details> Updated [Radzen.Blazor](https://github.com/radzenhq/radzen-blazor) from 11.5.1 to 12.0.3. <details> <summary>Release notes</summary> _Sourced from [Radzen.Blazor's releases](https://github.com/radzenhq/radzen-blazor/releases)._ ## 12.0.3 # 12.0.3 - 2026-10-01 ### Fixes - **VirtualKeyboard** fits narrow screens. Every key had a fixed minimum width, so on a phone the alphanumeric keyboard was wider than the screen and the outer keys such as `1`, `0`, `q` and `p` were cut off. The keys now shrink evenly to fit the available width in the `Bottom`, `Top`, `Auto` and `Inline` placements and keep the same width in every row, keys with longer labels stay as wide as their text, and the keyboard looks the same as before on wider screens. ## 12.0.2 # 12.0.2 - 2026-10-01 ### Improvements - **FormField** has a `FocusOnClick` parameter. With `FocusOnClick="true"` clicking the `Start` or `End` content, or the empty area inside the field border, focuses the input. Clicks on interactive `Start` or `End` content such as buttons and links are left alone, disabled fields are ignored, and an already focused input keeps focus without a blur. The parameter defaults to `false`, so existing fields behave as before (#2742). - **Chart** legend items can be templated with the new `RadzenLegend` `ItemTemplate`, which renders the content of every legend item instead of its text while keeping the marker and the click behavior. The template receives a `LegendItemContext` with the `Text`, `Data`, `Series` and `Color` of the item, and the chart measures the rendered legend and reserves the space it needs (#852). - **GoogleMap** has a `BoundsChanged` event that reports the area the map is showing. It is raised once the map is loaded and each time the map becomes idle after panning or zooming, so a drag raises one callback instead of one per frame, and `GoogleMapBoundsChangedEventArgs` provides the `NorthEast` and `SouthWest` corners of the visible area together with the `Center` and the `Zoom` level (#84). - **DataGrid** and **Gantt** `CellClick` can prevent the `RowClick` raised for the same click, for example when `CellClick` starts in-cell editing and `RowClick` opens a detail panel. `DataGridCellMouseEventArgs` now has `PreventDefault()` and `IsDefaultPrevented`: calling `PreventDefault()` in `CellClick` skips `RowClick` and the row selection for that click, and calling it in `CellDoubleClick` skips `RowDoubleClick`. An asynchronous `CellClick` handler has to call it before its first `await` (#2570). - **Spreadsheet** formulas support whole-column and whole-row references such as `A:A`, `4:4`, `$A:$B`, `Data!A:A` and `'My Sheet'!4:5`. They evaluate over the used area of the sheet, while `ROWS`, `COLUMNS`, `COUNTBLANK`, `INDEX` and implicit intersection see the full logical size, recalculate when any cell in the referenced columns or rows changes, shift only the bounded axis on copy, fill and insert, and become `#REF!` when the referenced column or row is deleted (#2743). - **DataGrid** and **Gantt** in-cell edit demos commit the pending edit when the focus leaves the grid (#2571). ### Fixes - **Spreadsheet** formulas that reference another worksheet recalculate when the referenced cell changes. The workbook now owns a single dependency graph that orders recalculation across all sheets, defers it while any sheet is batching, and shifts or invalidates cross-sheet references when rows and columns are inserted or deleted. - **Spreadsheet** renaming a worksheet rewrites every reference to it in cell formulas, defined names, chart series ranges and data validation formulas. The new name is quoted whenever it is not a plain identifier or looks like a cell or R1C1 address, and quoted sheet names that escape an apostrophe as two, such as `'Bob''s Sheet'!A1`, are read correctly. - **Spreadsheet** adding, removing or renaming a sheet refreshes only the formulas that name it instead of recalculating the whole workbook, and loading a workbook with many sheets scans its formulas once. ## 12.0.1 # 12.0.1 - 2026-10-01 ### Fixes - **ThemeService** - a `RadzenDropDown` or `RadzenListBox` bound to `Themes.All`, `Themes.Free` or `Themes.Premium` with `TextProperty="Text"` and `ValueProperty="Value"` works in a trimmed Blazor WebAssembly publish. 12.0.0 is the first trimmable release, and because the library never reads the `Theme` properties itself, the trimmer removed their getters when the application read them only by name, so the component failed with `ExpressionMustBeReadable ifTrue` in `PropertyAccess`. The `Theme` members are now preserved whenever the type is used. - **PropertyAccess** - a property without a getter is reported by name with the trimming remedy (annotate the type with `[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties)]` or preserve it in a linker descriptor) instead of the raw `ExpressionMustBeReadable` expression tree error. ## 12.0.0 # 12.0.0 - 2026-09-30 ### Breaking changes - **RadzenDatePicker** - calendar navigation defaults to the new drill-down mode: the calendar title drills up to a month grid and a year grid instead of showing month and year drop-downs. Set `NavigationMode="DatePickerNavigationMode.DropDown"` to restore the previous behavior. - **RadzenChart** - column, bar, area and waterfall series and their stacked variants include zero in the value axis by default, and line, scatter and stacked line series with all-negative values fit their data instead of ending at zero. Set `Range="ValueAxisRange.Data"` or `Range="ValueAxisRange.IncludeZero"` on `RadzenValueAxis` to restore the previous behavior. `RadzenSparkline` keeps fitting its data unless its value axis sets `Range="ValueAxisRange.IncludeZero"`. - **RadzenChart** - category labels fit by default: labels that do not fit are rotated, skipped at a regular stride and shortened with an ellipsis, and `LabelRotation` and `LabelAutoRotation` now set only the angle. Set `LabelFit="CategoryAxisLabelFit.None"` on `RadzenCategoryAxis` to restore the previous behavior. Axis labels are clipped at the chart edge instead of drawing over the page. - **RadzenChart** - value axes compute the tick step from the data range, so some axes get finer steps (set `Step` for a fixed step), and an axis that sets only `Min` or only `Max` keeps that bound exactly and rounds the other end to a tick (set both to restore the previous behavior). - **RadzenDataGrid** - enum filter values in saved settings are serialized as numbers instead of `FullName` casts. Settings saved by previous versions are still loaded. - **Trimming** - the dynamic LINQ API (`QueryableExtension` and related methods) is marked with `[RequiresUnreferencedCode]`, so applications published with trimming enabled see analyzer warnings when calling it directly. ### Improvements - **RadzenMarkdownEditor** - new Markdown editor with a WYSIWYG Design mode that edits the rendered document in place and writes it back to Markdown, a Source mode for the raw Markdown, a built-in mode switcher (`ShowModeSwitch`), tools for bold, italic, strikethrough, inline code, code blocks, headings and paragraphs (`RadzenMarkdownEditorFormatBlock`), block quotes, bullet, numbered and task lists, links, images and horizontal rules, table authoring with `RadzenMarkdownEditorTable` and `RadzenMarkdownEditorTableTools` (also as a context menu inside a table), undo and redo shared by both modes, Ctrl+B, Ctrl+I, Ctrl+K, Ctrl+Z and Ctrl+Y shortcuts, paste of HTML or plain text as Markdown, copy of the selection as Markdown, live emoji shortcodes and `RadzenMarkdownEditorCustomTool` for custom toolbar buttons. Thanks to @artnim! - **RadzenDateRangePicker** - new date range picker with a two-month calendar, min/max support and drill-down navigation. - **RadzenVirtualKeyboard** - new on-screen keyboard that attaches to inputs or renders inline, with custom layouts, numpad mode, locale support and keyboard accessibility. - **RadzenScheduler** - appointments can be grouped by resource in all views (day, week, month, multi-day, planner, timeline and year) by declaring `RadzenSchedulerResource` types and setting `GroupByResource="true"` on a view, with hierarchical grouping by multiple resource types, horizontal or vertical `GroupOrientation` and appointments that belong to several resources when the resource property is a collection. Fixes #1418. - **RadzenScheduler** - appointments can be resized by dragging their edges in the day, week and multi-day views; handle the new `AppointmentResize` event to apply the new duration. - **RadzenScheduler** - new `AllDayProperty` renders all-day appointments in a dedicated row of the week view, configured with the `ShowAllDay` and `AllDayText` properties of `RadzenWeekView`. - **RadzenGantt** - new resource view displays tasks in resource lanes with stacking, hierarchical resources via `ResourceParentIdProperty`, an unassigned tasks lane and a workload histogram, enabled with `ResourceData`, `ResourceIdProperty`, `ResourceTextProperty` and `TaskResourceIdProperty`. Fixes #2488. - **RadzenGantt** - new quarter-based Years view for multi-year projects and a rescaled Year view. Fixes #2524. - **RadzenDataGrid** - exports to Excel and CSV directly in the browser with `ExportToExcelAsync` and `ExportToCsvAsync`, without a server endpoint. Exports respect the current sort, filter, column order, visibility and format strings and can include the current page or all rows; all rows of a grid bound with `LoadData` are requested in chunks with progress through `DataGridExportOptions.Progress` and cancellation. Excel exports apply the current theme unless `UseTheme="false"`, the new `ExportValue` column parameter exports template columns without `Property`, and `ToWorkbookAsync` returns the workbook for customization with the spreadsheet API. - **RadzenDatePicker** - new `NavigationMode` property with drill-down calendar navigation: the calendar title drills up to a month grid and a year grid. - **RadzenTabs** - new `Overflow` property controls tab titles that do not fit: `TabsOverflow.Default` shrinks them, `TabsOverflow.Wrap` wraps them to additional lines, `TabsOverflow.Scroll` scrolls the tab list and `TabsOverflow.Collapse` moves them into a dropdown menu at the end of the tab list while the selected tab stays visible. Fixes #2733. - **RadzenChart** - `RadzenValueAxis.Range` (`Auto`, `Data`, `IncludeZero`) controls whether a value axis includes zero, and `RadzenCategoryAxis.LabelFit` (`Auto`, `None`) controls whether crowded category labels are rotated, skipped and shortened. Labels shortened at a word boundary drop trailing separators before the ellipsis, horizontal bar labels get a third of the chart width, and value axes are measured again once their scales are fitted so the plot is laid out with the widths of the labels it actually draws. - **RadzenChart** and **RadzenRangeNavigator** - `DateOnly`, nullable `DateOnly` and `DateTimeOffset` categories are plotted on a date axis instead of one category per row, with ticks never closer than a day and `DateOnly` values in tick labels, tooltips and `Formatter`. Fixes #2735. - **RadzenSparkline** - area and column sparklines fit their data under `ValueAxisRange.Auto` and span their full height instead of a thin band above zero. - **RadzenProfileMenuItem** - new `Action` and `Method` parameters render the item as an HTML form that posts with the antiforgery token when available, for logout and similar endpoints. The submit button looks like the other items in every theme and is submitted by clicking or by Enter and Space. - **RadzenMarkdown** - GitHub Flavored Markdown strikethrough (`~~text~~`) and task list items (`- [ ]` and `- [x]`) are parsed and rendered, exposed as the `Strikethrough` inline node and `ListItem.Checked`. The new `HtmlVisitor` in `Radzen.Documents.Markdown` renders a parsed document or a Markdown string to HTML with `HtmlVisitor.ToHtml` and blanks `javascript:`, `vbscript:` and `data:` URLs. `INodeVisitor.VisitStrikethrough` has a default implementation so existing visitors keep compiling. - **Themes** - new premium Zen theme. Themes can set the default chart gradient opacity, the Inter variable font is bundled and enabled with the `$inter` SCSS flag, and the licenses of the bundled fonts ship next to the fonts. - **Trimming** - the library is compatible with .NET trimming (`PublishTrimmed`) and trimmed Blazor WebAssembly publish. Data-bound components preserve the members they access via reflection through `DynamicallyAccessedMembers` annotations, and the shipped `LinkerConfig.xml` is replaced with conditional `DynamicDependency` roots so only the types an application actually uses are preserved. See TRIMMING.md for consumer-facing guidance. ### Fixes - **RadzenFormField** - the wrapped input no longer receives its previous value again on every re-render of the form field. The `FormFieldContext` is now cascaded as a fixed value; a non-fixed `CascadingValue` re-supplied the child's last parameter snapshot before the new render delivered the new one, so a single change arrived as old, new, old, new. Fixes #2741. - **RadzenDialog** - side dialogs refresh when the cascaded `Dialog`, its `DialogOptions` or the `SideDialogOptions` change, the same way `DialogContainer` does for regular dialogs, and the side dialog resizer is created once per open instead of once per render. Fixes #2740. - **RadzenMenu**, **RadzenPanelMenu** and **RadzenProfileMenu** - activating the `li[role=menuitem]` element directly, as assistive technologies and tools such as Vimium do, expands or collapses the submenu and follows `Path` exactly like clicking the visible label. Fixes #2737. Fixes #2738. - **RadzenAreaSeries**, **RadzenStackedAreaSeries**, **RadzenFullStackedAreaSeries** and **RadzenRangeAreaSeries** - the solid line ends flat at its first and last points, as before 11.0.0, instead of with round caps that stuck out past the filled area by half the stroke width. Regression from 11.0.0. - **RadzenSpreadsheet** - XLSX worksheet and shared strings parts are written without indentation, because Apple Numbers reads the indentation whitespace inside inline strings as part of the cell text. Thanks to @pianomanjh! - **RadzenQRCode** - `RadzenQREncoder.EncodeBytes` applied the data mask twice, so the second pass cancelled the first while the format bits still declared the mask and the matrix was undecodable. - **RadzenGravatar** - the MD5 hash of emails whose length is 56 to 63 bytes modulo 64 was computed with the wrong padding, so those avatars never resolved. Commits viewable in [compare view](radzenhq/radzen-blazor@v11.5.1...v12.0.3). </details> Updated [Scalar.AspNetCore](https://github.com/scalar/scalar) from 2.17.10 to 2.17.12. <details> <summary>Release notes</summary> _Sourced from [Scalar.AspNetCore's releases](https://github.com/scalar/scalar/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/scalar/scalar/commits). </details> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: mpaulosky <60372079+mpaulosky@users.noreply.github.com>
This was referenced Oct 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Types of Changes
Prerequisites
Please make sure you can check the following two boxes:
Contribution Type
What types of changes does your code introduce? Put an
xin all the boxes that apply:Description
This pull request introduces version 1.8.3 of AngleSharp, focusing on improved event handling, configuration performance, and compliance with DOM specifications. It also adds new tests and benchmarking for configuration services, and updates documentation and contributors.