Track and review changes to Radzen Blazor Components v12
NavigationMode="DatePickerNavigationMode.DropDown" to restore the previous behavior.FullName casts. Settings saved by previous versions are still loaded.QueryableExtension and related methods) is now marked with [RequiresUnreferencedCode]. Applications published with trimming enabled will see analyzer warnings when calling it directly.Range="ValueAxisRange.Data" on RadzenValueAxis to restore the previous behavior. RadzenSparkline keeps fitting its data unless its value axis sets Range="ValueAxisRange.IncludeZero". Line, scatter and stacked line series with all-negative values now fit their data instead of ending at zero. Set Range="ValueAxisRange.IncludeZero" to restore the previous behavior.LabelRotation and LabelAutoRotation now set only the angle of the rotated labels. Set LabelFit="CategoryAxisLabelFit.None" on RadzenCategoryAxis to restore the previous behavior. Axis labels are clipped at the chart edge.Step to use a fixed step.Min or only Max now rounds its other end to a tick. Set both Min and Max to restore the previous behavior.RadzenSchedulerResource - declares a resource type (rooms, people, equipment) of RadzenScheduler for grouping appointments by resource.Mode property - MarkdownEditorMode.Design (default) edits the rendered document in place and writes it back to Markdown after every edit; MarkdownEditorMode.Source edits the raw Markdown in a textarea. The built-in mode switcher toggles between them and the Markdown text is the Value in both modes.RadzenMarkdownEditorFormatBlock), block quotes, bullet, numbered and task lists, links, images and horizontal rules. Place tools inside the editor to compose a custom toolbar or leave it empty for the default one.RadzenMarkdownEditorTable and RadzenMarkdownEditorTableTools - insert a table, insert or delete rows and columns and align columns. The same commands open as a context menu on right click inside a table cell.:smile: are replaced while typing in Design mode.RadzenMarkdownEditorCustomTool adds custom toolbar buttons that raise the Execute event or render arbitrary content through its Template. Immediate and the Input event report changes on every keystroke.~~text~~) and task list items (- [ ] and - [x]) are parsed and rendered. The parser exposes them as the Strikethrough inline node and ListItem.Checked.HtmlVisitor in Radzen.Documents.Markdown renders a parsed document or a Markdown string to an HTML string with HtmlVisitor.ToHtml. Links and images with javascript:, vbscript: and data: URLs are blanked.INodeVisitor.VisitStrikethrough has a default implementation so existing visitor implementations keep compiling.RadzenSchedulerResource types and setting GroupByResource="true" on a view. Supports hierarchical grouping by multiple resource types and horizontal or vertical orientation via GroupOrientation.AppointmentResize event to apply the new duration.AllDayProperty renders all-day appointments in a dedicated row of the week view. Configure it with the ShowAllDay and AllDayText properties of RadzenWeekView.ResourceParentIdProperty, an unassigned tasks lane and a workload histogram. Enabled with ResourceData, ResourceIdProperty, ResourceTextProperty and TaskResourceIdProperty.ExportToExcelAsync and ExportToCsvAsync - no server endpoint required. Exports respect the current sort, filter, column order, visibility and format strings, and can include the current page or all rows.LoadData requests the data in chunks, reports progress through DataGridExportOptions.Progress, supports cancellation and restores the visible page when done.UseTheme="false" to export plain cells.ExportValue column parameter exports template columns that have no Property. ToWorkbookAsync returns the workbook before it is saved for further customization with the spreadsheet API.NavigationMode property with drill-down calendar navigation - the calendar title drills up to a month grid and a year grid. Drill-down is the default; DatePickerNavigationMode.DropDown restores the month and year drop-downs.PublishTrimmed) and Blazor WebAssembly trimmed publish. Data-bound components preserve the members they access via reflection through DynamicallyAccessedMembers annotations. See TRIMMING.md for consumer-facing guidance.LinkerConfig.xml has been replaced with conditional DynamicDependency roots, so only the types an application actually uses are preserved.Track and review changes to Radzen Blazor Components v11
Radzen.Blazor.Markdown to Radzen.Documents.Markdown. Update using directives accordingly.CategoryProperty in chart series will no longer fall back to the row index.Radzen.Blazor.Rendering.Popup component has been promoted to the public RadzenPopup component in the Radzen.Blazor namespace. Replace <Popup> with <RadzenPopup> and remove the @using Radzen.Blazor.Rendering directive.Workbook.SaveToStreamAsync appends rows from an IAsyncEnumerable below the workbook's last row as it saves, so exporting large data sets does not hold the rows in memory.SeriesColorRange palette.RadiusProperty and ExplodeOffset properties.TextStyle property to RadzenLabel.Track and review changes to Radzen Blazor Components v10
<a> element instead of a <button>. Update CSS selectors that target .rz-toc-link as a button.aria-selected instead of aria-current="location"..rz-slot-title). Update custom CSS that targets the old .rz-event-list-btn positioning.Track and review changes to Radzen Blazor Components v9
aria-* attributes and localizable labels were added, and the new rz-hidden-accessible helper class is used). Update custom DOM or CSS selectors if they target old tags.Track and review changes to Radzen Blazor Components v8
ChatMessage shared between RadzenChat, RadzenAIChat and AIChatServicePosition="SidebarPosition.Start" to position the SideBar to Left, Right, Start, EndFullHeight for setting the Sidebar to full height or wrapped between RadzenHeader and RadzenFooter. Default is false.Old:
<RadzenLayout Style="grid-template-columns: 1fr auto; grid-template-areas: 'rz-header rz-header' 'rz-body rz-sidebar'">
<RadzenSidebar>
</RadzenSidebar>
</RadzenLayout>
New:
<RadzenLayout>
<RadzenSidebar Position="SidebarPosition.End" >
</RadzenSidebar>
</RadzenLayout>
Track and review changes to Radzen Blazor Components v7
Breaking Starting from Radzen Blazor v7.0.0 we have dropped the dependency on Roslyn (Microsoft.CodeAnalysis.*) packages. Expression parsing now relies on a home-grown implementation. Some expressions may no longer work.
Breaking Added animations to Popup, Dialog, SideDialog, DropDown, DropDownDataGrid, Notification, Tooltip, Tree, Panel, Fieldest, PanelMenu, Menu, ContextMenu, SplitButton and Accordion. Some of the components used inline style to hide certain content which makes it impossible to animate. We have updated those components to use CSS class based hiding. As a result theme CSS files need to be updated. The free themes should work out of the box as long as they are not cached by the browser (RadzenTheme takes care of cache busting). Premium themes should be updated from Radzen Blazor Studio and Radzen Blazor for Visual Studio. The latest versions of both products would display a warning that the premium theme is outdated and update it automatically without losing any customizations.
Breaking RadzenAccordion now hides its child content using CSS class in order to support animations. The older behavior was to remove the child content entirely.
Breaking We have redone rendering implementation of the month view in RadzenScheduler. The old implementation didn't handle some cases and relied on odd sorting rules. The new implementation is much more robust and should handle a lot more scenarios. The Breaking change is that appointments may not appear in the same order as before.
Track and review changes to Radzen Blazor Components v6
Breaking Starting from Radzen Blazor v6.0.0 we have dropped the dependency on the System.Linq.Dynamic.Core NuGet package. We are now using a home-grown solution based on Roslyn (the C# compiler API). More information can be found in the forum.
MarkupString support
linkLink to this sectionBreaking
Starting from v6.4.0 Radzen.Blazor no longer accepts HTML content in certain string properties - like Text, Icon, PagingSummaryFormat, etc.
We have introduced RenderFragment based properties where needed.
This change is made to improve the security of our components and to prevent certain XSS attacks.
Old:
PagingSummaryFormat="Displaying page {0} of {1} <b>(total {2} records)</b>
New:
<PagingSummaryTemplate>
Displaying page @context.CurrentPage of @context.NumberOfPages <b>(total @context.TotalCount records)</b>
</PagingSummaryTemplate>
Track and review changes to Radzen Blazor Components v5.
box-sizing: border-box;.RadzenAppearanceToggle - A toggle button to quickly switch between light and dark themes.RadzenTheme - Use it to load themes to your app.direction: ltr; rule from .rzi CSS class.--rz-grid-header-filter-icon-margin is now --rz-grid-header-filter-icon-margin-inline--rz-grid-header-title-padding is now --rz-grid-header-title-padding-inline--rz-column-drag-handle-margin is now --rz-column-drag-handle-margin-inline--rz-grid-filter-icon-margin is now --rz-grid-filter-icon-margin-inline--rz-grid-group-header-item-padding is now --rz-grid-group-header-item-padding-block--rz-grid-group-header-item-title-margin-inline--rz-grid-group-header-item-padding-inline--rz-grid-group-header-gap--rz-grid-group-header-item-color--rz-grid-group-header-item-margin--rz-grid-group-header-items-margin--rz-datalist-item-vertical-margin is now --rz-datalist-item-margin-block--rz-datalist-item-horizontal-margin is now --rz-datalist-item-margin-inline--rz-datafilter-item-padding-y is now --rz-datafilter-item-padding-block--rz-datafilter-item-padding-left is now --rz-datafilter-item-padding-inline-start.rz-paginator-* are renamed to .rz-pager-*--rz-paginator-* are renamed to --rz-pager-*--rz-pager-gap--rz-paginator-first-button-margin--rz-paginator-last-button-margin--rz-paginator-dropdown-margin--rz-paginator-numeric-button-margin--rz-paginator-back-button-hover-color--rz-paginator-back-button-hover-background-color--rz-paginator-next-button-hover-color--rz-paginator-next-button-hover-background-color--rz-scheduler-prev-next-button-padding is now --rz-scheduler-prev-next-button-padding-block and --rz-scheduler-prev-next-button-padding-inline--rz-scheduler-today-button-margin-left is now --rz-scheduler-today-button-margin-inline-start--rz-scheduler-event-padding is now --rz-scheduler-event-padding-block and --rz-scheduler-event-padding-inline--rz-scheduler-prev-button-border-radius is now split into:
--rz-scheduler-prev-button-border-start-start-radius--rz-scheduler-prev-button-border-start-end-radius--rz-scheduler-prev-button-border-end-start-radius--rz-scheduler-prev-button-border-end-end-radius--rz-scheduler-next-button-border-radius is now split into:
--rz-scheduler-next-button-border-start-start-radius--rz-scheduler-next-button-border-start-end-radius--rz-scheduler-next-button-border-end-start-radius--rz-scheduler-next-button-border-end-end-radius--rz-scheduler-highlight-background-color - Use it to highlight working hours in day view, or today in calendar view.--rz-tree-node-padding is now --rz-tree-node-padding-block and --rz-tree-node-padding-inline--rz-tree-node-margin is now --rz-tree-node-margin-block and --rz-tree-node-margin-inlinevertical-align: middle; to all images and SVGs inside a Radzen Blazor Component<body> are applied only when <RadzenLayout> is used.--rz-dialog-title-padding is now --rz-dialog-title-padding-block and --rz-dialog-title-padding-inline--rz-sidebar-border-right is now --rz-sidebar-border-inline-endfont-family: var(--rz-icon-font-family) instead of hardcoded icon font.--rz-accordion-item-padding is now --rz-accordion-item-padding-block and --rz-accordion-item-padding-inline--rz-accordion-icon-margin is now --rz-accordion-icon-margin-inline--rz-accordion-toggle-icon-margin is now --rz-accordion-toggle-icon-margin-inline--rz-accordion-content-padding is now --rz-accordion-content-padding-block and --rz-accordion-content-padding-inline--rz-accordion-toggle-icon-collapsed-rtl--rz-accordion-toggle-icon-expanded-rtl--rz-context-menu-padding is now --rz-context-menu-padding-block and --rz-context-menu-padding-inline--rz-login-register-padding is now --rz-login-register-padding-block and --rz-login-register-padding-inline--rz-login-register-margin is now --rz-login-register-margin-block and --rz-login-register-margin-inline--rz-login-register-button-margin is now --rz-login-register-button-margin-block and --rz-login-register-button-margin-inline--rz-menu-item-icon-margin is now --rz-menu-item-icon-margin-inline--rz-menu-item-padding is now --rz-menu-item-padding-block and --rz-menu-item-padding-inline--rz-menu-top-item-padding is now --rz-menu-top-item-padding-block and --rz-menu-top-item-padding-inline--rz-panel-menu-color is now --rz-panel-menu-item-color--rz-panel-menu-background-color is now --rz-panel-menu-item-background-color--rz-panel-menu-hover-color is now --rz-panel-menu-item-hover-color--rz-panel-menu-hover-background-color is now --rz-panel-menu-item-hover-background-color--rz-panel-menu-padding is now --rz-panel-menu-padding-block and --rz-panel-menu-padding-inline--rz-panel-menu-item-padding is now --rz-panel-menu-item-padding-block and --rz-panel-menu-item-padding-inline--rz-panel-menu-item-2nd-level-padding is now --rz-panel-menu-item-2nd-level-padding-block and --rz-panel-menu-item-2nd-level-padding-inline--rz-panel-menu-item-margin is now --rz-panel-menu-item-margin-block and --rz-panel-menu-item-margin-inline--rz-panel-menu-item-2nd-level-margin is now --rz-panel-menu-item-2nd-level-margin-block and --rz-panel-menu-item-2nd-level-margin-inline--rz-panel-menu-icon-margin is now --rz-panel-menu-icon-margin-inline--rz-panel-menu-icon-2nd-level-margin is now --rz-panel-menu-icon-2nd-level-margin-inline--rz-panel-menu-item-3rd-level-color--rz-panel-menu-item-3rd-level-background-color--rz-profile-menu-item-icon-margin is now --rz-profile-menu-item-icon-margin-inline--rz-profile-menu-padding is now --rz-profile-menu-padding-block and --rz-profile-menu-padding-inline--rz-steps-number-padding is now --rz-steps-number-padding-block and --rz-steps-number-padding-inline<i class="rzi">navigate_next</i> and <i class="rzi">navigate_before</i> the component now renders <span class="rzi"></span>--rz-tabs-icon-margin is now --rz-tabs-icon-margin-inline--rz-tabs-tab-padding is now --rz-tabs-tab-padding-block and --rz-tabs-tab-padding-inline<span class="rz-tabview-left-icon rzi" ... to <span class="rzi rz-tabview-icon" ....$button-styles SCSS map and use $severity-styles-map and $base-styles-map to generate CSS for Button styles.--rz-checkbox-margin is now --rz-checkbox-margin-block and --rz-checkbox-margin-inline--rz-checkbox-label-margin is now --rz-checkbox-label-margin-block and --rz-checkbox-label-margin-inline--rz-colorpicker-item-margin is now --rz-colorpicker-items-gap--rz-datepicker-header-padding is now --rz-datepicker-header-padding-block and --rz-datepicker-header-padding-inline--rz-datepicker-calendar-padding is now --rz-datepicker-calendar-item-padding--rz-timepicker-padding is now --rz-timepicker-padding-block and --rz-timepicker-padding-inline--rz-datepicker-calendar-padding-block--rz-datepicker-calendar-padding-inline--rz-datepicker-popup-width--rz-datepicker-month-dropdown-width--rz-datepicker-year-dropdown-width--rz-datepicker-prev-next-icon-size--rz-datepicker-prev-next-button-border-radius--rz-datepicker-header-line-height--rz-dropdown-trigger-icon-margin is now --rz-dropdown-trigger-icon-margin-block and --rz-dropdown-trigger-icon-margin-inline--rz-dropdown-label-padding is now --rz-dropdown-label-padding-block and --rz-dropdown-label-padding-inline--rz-multiselect-checkbox-margin is now --rz-multiselect-checkbox-margin-block and --rz-multiselect-checkbox-margin-inline--rz-dropdown-chips-padding is now --rz-dropdown-chips-padding-block and --rz-dropdown-chips-padding-inline--rz-lookup-search-margin-bottom--rz-lookup-search-gap--rz-fieldset-legend-margin is now --rz-fieldset-legend-margin-block and --rz-fieldset-legend-margin-inline--rz-fieldset-legend-padding is now --rz-fieldset-legend-padding-block and --rz-fieldset-legend-padding-inline--rz-fieldset-toggle-margin is now --rz-fieldset-toggle-margin-block and --rz-fieldset-toggle-margin-inline--rz-form-field-filled-padding is now --rz-form-field-filled-padding-block and --rz-form-field-filled-padding-inline--rz-form-field-start-end-padding is now --rz-form-field-start-end-padding-block and --rz-form-field-start-end-padding-inline--rz-form-field-margin is now --rz-form-field-margin-block and --rz-form-field-margin-inline--rz-form-field-filled-numeric-padding is now --rz-form-field-filled-numeric-padding-block and --rz-form-field-filled-numeric-padding-inline--rz-form-field-label-left is now --rz-form-field-label-inset-inline-startformat_underline to format_underlined--rz-listbox-checkbox-margin is now --rz-listbox-checkbox-margin-block and --rz-listbox-checkbox-margin-inline--rz-listbox-header-padding is now --rz-listbox-header-padding-block and --rz-listbox-header-padding-inline.rz-spinner-* are renamed to .rz-numeric-*--rz-numeric-input-padding is now --rz-numeric-input-padding-block and --rz-numeric-input-padding-inline--rz-radio-label-margin is now --rz-radio-label-margin-block and --rz-radio-label-margin-inline--rz-radio-margin is now --rz-radio-margin-block and --rz-radio-margin-inline--rz-splitbutton-menu-button-width--rz-splitbutton-menu-button-padding--rz-splitbutton-menu-button-font-size--rz-switch-circle-margin is now --rz-switch-circle-offset--rz-text-area-padding is now --rz-text-area-padding-block and --rz-text-area-padding-inline--rz-input-padding is now --rz-input-padding-block and --rz-input-padding-inline$badge-styles SCSS map and use $severity-styles-map and $base-styles-map to generate CSS for Badge styles.--rz-chip-padding is now --rz-chip-padding-block and --rz-chip-padding-inline.rz-growl-* are renamed to .rz-notification-*--rz-notification-gap CSS variable.check_circle_outline is now check_circleerror_outline is now errorinfo_outline is now infolightbulb_outline is now lightbulb$progressbar-styles SCSS map and use $severity-styles-map and $progressbar-base-styles to generate CSS for ProgressBar styles.Radzen Blazor Components, © 2018-2026 Radzen.
Source Code licensed under
MIT