12.0.8 - 2026-10-10
Improvements
- TileLayout gets an
AllowOverlapparameter. When it isfalsea move or resize that would place a tile over another visible tile is blocked: the tile first tries the free axis alone so a diagonal drag slides along the neighbor, otherwise it stays at its last valid cell. Tiles that already overlap when the drag starts are ignored so they can still be pulled apart. The default staystrue.
Fixes
- DataGrid keeps expanded rows consistent across
ReloadwhenKeyPropertyis set. The row toggler icon resolved the expanded state by key while the detail row andCollapseItemresolved it by object reference, so afterReloadreturned fresh objects with the same keys the icon stayed expanded, the detail disappeared and clicking the icon could not remove the stale entry. The row template now usesIsRowExpanded,CollapseItemremoves the stored key that matches byKeyProperty,Singleexpand mode compares withItemEqualsand the hierarchy view re-keys the child data to the fresh parent object so expanded children survive a reload (#2752). - AutoComplete keeps
Valuewhen it is declared beforeDatain the markup. Blazor assigns parameters in markup order and theDatasetter resets the stored value wheneverDatachanges, so aValuedeclared beforeDatawas lost on the first render and again every timeDatawas replaced. TheValueparameter is now captured before the first await and re-applied after the base call when theDatasetter has reset it (#2754). - DataGrid filtering a collection column translates to SQL again when
Datais an EF CoreIQueryable. The null guard added aroundAny/AllandIsEmpty/IsNotEmptycollection filters protects in-memory data withnullcollections, but EF Core cannot translate anullcomparison of a projected collection such asc.Orders.Select(o => o.Number).ToList()and failed the whole query with "could not be translated". The guard is now emitted only for in-memory sources, so database providers get a plainAny/Allas in 11.1.6 (#2755).