You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IKeyInterceptor / KeyInterceptor, IKeyInterceptorFactory / KeyInterceptorFactory were removed and replaced with KeyInterceptorService. More details: #9896
Removed from the core, replaced by PopoverService. The MudPopoverService was legacy, provided only for cases where you might encounter issues with PopoverService. If you encounter issues, please submit an issue.
Removed OnDialogInstanceAdded, use DialogInstanceAddedAsync instead. #9980
Converters
In Converter.cs, several property signatures have been updated to enhance localization support. These properties no longer return English messages directly. Instead, they now return keys intended for localization, accompanied by additional parameters:
OnError: Updated from Action<string>? to Action<string, object[]>?. This allows passing a key and optional parameters, enabling more flexible and accurate localization.
SetErrorMessage and GetErrorMessage: Both changed from string? to (string, object[])?. These properties now provide a key for localization along with relevant parameters, shifting message formatting to the localization system.
EventUtil
The following API has been removed:
EventUtil.AsNonRenderingEventHandler(...)
It has been replaced with:
this.AsNonRenderingEventHandler(...)
Because this is now an extension method that requires a reference to ComponentBase. The previous EventUtil.AsNonRenderingEventHandler did not propagate exceptions to ErrorBoundary (see dotnet/aspnetcore#54543). The new method ensures that exceptions are properly handled and propagated.
Class Input and the property was removed, use subtitle1. #10028
Class Button was renamed to ButtonTypography. #9962
Class Caption was renamed to CaptionTypography. #9962
Class Overline was renamed to OverlineTypography. #9962
In Typography the FontWeight and LineHeight are now an string type instead of int. #9011
DropZone
MudDropContainer: Removed GetTransactionOrignZoneIdentiifer, replace with GetTransactionOriginZoneIdentifier. #9981
MudDropContainer: Removed GetTransactionOrignZoneIdentifier, replace with GetTransactionOriginZoneIdentifier. #9981
MudDropContainer: Removed GetTransactionCurrentZoneIdentiifer, replace with GetTransactionCurrentZoneIdentifier. #9981
MudDropContainer: Removed IsOrign, replace with IsOrigin. #9981
Inputs
Typo.input was removed. Use Typo.subtitle1 instead. #10028
Accordingly all input typo CSS was removed. Use --mud-typography-subtitle1 instead. #10028
Note: This changes the order of the Typo enum to where it was before v7. #10028
MudInputAdornment.Edge was replaced with MudInputAdornment.Placement. #10057
Popover menus now originate from under the field by default. #10071
Autocomplete
No longer wraps around to the top item when using arrow keys in order to align with similar components. #10161
The public ScrollToListItemAsync method was removed. #10161
When Immediate is enabled, the value is now coerced immediately. #10138
MudColor
Renamed HslChanged to HslEquals, and the result is now not reverted. #10355
Equals now checks both RGBA and HSL values. Previously, it only checked RGBA. #10355
MudMenu
Menus can now be directly nested without additional setup. Nested menus inside another MudMenu will now be rendered as a MudMenuItem instead of MudButton. #10452, #10469
The popover now originates from under the activator by default. #10071
IconSize was removed in order to align with Material Design. #10478#10542
MudChip
The MudChip now renders a semantic anchor tag in place if the div if an href is specified. It can now be a true anchor and so no longer acts like a button. The browser now handles the click (and Enter key) so OnClick is disabled and the close button is no longer shown (if applicable). This improves accessibility, including allowing the user to hover it to see the link it will direct them to, middle click to open in a new tab, or drag to another place.
MudTable: EditButtonContext namespace changed from MudBlazorFix to MudBlazor. #9952
MudCollapse: Reworked to use a grid instead of JavaScript for height calculation. Animation is now a static 300 ms. #10056
MudSelectItem: Ripple, Href, ForceLoad, and OnClick parameters removed. They were never implemented. #10045
MudBaseSelectItem: Removed base class. Copy-paste its code if you inherited this class. #10045
MudFormComponent: Dispose(bool disposing) replaced with protected virtual ValueTask DisposeAsyncCore(). This affects all components inheriting this base class. #10037
ResizeObserver: Now internal and doesn't implement IDisposable. Inject IResizeObserver / IResizeObserverFactory via DI to use its API. #10055
EventListener: Now internal and doesn't implement IDisposable. Inject IEventListener / IEventListenerFactory via DI to use its API. #10051
JsApiService: Now internal. Inject IJsApiService via DI to use its API. #9994
JsEvent: Now internal and doesn't implement IDisposable. Inject IJsEvent / IJsEventFactory via DI to use its API. #9996#10061
ScrollListener: Now internal. Inject IScrollListener / IScrollListenerFactory via DI to use its API. #10048
ScrollSpy: Now internal. Inject IScrollSpy / IScrollSpyFactory via DI to use its API. #10048
ScrollManager: Now internal. Inject IScrollManager via DI to use its API. #10048
ScrollManagerException: Removed, not used in the core. #10048
ScrollOptions: Removed, not used in the core. #10048
Renamed IIJSRuntimeExtentions to IJSRuntimeExtensions. #9997
Renamed SortingAssistent to SortingAssistant. #9952
Removed EnableIllegalRazorParameterDetection from MudGlobal. #9580
MudCheckBox: Renamed HandleKeyDown to HandleKeyDownAsync. #9921
MudNumericField: Renamed HandleKeydown to HandleKeyDownAsync, HandleKeyUp to HandleKeyUpAsync, OnMouseWheel to OnMouseWheelAsync. #9921
MudSwitch: Renamed HandleKeyDown to HandleKeyDownAsync. #9921
MudFileUpload: Now generates a new input with every file change to retain references to previous files. It is no longer possible to supply your own id to the underlying input. More details: #9600
MudRadio, MudCheckBox, MudSwitch: LabelPosition and Placement replaced by LabelPlacement of type Placement (enum). Checked property replaced by T Value. #9472
MudSwitch: SwitchLabelClassname was renamed to LabelClassName. #9472
MudDrawer: The variant Temporary / Persistent has been changed to behave non-responsively, meaning solely controlled by the Open parameter. #10095
MudBreadcrumbs: BreadcrumbItem is now a record and any class that inherits from it must be updated to a record as well. #10116
MudBreadcrumbs: The ul element is now an ol wrapped in a nav in order to improve accessibility semantics. #10115
MudToggleItem: The span containing the checkmark icon was removed and the icon is now a direct child of mud-button-label. Checkmark classes that were on the span have been moved to the icon as well.
MudSelect: The dropdown is now opened on pointerdown instead of click to match the behavior of similar components. #10129
MudListItem: Parameter Gutters was made nullable. #10199
MudNumericField: Changed default InputMode to InputMode.decimal. #9923
MudPopover: RelativeWidth is now nullable bool?. #10238
MudSwipeArea: Now uses onpointer* instead of ontouch*. Now supports swipes with mouse as well. #9445
SnackbarOptions: The delegate invoked on Snackbar click has been renamed from Onclick to OnClick. #8589
MudSelect: Changed the visibility of _currentIcon from public to internal. #10451
MudOverlay: Moved to SectionOutlet with MudPopoverProvider in all cases except dialogs, absolute positioned overlays, and overlays with child content. Should have minimal impact unless you have previously used a workaround for overlay positioning. Unit tests now always need a popover provider if they want to interact/check if the mud-overlay exists,
i.e. var providerComp = Context.RenderComponent<MudPopoverProvider>();#10446
MudOverlay: Now positioned statically and re positioned for nested popovers. to avoid this behavior set Absolute="true". #10446
MudToggleGroup: Removed Rounded in favor of our CSS utility classes, i.e. rounded-pill. #10533
Previous migration guide: v7.0.0 Migration Guide.
.NET 7 is no longer supported
For .NET 7 support, stay on the latest v7.x.x version. For bug fixes in v7, please PR and we'll release updates.
More details: #9511
Dialog
Caution
Change
MudDialogInstancetoIMudDialogInstance.DialogOptionsis now an immutable record. UseSetOptionsAsyncandwithto modifyDialogOptions:More details: #10066
KeyInterceptor
IKeyInterceptor/KeyInterceptor,IKeyInterceptorFactory/KeyInterceptorFactorywere removed and replaced withKeyInterceptorService. More details: #9896KeyOptionsis now immutable. More details: #9969MudPopoverService
Removed from the core, replaced by
PopoverService. TheMudPopoverServicewas legacy, provided only for cases where you might encounter issues withPopoverService. If you encounter issues, please submit an issue.More details: #9957
DialogService
OnDialogInstanceAdded, useDialogInstanceAddedAsyncinstead. #9980Converters
In Converter.cs, several property signatures have been updated to enhance localization support. These properties no longer return English messages directly. Instead, they now return keys intended for localization, accompanied by additional parameters:
Action<string>?toAction<string, object[]>?. This allows passing a key and optional parameters, enabling more flexible and accurate localization.string?to(string, object[])?. These properties now provide a key for localization along with relevant parameters, shifting message formatting to the localization system.EventUtil
The following API has been removed:
It has been replaced with:
Because this is now an extension method that requires a reference to
ComponentBase. The previousEventUtil.AsNonRenderingEventHandlerdid not propagate exceptions toErrorBoundary(see dotnet/aspnetcore#54543). The new method ensures that exceptions are properly handled and propagated.More details: #9967
Charts
TimeSeriesDiplayTypewas renamed toTimeSeriesDisplayType.EndSlopeSpline,ILineInterpolator,Matrix,MatrixSolver,NaturalSpline,PeriodicSpline,SplineInterpolator,SvgCircle,SvgPath,SvgTextare now internal.TimeSeriesChartSeries,TimeSeriesDisplayTypemoved toMudBlazornamespace for consistency.More details: #9919
DataGrid
CellActions:
The following properties are now "required":
Column:
Action ColumnStateHasChangedMudDataGrid:
_classnamerenamed toClassname_stylerenamed toStylename_tableStylerenamed toTableStyle_tableClassrenamed toTableClass_headClassnamerenamed toHeadClassname_footClassnamerenamed toFootClassname_headerFooterStylerenamed toHeaderFooterStyleCancelledEditingItem, replace withCanceledEditingItem. #9982More details: #10149
MudTheme
BaseTypographyis now an abstract class! If you usednew BaseTypography()please replace it with corresponding implementation. #9434Defaultwas renamed toDefaultTypographyto a allow source generation STJ usage. #9434H1was renamed toH1Typography. #9962H2was renamed toH2Typography. #9962H3was renamed toH3Typography. #9962H4was renamed toH4Typography. #9962H5was renamed toH5Typography. #9962H6was renamed toH6Typography. #9962Subtitle1was renamed toSubtitle1Typography. #9962Subtitle2was renamed toSubtitle2Typography. #9962Body1was renamed toBody1Typography. #9962Body2was renamed toBody2Typography. #9962Inputand the property was removed, use subtitle1. #10028Buttonwas renamed toButtonTypography. #9962Captionwas renamed toCaptionTypography. #9962Overlinewas renamed toOverlineTypography. #9962TypographytheFontWeightandLineHeightare now anstringtype instead ofint. #9011DropZone
GetTransactionOrignZoneIdentiifer, replace withGetTransactionOriginZoneIdentifier. #9981GetTransactionOrignZoneIdentifier, replace withGetTransactionOriginZoneIdentifier. #9981GetTransactionCurrentZoneIdentiifer, replace withGetTransactionCurrentZoneIdentifier. #9981IsOrign, replace withIsOrigin. #9981Inputs
Typo.inputwas removed. UseTypo.subtitle1instead. #10028inputtypo CSS was removed. Use--mud-typography-subtitle1instead. #10028Typoenum to where it was before v7. #10028MudInputAdornment.Edgewas replaced withMudInputAdornment.Placement. #10057Autocomplete
ScrollToListItemAsyncmethod was removed. #10161Immediateis enabled, the value is now coerced immediately. #10138MudColor
HslChangedtoHslEquals, and the result is now not reverted. #10355Equalsnow checks bothRGBAandHSLvalues. Previously, it only checkedRGBA. #10355MudMenu
IconSizewas removed in order to align with Material Design. #10478 #10542MudChip
The MudChip now renders a semantic anchor tag in place if the div if an href is specified. It can now be a true anchor and so no longer acts like a button. The browser now handles the click (and Enter key) so OnClick is disabled and the close button is no longer shown (if applicable). This improves accessibility, including allowing the user to hover it to see the link it will direct them to, middle click to open in a new tab, or drag to another place.
Localization
In
DefaultLocalizationInterceptorwe removed:use instead:
Note: Legacy keys were removed:
More details: #10001
Other Changes
EditButtonContextnamespace changed fromMudBlazorFixtoMudBlazor. #9952Ripple,Href,ForceLoad, andOnClickparameters removed. They were never implemented. #10045Dispose(bool disposing)replaced withprotected virtual ValueTask DisposeAsyncCore(). This affects all components inheriting this base class. #10037IDisposable. InjectIResizeObserver/IResizeObserverFactoryvia DI to use its API. #10055IDisposable. InjectIEventListener/IEventListenerFactoryvia DI to use its API. #10051IJsApiServicevia DI to use its API. #9994IDisposable. InjectIJsEvent/IJsEventFactoryvia DI to use its API. #9996 #10061IScrollListener/IScrollListenerFactoryvia DI to use its API. #10048IScrollSpy/IScrollSpyFactoryvia DI to use its API. #10048IScrollManagervia DI to use its API. #10048IIJSRuntimeExtentionstoIJSRuntimeExtensions. #9997SortingAssistenttoSortingAssistant. #9952EnableIllegalRazorParameterDetectionfromMudGlobal. #9580HandleKeyDowntoHandleKeyDownAsync. #9921HandleKeydowntoHandleKeyDownAsync,HandleKeyUptoHandleKeyUpAsync,OnMouseWheeltoOnMouseWheelAsync. #9921HandleKeyDowntoHandleKeyDownAsync. #9921inputwith every file change to retain references to previous files. It is no longer possible to supply your ownidto the underlyinginput. More details: #9600LabelPositionandPlacementreplaced byLabelPlacementof typePlacement(enum).Checkedproperty replaced byT Value. #9472SwitchLabelClassnamewas renamed toLabelClassName. #9472Temporary/Persistenthas been changed to behave non-responsively, meaning solely controlled by theOpenparameter. #10095ulelement is now anolwrapped in anavin order to improve accessibility semantics. #10115pointerdowninstead ofclickto match the behavior of similar components. #10129Gutterswas made nullable. #10199InputModetoInputMode.decimal. #9923RelativeWidthis now nullablebool?. #10238onpointer*instead ofontouch*. Now supports swipes with mouse as well. #9445OnclicktoOnClick. #8589_currentIconfrom public to internal. #10451MudPopoverProviderin all cases except dialogs, absolute positioned overlays, and overlays with child content. Should have minimal impact unless you have previously used a workaround for overlay positioning. Unit tests now always need a popover provider if they want to interact/check if the mud-overlay exists,i.e.
var providerComp = Context.RenderComponent<MudPopoverProvider>();#10446Absolute="true". #10446Roundedin favor of our CSS utility classes, i.e.rounded-pill. #10533