Essential Studio for Flutter Release Notes

December 18, 2023



  • Provided onRendererCreated callback support in the ChartAxis.
  • Provided clipping support for annotation feature.
  • Provided custom segment rendering support for Circular, Funnel, and Pyramid charts.
  • Provided touch support for annotation content.


  • Flutter charts rendering performance has been improved by 5x.
  • Flutter charts memory usage has been reduced by 8x.
  • Multi-level labels curly braces UI has been improved in ChartAxis.
  • The labelAlignment property positioning has been improved in ChartAxis.
  • Marker fill color is rendered based on themes.

Bug Fixes

  • #FB48648 - Now, the line series will render correctly while having continuous empty points with drop mode.

Breaking changes

Following breaking changes will occur in Charts.


  • The series property type has been changed to List<CartesianSeries> from List<ChartSeries>.
  • The TechnicalIndicators property has been renamed to TechnicalIndicator.


  • The visibleMinimum property has been renamed to initialVisibleMinimum.
  • The visibleMaximum property has been renamed to initialVisibleMaximum.
  • The zoomFactor property has been renamed to initialZoomFactor.
  • The zoomPosition property has been renamed to initialZoomPosition.
  • The minorTicksPerInterval property is removed in both CategoryAxis and DateTimeCategoryAxis.
  • The axis line now renders along with axis labels when the placeLabelNearAxisLine property is set to true.


  • The isVisible property has been renamed to initialsVisible.
  • The drawDataMarker method arguments have been changed to drawDataMarker(int index, Canvas canvas, Paint fillPaint, Paint strokePaint, Offset point, Size size, DataMarkerType type, [CartesianSeriesRenderer<T, D>? seriesRenderer,]) in ChartSeries.
  • The calculateEmptyPointValue method is removed from ChartSeries.
  • Data label intersection does not work with multiple series.
  • ErrorBarSeries has been changed to a single segmented series from multiple segments.


  • The initialSelectedIndex will now select a single segment when the enableMultiSelection value is false.
  • During the point selection, the single segment is now highlighted instead of the entire series in line-type series.


  • The legend for FunnelSeries is now rendered according to the data source order.


  • The seriesRendererDetails and seriesIndex is removed in ChartPointInfo class.
  • The series property type has been changed to dynamic from CartesianSeries.


The following properties has been removed from the CartesianChartPoint class.

  • yValue
  • sortValue
  • markerPoint
  • markerPoint2
  • isEmpty
  • isGap
  • isDrop
  • isVisible
  • pointColorMapper
  • dataLabelMapper
  • region
  • boxRectRegion
  • outlierRegion
  • outlierRegionPosition
  • isIntermediateSum
  • isTotalSum
  • endValue
  • originValue
  • maxYValue
  • labelRenderEvent
  • isTooltipRenderEvent
  • openPoint
  • closePoint
  • centerOpenPoint
  • centerClosePoint
  • lowPoint
  • highPoint
  • centerLowPoint
  • centerHighPoint
  • currentPoint
  • startControl
  • endControl
  • highStartControl
  • highEndControl
  • lowStartControl
  • lowEndControl
  • minimumPoint
  • maximumPoint
  • lowerQuartilePoint
  • upperQuartilePoint
  • centerMinimumPoint
  • centerMaximumPoint
  • medianPoint
  • centerMedianPoint
  • centerMeanPoint
  • originValueLeftPoint
  • originValueRightPoint
  • endValueLeftPoint
  • endValueRightPoint
  • horizontalPositiveErrorPoint
  • horizontalNegativeErrorPoint
  • verticalPositiveErrorPoint
  • verticalNegativeErrorPoint
  • errorBarValues
  • outliersPoint
  • controlPoint
  • controlPointshigh
  • controlPointslow
  • regions
  • cumulativeValue
  • trackerRectRegion
  • label
  • label2
  • label3
  • label4
  • label5
  • outliersLabel
  • labelFillRect
  • labelFillRect2
  • labelFillRect3
  • labelFillRect4
  • labelFillRect5
  • outliersFillRect
  • labelLocation
  • labelLocation2
  • labelLocation3
  • labelLocation4
  • labelLocation5
  • outliersLocation
  • dataLabelSaturationRegionInside
  • dataLabelRegion
  • dataLabelRegion2
  • dataLabelRegion3
  • dataLabelRegion4
  • dataLabelRegion5
  • outliersDataLabelRegion
  • index
  • overallDataPointIndex
  • regionData
  • visiblePointIndex


The following properties has been removed from the ChartPoint class. Instead of this, you can get the values of these properties from the corresponding segment class.

  • degree
  • startAngle
  • endAngle
  • midAngle
  • center
  • text
  • fill
  • strokeColor
  • sortValue
  • strokeWidth
  • innerRadius
  • outerRadius
  • isExplode
  • isShadow
  • isEmpty
  • isVisible
  • isSelected
  • dataLabelPosition
  • renderPosition
  • labelRect
  • dataLabelSize
  • saturationRegionOutside
  • yRatio
  • heightRatio
  • radius
  • pointColor
  • trimmedText
  • overflowTrimmedText
  • isTooltipRenderEvent
  • labelRenderEvent
  • index
  • shader

Behavior changes

  • Now, the axis line and labels are rendered above the series while using crossesAt feature in ChartAxis.
  • The plot band opacity property is now applied to fill, stroke and text color.
  • The series opacity property is now applied to the both series fill and stroke color.
  • The tooltip opacity property is now applied to the fill, stroke, text and marker color.

Generic type changes

The following classes are marked as a generic type.

  • All chart series renderers
  • All chart segments
  • ChartSeriesController
  • CircularSeriesController
  • FunnelSeriesController
  • PyramidSeriesController
  • LegendItemBuilder
  • ChartWidgetBuilder
  • ChartDataLabelTemplateBuilder

Known issues

  • The bar type series legend toggling animation is not working.
  • Newly added data point animation is not working.
  • The axis size changes immediately when the axis range transitions from single digits to multiple digits, such as 2 (10) or 3 (100) digits.



  • Provided support for text markup and popup annotations.
  • Provided support for adding annotation flags to PDF annotations.

Bug Fixes

  • #I523888 - The issue of retrieving incorrect values from the text box field after saving an encrypted PDF document has been resolved.

PDF Viewer

Bug Fixes

  • Now, the SfPdfViewer will be properly deployed without namespace errors when built with a Gradle version greater than 8.x.


  • #F166334, I520840, I520495, I510801, I497142 - Provided support to add, remove, modify, and save text markup annotations in PDF files. The available text markups are highlight, underline, strikethrough, and squiggly.
  • #I500388 - Provided support to scroll vertically in single-page layout mode.



  • #FB22294 - Provided the grouping support to the DataGrid, it enables users to group related rows together based on common values in one or more columns. Users can organize and categorize data based on specific criteria.
  • #FB44216 - Provided support for retrieving the start and end index of visible rows and columns based on the row region.