Overview

While the team keeps pushing forward on the upcoming v5 release, a new maintenance update for the v4 branch is now available: Fluent UI Blazor v4.14.1. This release focuses on stability, accessibility, and a few targeted improvements across the most popular components — especially the DataGrid and NavGroup.

For this 4.14.1 release, the highlights include:

  • DataGrid improvements: new OnSortChanged event, initial load performance, and a fix for SelectedItems with pagination/virtualization
  • NavGroup fixes for disabled state, font opacity, and CustomColor propagation to icons
  • Popover keyboard accessibility: tabbing inside open anchored regions is now supported
  • A .NET 11 compatibility fix: custom events are renamed with a fluent prefix (e.g. fluentdateselected)
  • Updated Fluent UI System Icons to version 1.1.324
  • Several documentation and dependency updates

For the complete overview of all changes, visit the What’s New page on the documentation site.

DataGrid enhancements

The FluentDataGrid continues to get a lot of love. Three notable changes in 4.14.1:

New OnSortChanged event

You can now react to sort changes at the grid level, without having to wire up handlers on individual columns.

<FluentDataGrid Items="@items" OnSortChanged="@HandleSortChanged">
    <PropertyColumn Property="@(i => i.Name)" Sortable="true" />
    <PropertyColumn Property="@(i => i.CreatedOn)" Sortable="true" />
</FluentDataGrid>

@code
{
    private void HandleSortChanged(GridSort<MyItem>? sort)
    {
        // Persist, log, or re-query based on the new sort.
    }
}

Fix for SelectedItems with pagination and virtualization

Previously, switching pages (or scrolling through virtualized rows) could silently unselect items that were no longer in the visible viewport. This is now fixed — selections persist across pages and virtual windows.

Faster initial load

Internal rendering work has been reduced, making the first render of large grids noticeably quicker.

The FluentNavGroup component received multiple targeted fixes:

  • The disabled state is now correctly applied for top-level FluentNavGroup instances.
  • Disabled items now use font opacity instead of a hard-coded color, which plays much nicer with custom themes.
  • The CustomColor parameter is now passed down to the icon, so your custom-colored groups finally look consistent.

Popover keyboard accessibility

The FluentPopover (and components built on top of it) now allows tabbing inside open anchored regions, with proper keyboard-accessible navigation. This is an important accessibility win for apps that rely on popovers for menus, filters, or quick actions.

.NET 11 compatibility: renamed custom events

To resolve an exception on .NET 11, a few internal custom events were renamed to use a fluent prefix and avoid collisions with built-in browser events. The most visible one:

  • dateselectedfluentdateselected

This only affects code that subscribes to these low-level custom events directly — most applications using the standard FluentDatePicker bindings and callbacks are not impacted.

Other notable changes

  • AppBarOnClick now properly closes the popover.
  • MessageBar — Fixed a NullReferenceException in MessageService.
  • SplashScreen — Synchronous methods are now marked [Obsolete]; use the async variants.
  • TabsHandleOnTabChange is now called when a tab is changed through the overflow menu.
  • Templates — Fixed a 404 issue in the WebAssembly project template.
  • Reboot — Added accent-color to reboot.css for better native control theming.
  • iOS — Fixed an “Illegal constructor” error on older iOS devices.
  • Docs — Updated keycode docs, added a note about render mode and required interactivity, and fixed an incorrect icon in the search navigation.

Icons

This release ships with Fluent UI System Icons 1.1.324. See the commit history for the full list of newly added and updated glyphs.

Upgrading

Upgrading is as simple as bumping the package reference:

<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components" Version="4.14.1" />

No breaking changes in 4.14.1 — it is a drop-in replacement for 4.14.0.

What’s next?

The main focus of the team remains Fluent UI Blazor v5, with RC2 already available and a GA release on the horizon. In the meantime, v4.14.1 keeps the v4 line healthy for production apps that are not ready to migrate yet.

A big thank you once again to everyone who reported issues, submitted PRs, and helped test this release!