Essential Studio for Blazor - v35.1.37 Release Notes
Common
Features
-
Syncfusion Blazor components are now compatible with the latest
.NET 11 RC 1 Support. -
The
Sunburst Chartcomponent has been added newly in Syncfusion Blazor UI Library. -
The
Inline AI Assistcomponent has been developed to meet industry standards and are now marked production-ready.
Accumulation Chart
Features
- Nested doughnut: Added support for multiple pie series, enabling nested doughnut charts with concentric rings. This enhancement allows you to represent hierarchical or grouped data more effectively and compare multiple datasets within a single visualization. Explore demo
AI AssistView
Features
-
Generative UI: Now the AI AssistView supports Generative UI blocks, allowing custom UI elements such as charts, cards, and tool-based components to be rendered directly within AI responses. These blocks can be defined through the
Blocksproperty by setting the block type asTool, which enables rich and interactive AI experiences.Explore the demo here
-
Thinking capabilities: Now the AI AssistView supports reasoning blocks which enables visualization of AI workflow stages within responses. These are defined using the
Blocksproperty by setting the block type asThinkingand stages property to add multiple stages, supporting structured stage configuration and dynamic status updates.Explore the demo here
-
Response animation template: Now the AI AssistView supports custom response animation templates, enabling users to replace the default skeleton loader with their own animation UI. The custom template is displayed while the AI response is being generated and is automatically replaced once the response content is rendered.
Explore the demo here
-
Footer toolbar left item align: Now the AI AssistView supports aligning footer toolbar items to the left side of the footer toolbar in the
Inlinemode, allowing users to customize the placement of built-in and custom toolbar actions for improved layout flexibility and user experience.Explore the demo here
-
Now the AI AssistView provides a new
AttachmentRemovingevent, allowing users to intercept attachment removal actions and access details of the file being removed. This enables custom validation, state management, and attachment handling before the removal is completed.
Calendar
Features
- Provided support for the
TimeZoneOffsetparameter, enabling the component to determine and highlight the client’s local current date using UTC-based calculations instead ofDateTime.Now. The parameter accepts nullableTimeSpanvalues and supports positive, negative, and fractional UTC offsets (for example, UTC+5:30). When the parameter is not specified or set tonull, the component retains its existingDateTime.Now-based behavior. For more information, refer to the user guide here.
Code Example:
<SfCalendar TValue="DateTime?"
TimeZoneOffset="@ClientOffset">
</SfCalendar>
@code {
private TimeSpan ClientOffset = new TimeSpan(5, 30, 0);
}The Client Timezone-Aware Date Highlighting feature is supported in the following components:
- Calendar
- DatePicker
- DateRangePicker
- DateTimePicker
Context Menu
Breaking Changes
The Blazor Context Menu now requires clientX and clientY coordinates when invoking the OpenAsync method to ensure proper collision handling and viewport-aware positioning.
Previously, the parameterless OpenAsync() call did not have any built-in mechanism to determine the exact DOM coordinates required for collision calculations, which caused the popup submenu to overflow outside the viewport when opened near screen edges. With this update, the clientX and clientY values are treated as mandatory parameters so the Context Menu can automatically adjust its direction and stay fully visible within the viewport.
Data Grid
Features
-
FB64437- Provided support for advanced Find and Highlight functionality with match navigation, active match tracking, match count display, and programmatic APIs for an enhanced search experience. Explore the demo here.
Code Example:
<SfGrid TValue="Order" DataSource="@Orders" AllowPaging="true" AllowFiltering="true" Toolbar="@(new List<string> { "Find" })">
<GridFindSettings PlaceholderText="Find items" ></GridFindSettings>
<GridColumns>
<GridColumn Field="@nameof(Order.OrderID)" HeaderText="Order ID" Width="120" />
<GridColumn Field="@nameof(Order.CustomerID)" HeaderText="Customer ID" Width="150" />
<GridColumn Field="@nameof(Order.Freight)" HeaderText="Freight" Format="C2" Width="120" AllowSearchHighlight="false" />
</GridColumns>
</SfGrid>
-
FB32154,FB33110- Provided support forUndoandRedooperations in Batch Edit mode for edit, add, delete, paste, and autofill actions. Explore the demo here.
Code Example:
<SfGrid TValue="Order" DataSource="@Orders" Toolbar="@(new List<string> { "Add", "Delete", "Update", "Cancel", "Undo", "Redo" })">
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Batch" EnableUndoRedo="true"></GridEditSettings>
<GridColumns>
<GridColumn Field="@nameof(Order.OrderID)" HeaderText="Order ID" IsPrimaryKey="true" Width="120" />
<GridColumn Field="@nameof(Order.CustomerID)" HeaderText="Customer ID" Width="150" />
<GridColumn Field="@nameof(Order.Freight)" HeaderText="Freight" Format="C2" Width="120" />
</GridColumns>
</SfGrid>
-
#I843261,#I832261,FB73741- Provided support for Excel-like Cell Editing, enabling direct value editing within cells while preserving keyboard navigation, validation, event handling, and data binding. Explore the demo here.
Code Example:
<SfGrid TValue="Order" DataSource="@Orders" Toolbar="@(new List<string>() { "Add", "Delete", "Update", "Cancel" })">
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Cell" AllowEditOnKeyPress="true" EnterKeyDirection="EnterKeyDirection.NextRow" />
<GridSelectionSettings Type="Syncfusion.Blazor.Grids.SelectionType.Single" Mode="Syncfusion.Blazor.Grids.SelectionMode.Cell"/>
<GridColumns>
<GridColumn Field="@nameof(Order.OrderID)" HeaderText="Order ID" IsPrimaryKey="true" Width="120" />
<GridColumn Field="@nameof(Order.CustomerID)" HeaderText="Customer ID" Width="150" />
<GridColumn Field="@nameof(Order.Freight)" HeaderText="Freight" Format="C2" Width="120" />
</GridColumns>
</SfGrid>
- Provided support for event-driven data binding through the
OnDataLoadevent, enabling custom data operations on DataGrid requests without requiring SfDataManager or Custom Adaptors. Explore the demo here.
Code Example:
<SfGrid @ref="Grid" DataSource="@Orders">
<GridEvents OnDataLoad="HandleDataLoad" TValue="Order"></GridEvents>
</SfGrid>
@code {
SfGrid<Order>? Grid;
public List<Order> Orders { get; set; }
private async Task HandleDataLoad(GridLoadEventArgs<Order> args)
{
args.Result = Orders;
}
}
-
#I830533,#I830849,FB73282- Provided support forPrintingandPrintedevents to customize print operations with custom data sources, header and footer templates, and full print lifecycle handling. Explore the demo here. -
#I818077,FB73035- Provided support for Excel-style clipboard paste operations, including Smart Paste and Matrix Paste. -
#I577715,I580635- Provided theAfterAutoFillCellevent, which is triggered after each cell is updated through AutoFill and exposes the updated cell value, row data, and column information. -
I791199,FB71617- Provided support forPage UpandPage Downkeyboard navigation in Row Virtualization for faster scrolling across large datasets.
Date Picker
Features
-
#I847409- Provided support for the AppendTo property, allowing the popup to be rendered within a user-specified container element instead of the defaultdocument.body. The property accepts a CSS selector string and supports rendering the popup inside the matched element. If the property is not specified, is empty, or does not match any element, the popup is rendered indocument.body, preserving the existing behavior. For more information, refer to the user guide here.
Code Example:
<div class="control-box" id="datepicker_container">
<label class="control-label">Select a date:</label>
<SfDatePicker TValue="DateTime?" AppendTo="#datepicker_container"
Placeholder="Choose a date..." FullScreen="true"
ShowClearButton="true"></SfDatePicker>
</div>The AppendTo property is also available in the following components:
- Date Range Picker
- Date Time Picker
- Time Picker
- Color Picker
- MultiColumn ComboBox
- AutoComplete
- ComboBox
- DropDown List
- Mention
- MultiSelect
- InPlace Editor
- Menu
- Context Menu
- DropDown Tree
- DropDown Button
- Split Button
DropDown Button
Bug Fixes
-
#I872091- Resolved an issue where opening the drop-down popup during certain rendering conditions could disconnect the active user session.
DropDown List
Bug Fixes
-
#I870487- The DebounceDelay property previously applied only to filtering operations. It now also supports incremental search operations, enabling users to control the delay before search actions are triggered while typing. This helps reduce the frequency of search operations and provides better performance tuning for user input scenarios.
Gantt Chart
Features
-
Added support for defining a fixed visible timeline range using the ViewStartDate and ViewEndDate properties in GanttTimelineSettings. This feature allows users to focus on a specific date range while retaining the complete project schedule and timeline data. It provides greater control over timeline presentation without affecting underlying scheduling calculations. Explore the Timeline view dates support in the demo.
Code Example:
@using Syncfusion.Blazor.Gantt <SfGantt DataSource="@TaskCollection"> <GanttTimelineSettings ViewStartDate="@viewStartDate" ViewEndDate="@viewEndDate"> </GanttTimelineSettings> </SfGantt> @code{ public DateTime viewStartDate { get; set; } = new DateTime(2026, 04, 01); public DateTime viewEndDate { get; set; } = new DateTime(2026, 04, 09); } -
I849353,FB74596- Added support for exporting PDF, Excel, and CSV documents directly as a MemoryStream. This enhancement enables seamless integration with databases, cloud storage services, email workflows, web APIs, and external document-processing systems. This enhancement extends the existing export functionality by providing in-memory access to generated documents while preserving the current download-based export experience and maintaining consistency across all supported export formats.Code Example:
@using Syncfusion.Blazor.Gantt <SfGantt @ref="GanttInstance" DataSource="@TaskCollection" Height="450px" AllowPdfExport="true" AllowExcelExport="true"> </SfGantt> @code { private SfGantt<TaskData>? GanttInstance; private async Task ExportPdfStream() { if (GanttInstance == null) { return; } try { MemoryStream stream = await GanttInstance.ExportToPdfStreamAsync(null, true); } catch (Exception ex) { Console.WriteLine(ex.Message); } } private async Task ExportExcelStream() { if (GanttInstance == null) { return; } try { MemoryStream stream = await GanttInstance.ExportToExcelStreamAsync(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } private async Task ExportCsvStream() { if (GanttInstance == null) { return; } try { MemoryStream stream = await GanttInstance.ExportToCsvStreamAsync(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } -
I858349,FB60867- Added support for task constraints through the ConstraintType and ConstraintDate properties of GanttTaskFields. This feature enables greater control over task scheduling by allowing tasks to follow specific constraint rules. Constraints are respected during editing, dependency updates, drag-and-drop operations, task resizing, and other scheduling actions. Explore the task constraints support in the demo.Code Example:
@using Syncfusion.Blazor.Gantt <SfGantt DataSource="@TaskCollection"> <GanttTaskFields Id="TaskId" Name="TaskName" StartDate="StartDate" EndDate="EndDate" Duration="Duration" Progress="Progress" Dependency="Predecessor" ParentID="ParentId" ConstraintType="ConstraintType" ConstraintDate="ConstraintDate"> </GanttTaskFields> </SfGantt> -
I788358- Added support for excluding weekends and other non-working days from the timeline view using the ShowWeekend property in GanttTimelineSettings. This enhancement helps users focus on working periods while maintaining accurate task scheduling, timeline navigation, zooming behavior, and export output. Explore the ShowWeekend support in the demo.Code Example:
@using Syncfusion.Blazor.Gantt <SfGantt DataSource="@TaskCollection"> <GanttTimelineSettings ShowWeekend="@showWeekend"> </GanttTimelineSettings> </SfGantt> @code{ private bool showWeekend = true; } -
FB69714- Added support for displaying multiple event markers on the same date through the Top property of GanttEventMarker. This enhancement allows event labels to be positioned at different vertical offsets, improving visibility and preventing label overlap when multiple events occur on the same timeline date. Explore the multiple event markers support in the demo.Code Example:
@using Syncfusion.Blazor.Gantt <SfGantt DataSource="@TaskCollection"> <GanttEventMarkers> <GanttEventMarker Day="new DateTime(2022, 04, 11)" Label="Project approval" Top="100px"> </GanttEventMarker> <GanttEventMarker Day="new DateTime(2022, 04, 11)" Label="Project kick-off" Top="150px"> </GanttEventMarker> </GanttEventMarkers> </SfGantt>
Inline AI Assist
Features
-
Speech to Text: Now the Inline AI Assist supports built-in
Speech-to-Textfunctionality, allowing users to input prompts and messages using voice recognition. Speech recognition settings can be configured using theInlineAIAssistSpeechToTexttag directive.Explore the demo here
Schedule
Features
-
#FB71825- Provided support to select the resources programmatically in the scheduler using theSelectedResourceproperty. This property is only applicable whenEnableAdaptiveUIis enabled. -
#FB58931- Enhanced the Scheduler component to prevent unnecessary backend API requests during dynamic property changes, improving performance and reducing server load. - Provided support for the event buffer feature to display configured
BufferBeforeandBufferAftertime reservations around appointments. The feature is supported onDay,Week,WorkWeek,TimelineDay,TimelineWeek, andTimelineWorkWeekviews whenEnableBufferis enabled withTimeScale.
Sunburst Chart preview
Features
The Sunburst Chart component visualizes multilevel hierarchical data as concentric rings, where the arc length of each segment encodes its value. Users can click a slice to drill down into its underlying levels, and built-in highlight and selection interactions make individual slices easy to emphasize.
Key features
- Multilevel visualization: Hierarchical data is rendered as concentric rings, with arc length encoding each value.
- Drill down: Click a slice to drill down into its underlying levels.
- Highlight and selection: Built-in highlight and selection support.
- Theming: Data labels, multilevel tooltips, title, subtitle, legend, and borders fully support themes.
- Smart tooltip fill: The tooltip fill automatically follows the active theme, with a dark fallback when no theme is applied.
Visual Studio Code Extensions
Features
- Modified the UI to split the controls based on category-wise, such as UI Component Suite, Grid SDK, Chart SDK, Scheduler SDK, Gantt SDK, Rich Text Editor SDK, Diagram SDK, and File Manager SDK in Template Studio Wizard.
Visual Studio Extensions
Features
- Modified the UI to split the controls based on category-wise, such as UI Component Suite, Grid SDK, Chart SDK, Scheduler SDK, Gantt SDK, Rich Text Editor SDK, Diagram SDK, and File Manager SDK in Template Studio Wizard and Code Generator Window.
Test Results
| Component Name | Test Cases | Passed | Failed | Remarks |
|---|---|---|---|---|
| 3DChart | 376 | 376 | 0 | All Passed |
| Accordion | 285 | 285 | 0 | All Passed |
| AiAssistView | 1008 | 1008 | 0 | All Passed |
| Appbar | 116 | 116 | 0 | All Passed |
| Autocomplete | 502 | 502 | 0 | All Passed |
| BarcodeGenerator | 533 | 533 | 0 | All Passed |
| Breadcrumb | 153 | 153 | 0 | All Passed |
| Bulletchart | 255 | 255 | 0 | All Passed |
| Button | 321 | 321 | 0 | All Passed |
| Calendar | 498 | 498 | 0 | All Passed |
| Carousel | 177 | 177 | 0 | All Passed |
| Charts | 7716 | 7716 | 0 | All Passed |
| ChartWizard | 482 | 482 | 0 | All Passed |
| ChatUI | 357 | 357 | 0 | All Passed |
| CheckBox | 115 | 115 | 0 | All Passed |
| Chips | 250 | 250 | 0 | All Passed |
| CircularGauge | 1026 | 1026 | 0 | All Passed |
| ColorPicker | 287 | 287 | 0 | All Passed |
| ComboBox | 706 | 706 | 0 | All Passed |
| ContextMenu | 171 | 171 | 0 | All Passed |
| DashboardLayout | 298 | 298 | 0 | All Passed |
| DataForm | 681 | 681 | 0 | All Passed |
| DataGrid | 11841 | 11841 | 0 | All Passed |
| DatePicker | 1082 | 1082 | 0 | All Passed |
| DateRangePicker | 720 | 720 | 0 | All Passed |
| DateTimePicker | 514 | 514 | 0 | All Passed |
| Diagram | 17536 | 17536 | 0 | All Passed |
| Dialog | 667 | 667 | 0 | All Passed |
| DropdownButton | 138 | 138 | 0 | All Passed |
| DropdownList | 1227 | 1227 | 0 | All Passed |
| Dropdowntree | 329 | 329 | 0 | All Passed |
| FileManager | 3729 | 3729 | 0 | All Passed |
| FileUpload | 895 | 895 | 0 | All Passed |
| FloatingActionButton | 171 | 171 | 0 | All Passed |
| Gantt | 11082 | 11082 | 0 | All Passed |
| HeatMap | 422 | 422 | 0 | All Passed |
| ImageEditor | 3966 | 3966 | 0 | All Passed |
| InPlaceEditor | 988 | 988 | 0 | All Passed |
| InputMask | 172 | 172 | 0 | All Passed |
| Kanban | 608 | 608 | 0 | All Passed |
| LinearGauge | 802 | 802 | 0 | All Passed |
| ListBox | 315 | 315 | 0 | All Passed |
| ListView | 439 | 439 | 0 | All Passed |
| Maps | 1791 | 1791 | 0 | All Passed |
| Mention | 186 | 186 | 0 | All Passed |
| Menu | 484 | 484 | 0 | All Passed |
| Message | 216 | 216 | 0 | All Passed |
| MultiselectDropdown | 1529 | 1529 | 0 | All Passed |
| NumericTextbox | 685 | 685 | 0 | All Passed |
| OtpInput | 200 | 200 | 0 | All Passed |
| PivotTable | 1846 | 1846 | 0 | All Passed |
| ProgressBar | 200 | 200 | 0 | All Passed |
| progressbutton | 158 | 158 | 0 | All Passed |
| QueryBuilder | 885 | 885 | 0 | All Passed |
| RangeNavigator | 227 | 227 | 0 | All Passed |
| Rating | 152 | 152 | 0 | All Passed |
| Ribbon | 558 | 558 | 0 | All Passed |
| RichTextEditor | 4273 | 4273 | 0 | All Passed |
| Scheduler | 6892 | 6892 | 0 | All Passed |
| Sidebar | 160 | 160 | 0 | All Passed |
| Slider | 300 | 300 | 0 | All Passed |
| SmithChart | 263 | 263 | 0 | All Passed |
| Sparkline | 229 | 229 | 0 | All Passed |
| SpeedDial | 423 | 423 | 0 | All Passed |
| Spinner | 126 | 126 | 0 | All Passed |
| Splitter | 202 | 202 | 0 | All Passed |
| Stepper | 368 | 368 | 0 | All Passed |
| StockChart | 377 | 377 | 0 | All Passed |
| Tabs | 1118 | 1118 | 0 | All Passed |
| TextArea | 166 | 166 | 0 | All Passed |
| Textbox | 1105 | 1105 | 0 | All Passed |
| Timeline | 191 | 191 | 0 | All Passed |
| TimePicker | 499 | 499 | 0 | All Passed |
| Toast | 620 | 620 | 0 | All Passed |
| Toolbar | 627 | 627 | 0 | All Passed |
| Tooltip | 135 | 135 | 0 | All Passed |
| TreeGrid | 8169 | 8169 | 0 | All Passed |
| TreeMap | 776 | 776 | 0 | All Passed |
| TreeView | 1605 | 1605 | 0 | All Passed |