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"orRange="ValueAxisRange.IncludeZero"onRadzenValueAxisto restore the previous behavior.RadzenSparklinekeeps fitting its data unless its value axis setsRange="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
LabelRotationandLabelAutoRotationnow set only the angle. SetLabelFit="CategoryAxisLabelFit.None"onRadzenCategoryAxisto 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
Stepfor a fixed step), and an axis that sets onlyMinor onlyMaxkeeps 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
FullNamecasts. Settings saved by previous versions are still loaded. - Trimming - the dynamic LINQ API (
QueryableExtensionand 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 withRadzenMarkdownEditorTableandRadzenMarkdownEditorTableTools(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 andRadzenMarkdownEditorCustomToolfor 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
RadzenSchedulerResourcetypes and settingGroupByResource="true"on a view, with hierarchical grouping by multiple resource types, horizontal or verticalGroupOrientationand 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
AppointmentResizeevent to apply the new duration. - RadzenScheduler - new
AllDayPropertyrenders all-day appointments in a dedicated row of the week view, configured with theShowAllDayandAllDayTextproperties ofRadzenWeekView. - RadzenGantt - new resource view displays tasks in resource lanes with stacking, hierarchical resources via
ResourceParentIdProperty, an unassigned tasks lane and a workload histogram, enabled withResourceData,ResourceIdProperty,ResourceTextPropertyandTaskResourceIdProperty. 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
ExportToExcelAsyncandExportToCsvAsync, 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 withLoadDataare requested in chunks with progress throughDataGridExportOptions.Progressand cancellation. Excel exports apply the current theme unlessUseTheme="false", the newExportValuecolumn parameter exports template columns withoutProperty, andToWorkbookAsyncreturns the workbook for customization with the spreadsheet API. - RadzenDatePicker - new
NavigationModeproperty with drill-down calendar navigation: the calendar title drills up to a month grid and a year grid. - RadzenTabs - new
Overflowproperty controls tab titles that do not fit:TabsOverflow.Defaultshrinks them,TabsOverflow.Wrapwraps them to additional lines,TabsOverflow.Scrollscrolls the tab list andTabsOverflow.Collapsemoves 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, andRadzenCategoryAxis.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, nullableDateOnlyandDateTimeOffsetcategories are plotted on a date axis instead of one category per row, with ticks never closer than a day andDateOnlyvalues in tick labels, tooltips andFormatter. Fixes #2735. - RadzenSparkline - area and column sparklines fit their data under
ValueAxisRange.Autoand span their full height instead of a thin band above zero. - RadzenProfileMenuItem - new
ActionandMethodparameters 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 theStrikethroughinline node andListItem.Checked. The newHtmlVisitorinRadzen.Documents.Markdownrenders a parsed document or a Markdown string to HTML withHtmlVisitor.ToHtmland blanksjavascript:,vbscript:anddata:URLs.INodeVisitor.VisitStrikethroughhas 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
$interSCSS 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 throughDynamicallyAccessedMembersannotations, and the shippedLinkerConfig.xmlis replaced with conditionalDynamicDependencyroots 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
FormFieldContextis now cascaded as a fixed value; a non-fixedCascadingValuere-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, itsDialogOptionsor theSideDialogOptionschange, the same wayDialogContainerdoes 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 followsPathexactly 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.EncodeBytesapplied 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.