Essential Studio for Blazor - v34.2.2 Release Notes
Common
Feature
Telemetry
Starting with this release (v34.2.2), Syncfusion® Blazor components support development-only telemetry. The collected telemetry helps us better understand component usage, feature adoption, and technology trends, allowing us to prioritize future enhancements and product investments.
Telemetry is enabled by default in development environments and collects only anonymous usage information. It is automatically disabled in production environments, and no telemetry is collected from deployed applications or end users.
Telemetry-supported Components:
Telemetry is supported across major Syncfusion® Blazor components, including data visualization, data management, scheduling, editing, file management, and diagramming controls. For a complete list of supported components are listed below.
| Component | Assembly |
|---|---|
| Grid | Syncfusion.Blazor.Grid |
| TreeGrid | Syncfusion.Blazor.TreeGrid |
| PivotTable | Syncfusion.Blazor.PivotTable |
| Gantt | Syncfusion.Blazor.Gantt |
| Charts | Syncfusion.Blazor.Charts |
| Accumulation Chart | Syncfusion.Blazor.Charts |
| StockChart | Syncfusion.Blazor.StockChart |
| ChartWizard | Syncfusion.Blazor.ChartWizard |
| Maps | Syncfusion.Blazor.Maps |
| FileManager | Syncfusion.Blazor.FileManager |
| Schedule | Syncfusion.Blazor.Schedule |
| RichTextEditor | Syncfusion.Blazor.RichTextEditor |
| BlockEditor | Syncfusion.Blazor.BlockEditor |
| SmartRichTextEditor | Syncfusion.Blazor.SmartRichTextEditor |
| Diagram | Syncfusion.Blazor.Diagram |
| ImageEditor | Syncfusion.Blazor.ImageEditor |
Why we collect telemetry:
The collected telemetry helps us:
- Understand feature adoption and usage trends.
- Identify frequently used components and frameworks.
- Prioritize future product investments and roadmap decisions.
- Detect compatibility trends across .NET versions, operating systems, and development environments.
What information is collected?
Syncfusion collects only a limited set of anonymous usage data during development to understand product usage and improve product planning. No personal information or user-generated content is collected.
The following information may be collected:
- Component Name : The Syncfusion component being used (for example, DataGrid, TreeGrid or Chart). Used to understand component usage and adoption.
- Assembly Name : The Syncfusion assembly or package in use (for example, Syncfusion.Blazor.Grid). Used for product diagnostics.
- SDK Name : The Syncfusion SDK being used (for example, Chart SDK). Used to understand SDK adoption.
- SDK Version : The SDK version shipped with the product. Used for release planning and compatibility analysis.
- Framework : The target development framework (for example, .NET). Used to understand framework adoption.
- Framework Version : The version of the target framework (for example, .NET 8). Helps prioritize framework support.
- Operating System : The operating system used during development (for example, Windows, Linux, or macOS). Used for platform compatibility analysis.
- Machine Architecture : Processor architecture (for example, x64, x86, or ARM64). Used to understand hardware trends.
- Session ID (Hashed) : A randomly generated identifier representing a single development session. Used to group telemetry events within the same session.
- Event Name : Product events (for example, component_initialized or feature_name). Used to understand component and feature usage trends.
NOTE
No user-generated content (e.g., code, files, or personal data) is collected.
What information is Not collected?
Syncfusion does not collect:
- Personal information (name, email address, customer ID, company information)
- Source code
- Documents or files
- Application data
- User-generated content
- Business data
- Prompts or AI conversations
- Authentication credentials
- License keys
- Any information that can directly identify an individual
How to disable telemetry (Opt-out)
Telemetry can be disabled at any time by calling Telemetry.Disable() during the application startup process, before using any Syncfusion features in your Blazor application.
using Syncfusion.Telemetry;
// Disable Syncfusion telemetry.
Telemetry.Disable();
// Your Syncfusion code follows here.
Once disabled, Syncfusion application continue to function normally. The only difference is that telemetry data will no longer be collected.
NOTE
Call
Telemetry.Disable()before creating or using any Syncfusion features in your application.
ComboBox
Bug Fixes
-
#I853155- Resolved an issue where aNullReferenceExceptioncould occur when the component was removed while a search action was still pending
Data Grid
Bug Fixes
-
#I855013,#FB74913- Resolved the issue that occurred during Excel export when the Grid contained stacked columns with a column template.
DropDown List
Bug Fixes
-
#I857887- Resolved an issue where the DropDown List popup position was not properly updated when a negativePopup.OffsetXvalue was applied.
InPlace Editor
Features
-
#I845275- Added support for theEnableHtmlSanitizerproperty in the InPlaceEditor component, allowing users to control the HTML sanitizer and properly display special characters and HTML content in display mode.
Code Example:
<SfInPlaceEditor TValue="string"
@bind-Value="@Description"
EnableHtmlSanitizer="true">
<EditorComponent>
<SfTextBox @bind-Value="@Description" Placeholder="Enter employee name"></SfTextBox>
</EditorComponent>
</SfInPlaceEditor>
@code {
private string Description = "<b>Product Information</b>";
}
MultiColumn ComboBox
Bug Fixes
-
#I854262- The issue with the MultiColumn ComboBox popup height during filtering when a custom popup height was configured has been resolved.
Splitter
Bug Fixes
-
#I850442- Fixed an issue in Splitter where keyboard navigation failed to collapse panes.
Tree Grid
Bug Fixes
-
#I859094- Fixed an issue where collapsing a node unexpectedly collapsed all other expanded nodes when using a custom DataAdaptor.
TreeView
Features
-
#I843187- Added support for theEnableHtmlSanitizerproperty in the TreeView component, allowing users to control the HTML sanitizer and safely handle HTML content in TreeView nodes.
Code Example:
<SfTreeView TValue="MailItem" EnableHtmlSanitizer="true">
<TreeViewFieldsSettings TValue="MailItem"
Id="Id"
Text="Name"
ParentID="ParentId"
HasChildren="HasChild"
DataSource="@TreeData">
</TreeViewFieldsSettings>
</SfTreeView>
@code {
public class MailItem
{
public int Id { get; set; }
public int? ParentId { get; set; }
public string Name { get; set; }
public bool HasChild { get; set; }
}
private List<MailItem> TreeData = new()
{
new MailItem { Id = 1, Name = "Inbox", HasChild = true },
new MailItem { Id = 2, ParentId = 1, Name = "Personal" },
new MailItem { Id = 3, ParentId = 1, Name = "Work" },
new MailItem { Id = 4, Name = "Sent Items", HasChild = true },
new MailItem { Id = 5, ParentId = 4, Name = "2025" },
new MailItem { Id = 6, ParentId = 4, Name = "2026" }
};
}
Test Results
| Component Name | Test Cases | Passed | Failed | Remarks |
|---|---|---|---|---|
| 3DChart | 376 | 376 | 0 | All Passed |
| Accordion | 232 | 232 | 0 | All Passed |
| AiAssistView | 464 | 464 | 0 | All Passed |
| Appbar | 103 | 103 | 0 | All Passed |
| Autocomplete | 484 | 484 | 0 | All Passed |
| BarcodeGenerator | 533 | 533 | 0 | All Passed |
| Breadcrumb | 137 | 137 | 0 | All Passed |
| Bulletchart | 241 | 241 | 0 | All Passed |
| Button | 255 | 255 | 0 | All Passed |
| Calendar | 146 | 146 | 0 | All Passed |
| Carousel | 177 | 177 | 0 | All Passed |
| Charts | 6818 | 6818 | 0 | All Passed |
| ChartWizard | 482 | 482 | 0 | All Passed |
| ChatUI | 244 | 244 | 0 | All Passed |
| Chips | 214 | 214 | 0 | All Passed |
| CircularGauge | 1015 | 1015 | 0 | All Passed |
| ColorPicker | 115 | 115 | 0 | All Passed |
| ComboBox | 622 | 622 | 0 | All Passed |
| DashboardLayout | 266 | 266 | 0 | All Passed |
| DataForm | 548 | 548 | 0 | All Passed |
| DataGrid | 11245 | 11245 | 0 | All Passed |
| DatePicker | 580 | 580 | 0 | All Passed |
| DateRangePicker | 368 | 368 | 0 | All Passed |
| DateTimePicker | 475 | 475 | 0 | All Passed |
| Diagram | 17316 | 17316 | 0 | All Passed |
| Dialog | 488 | 488 | 0 | All Passed |
| DropdownList | 921 | 921 | 0 | All Passed |
| Dropdowntree | 214 | 214 | 0 | All Passed |
| FileManager | 3461 | 3461 | 0 | All Passed |
| FileUpload | 725 | 725 | 0 | All Passed |
| FloatingActionButton | 128 | 128 | 0 | All Passed |
| Gantt | 9387 | 9387 | 0 | All Passed |
| HeatMap | 419 | 419 | 0 | All Passed |
| ImageEditor | 3745 | 3745 | 0 | All Passed |
| InPlaceEditor | 768 | 768 | 0 | All Passed |
| InputMask | 172 | 172 | 0 | All Passed |
| Kanban | 544 | 544 | 0 | All Passed |
| LinearGauge | 801 | 801 | 0 | All Passed |
| ListBox | 141 | 141 | 0 | All Passed |
| ListView | 442 | 442 | 0 | All Passed |
| Maps | 1756 | 1756 | 0 | All Passed |
| Mention | 156 | 156 | 0 | All Passed |
| Menu | 398 | 398 | 0 | All Passed |
| Message | 211 | 211 | 0 | All Passed |
| MultiselectDropdown | 1107 | 1107 | 0 | All Passed |
| NumericTextbox | 467 | 467 | 0 | All Passed |
| OtpInput | 123 | 123 | 0 | All Passed |
| PivotTable | 1846 | 1846 | 0 | All Passed |
| ProgressBar | 199 | 199 | 0 | All Passed |
| progressbutton | 101 | 101 | 0 | All Passed |
| QueryBuilder | 585 | 585 | 0 | All Passed |
| RangeNavigator | 220 | 220 | 0 | All Passed |
| Rating | 107 | 107 | 0 | All Passed |
| Ribbon | 550 | 550 | 0 | All Passed |
| RichTextEditor | 3398 | 3398 | 0 | All Passed |
| Scheduler | 6832 | 6832 | 0 | All Passed |
| Sidebar | 150 | 150 | 0 | All Passed |
| Slider | 273 | 273 | 0 | All Passed |
| SmithChart | 260 | 260 | 0 | All Passed |
| Sparkline | 229 | 229 | 0 | All Passed |
| SpeedDial | 353 | 353 | 0 | All Passed |
| Splitter | 194 | 194 | 0 | All Passed |
| Stepper | 218 | 218 | 0 | All Passed |
| StockChart | 359 | 359 | 0 | All Passed |
| Tabs | 1088 | 1088 | 0 | All Passed |
| TextArea | 126 | 126 | 0 | All Passed |
| Textbox | 685 | 685 | 0 | All Passed |
| Timeline | 182 | 182 | 0 | All Passed |
| TimePicker | 421 | 421 | 0 | All Passed |
| Toast | 234 | 234 | 0 | All Passed |
| Toolbar | 236 | 236 | 0 | All Passed |
| Tooltip | 135 | 135 | 0 | All Passed |
| TreeGrid | 8138 | 8138 | 0 | All Passed |
| TreeMap | 775 | 775 | 0 | All Passed |
| TreeView | 1366 | 1366 | 0 | All Passed |