These are the recent changes for SciChart.JS since 2.1. Release notes for older versions can be found at SciChart.js News and Releases
Bug fixes.
Surface Mesh 3D incorect tooltips on the edge cells. (SCJS-2453)
FinChartLegendModifier handling DPI scaling. (SCJS-2452)
Version 5.0.211 has been promoted to 5.1.0 as it has a lot of changes
Version 5.0.211 has been promoted to 5.1.0
Just six weeks after the release of SciChart.js v5.0 we have another minor update for you. Our pace of development has increased dramatically and the features & fixes below are just a fraction of what we’ve been working on in the last month – there’s a lot more on the way.
Blazor Support is now official. See SciChart.Blazor.Examples. This is an initial alpha release, and there are more features to come, but please send us your feedback.
It’s recommended for all users of SciChart.js v5 to update to this version, and keep watching the changelog as we roll out improvements in the coming weeks & months.
Added SciChart.Blazor — SciChart.js is now available as a Blazor component package for .NET/Blazor applications.
Pie/Donut chart rounded corners — Pie and donut chart segments now support configurable corner radius for a modern appearance. (SCJS-2394)
3D XYZ metadata API — XyzDataSeries3D now supports setMetadata() and setMetadataAt(), allowing per-point metadata to be updated and trigger chart invalidation correctly. (SCJS-2405)
Native text for modifier axis labels — When useNativeText is enabled, modifier axis labels (e.g. cursor/rollover crosshair labels) now render using the same native text path as axis labels, so font families match exactly. (SCJS-2440)
Overview control with stacked series — Fixed an issue where stacked chart collections were not correctly mapped to the Overview chart control. (SCJS-2445)
DataPointSelectionModifier — Fixed drag-selection not including the last data point in the selection range. (SCJS-2412)
Canvas labels missing on first render — Fixed an issue where canvas-rendered axis labels did not appear on the initial render.
SubChart modifiers — Fixed chart modifiers on sub-charts not being updated after a layout complete event. (SCJS-2431)
Stacked series negative values — Fixed stacked column and mountain series not correctly accumulating negative values. Hit-testing and 100% stacked autorange are also corrected. (SCJS-1740)
DateTimeNumericAxis tick precision — Fixed DateTimeNumericAxis generating poor tick values at sub-second precisions (e.g. showing 876ms, 939ms instead of 800ms, 900ms). (SCJS-2408)
Polar axis label positioning — Fixed polar axis labels overlapping at certain configurations, and fixed incorrect horizontal positioning of labels on vertical axes. (SCJS-2439)
Polar angular labels — Fixed the last angular label being omitted when the polar chart is rotated.
Mountain series clamping — Fixed forceClamp not being passed through correctly for mountain series, causing incorrect rendering near axis edges.
Tooltip positioning — Fixed tooltips being positioned incorrectly on the first render frame.
Duplicate destination IDs — Fixed an error when deleting a surface destination that shares an ID with another. (SCJS-2242)
Axis renderer optimisations — Reduced redundant work during axis measurement and label rendering for improved frame throughput.
Label cache pruning — Improved performance when using many charts simultaneously by refining how frequently the label cache is pruned, using a minAge threshold to avoid excessive pruning overhead.
Label cache memory leaks — Fixed multiple memory leaks relating to the label cache: canvas texture handles were not being released, and intermediate minMax calculation results were not disposed. (SCJS-2407)
PolarAxisRenderer memory leak — Fixed a memory leak in the polar axis renderer; the old renderer is now properly deleted when the axis type changes. (SCJS-2444)
This is a hotfix for v4, fixing some label related issues. Some of these are already addressed in v5 but the next v5 release will include a more significant refactor of label drawing to further improve performance and extensibility.
Fixed labelCache related errors when using multiple createSingleCharts
Fixed "Cannot read properties of undefined (reading 'measureText')" causing axis labels to not display in some rare cases
Fixed positioning of heatmap datalabels in some configurations
Fixing some early bugs in 5.0 including points being wrongly repositioned when panning a chart.
Fixed Heatmap dataLabel positioning
Prevent a chart freeze due to infinite loop
Second and penultimate points could be wrongly adjusted by viewport clamping when panning
More Wasm hooks for memory debugging
MAJOR VERSION RELEASE. SciChart.js v5 brings even more performance, new axis types, 3D chart formatting improvements and much more . Click the link here to read the release note
SCJS-2354 Rounded columns had the wrong fill when strokeThickness set to 0
SCJS-2252 Silent error RuntimeError: Aborted() in webassembly when hitting out of memory limits
SCJS-2333 Superscripts 0,4,5,6,7,8,9 now working when useNativeText: true
SCJS-1888 3D Chart crashes if renderableSeries is created without dataSeries
SCJS-1621 axis.getMaximumRange doesn't work properly on a StackedColumnCollection
SCJS-1530 Line series with NaN render with artefacts on Mac M-series
SCJS-2325 Hittest wrong for XyNDataSeries
SCJS-2324 Tooltips to not update if hittest result does not change
Optional manual render control
Added PointMetadata support to 3D Seriesinfo types
Heatmap improvements: fixed 4000x4000 memory out of bounds error and added Float64Array support to heatmaps
Added onResize and other render events to SciChartSurface
Date formatting for high precision, improving nanosecond timestamp support with demos to support wide dynamic range and precision of SciChart.js
BaseValueAxis and DiscontinuousDateAxis types - non-linear axis and improved financial charting with a hybrid approach to candle index and date
SVG Mode for tooltips (to avoid a full render) improving performance of tooltips in large datasets
Increased max WASM memory from 2GB to 4GB
Reduced memory footprint and allocations resulting in more stable memory usage
Several specific feature performance improvements including 3D charts up to 10x faster, heatmap 2x faster, 15x faster for box plot, 50x faster for error bars, 4x faster for FIFO realtime series and more
Improved chart initialisation speed, up to 300ms faster for first chart shown, and zero latency for subsequent charts when using SciChartSurface.create()
Reduced bundle size, reduced wasm file size by >1MB
Added Wasm-SIMD support with fallback for browsers that do not support SIMD enabling 2-4x performance improvement
We had another go at the rollover tooltip positioning algorithm, which now properly handles cases where you have multiple clusters of series. We also fixed a small memory leak.
5.0 beta should be up any day, with full release by the end of January.
Fixed a slow memory leak related to native text
Made the rollover modifier tooltip batching more reliable
This release fixes a rare bug that can occur with long running apps using serverside licensing. To do this, we backported some significant license handling changes we had done for the next big release, which significantly improves how license updates are propagated to surfaces. This also allows license validation to be triggered without creating a surface by calling getSharedWasmContext().
We have decided that the next big release will be 5.0 rather than 4.1 as there are a few potential breaking changes. We are hoping to have this out before the end of the year as we are very excited to share all the performance improvements we have made.
Allow license validation to be be triggered without needing to create a surface. Just call getSharedWasmContext()
Serverside token revalidation was not happening after 7 days, causing charts to become copies of the master canvas if the app ran continuously
Reworked client side license handling to not hold and surface references, fixing potential memory leaks
Just one bugfix in this release. All work is now focussed on 4.1.
SCJS-2304 Fix error when some modifiers are removed from a chart
Along with some bug fixes and mini features needed for our new demos Semiconductors Dashboard and Wafer Analysis Chart, this release contains a number of internal changes in preparation for performance comparisons with the upcoming 4.1 release, which will have a wide range of significant performance improvements. We will also be showing how you can use these marks to profile SciChart performance in your own applications. Watch this space!
Added lots of internal performance marks
SCJS-2289 Do not error if hitTestRadius used with StackedColumnSeries
Made overview surface available to series transform function
If you ran out of memory when appending data, the error used to be swallowed. This is now rethrown with a more helpful message
SCJS-1387 fixed heatmap memory out of bounds error in some circumstances
Allow hitTestRadius to be configurable on DataPointSelectionModifier
Open up the api on DataPointSelectionModifier so it is easy to programatically manage the selection
Tooltips in 3D could be offset when used with large surface mesh
If you are using your own images with SpritePointMarker, setting the new antiAlias property false should make it draw in its original form, rather than antiAliased. We have also made further improvements to stacked series as a result of some big new demos we have been working on. Also some bug fixes, noteably superscript (needed for scientific notation labels) now works properly for native text.
SCJS-2225 Added antiAlias property to PointMarker which can be disabled to produce sharper drawing when using custom sprites
SCJS-2246 Added autoColorFilter to SciChartSurface. This is a filter funciton to determine which renderableSeries are affected by AutoColoring, eg to apply only to visible series
SCJS-1923 DataPointSelectionModifier and SeriesSelectionModifier can now be used with Stacked series
Support seriesName and yArrayFilter as constructor options for stacked series
SCJS-2223 Fixed cartesian arc positioning when using a left aligned axis
SCJS-2226 Fixed rendering of some superscipt characters when using native text
Fixes for heatmaps on vertical charts. Added a new demo showing advanced tooltip customisation
Fix datalabels for non-uniform heatmap on vertical chart
SCJS-2212 fix Heatmaps on vertical chart
Show license error on 3d chart if license is 2d only
vectorToArray and vectorToArrayView utility functions allow for for fast conversion of dataSeries xValues, yValues into JS arrays. This enables fast read-back of DataSeries data into javascript arrays, (unsafe) live-updating of webassembly memory via JavaScript, and fast deep-copy of dataseries.
See https://www.scichart.com/documentation/js/v4/2d-charts/chart-types/data-series-api/get-set-value-at-index/ for further info, benefits, performance & caveats
vectorToArray and vectorToArrayView utility functions for fast conversion SCRTVectors into JS arrays
SCJS-2207 RolloverModifier does not draw tooltips for CategoryAxis
This release contains a security fix for one of our dependencies, a new feature for legends for 3D charts, some significant improvements to the ContoursSeries behaviour, fixes for NativeTextAnnotation, and fixes for some more regression bugs.
SCJS-2204 DataPointSelectionModifier selection box drawn in wrong position
SCJS-2201 Fixed error when appending large amount of data to an XyTextDataSeries
SCJS-2163 NativeTextAnnotation positioning and adorner size no longer ignores padding
Allowed adding a CursorModifier to a chart containing contour series. This now has the same hitTest behaviour as Heatmap series, so if you have both, use includeSeries to target the modifier at just one.
Fixed DataLabel positioning for contours
Fixed zMin, zMax and zOffset not behaving as expected for ContourSeries
Updating isVisible for 3D series now works as expected
LegendModifier3D - Legends for 3D charts with the same api and functionality as for 2D
Updated Freetype to 2.13.3 to address a security vulnerability https://nvd.nist.gov/vuln/detail/CVE-2025-27363
Lots of small bug fixes in this release
SCJS-2140 Add useNativeText property to AxisTitleStyle
SCJS-2164 DataLabel metaDataSelector now works correctly with flipped x axis
SCJS-2181 TextSeries now respects series.isVisible if it is updated
SCJS-2180 PolarCursorModifier had arc line above the radial tooltip
SCJS-2192 Charts with log x and y axes could freeze sometimes
LegendModifier should include invisible series
SCJS-2191 PolarArcZoomModifier now uses correct center when chart is off center
SCJS-2148 DataLabelLayoutManager now correctly runs before datalabels are drawn
First bugfix release for 4.0. Cursor axis labels are back.
Improvements to TS Docs (intellisense tooltips) including links to main docs
SCJS-2158 Fixed missing axis labels for CursorModifier
PolarSeriesSelectionModifier
MAJOR VERSION RELEASE. SciChart.js v4 is a huge release with many new features. Click the link here to read the release note
SciChart.js v4 release
SCJS-2093 3D Native Font Loading issue
SCJS-2114 StrokeThicknessY1 for band series
SCJS-2105 Setting empty string does not update sciChartSurface.title
SCJS-2092 TooltipModifier3D causes infinite re-render
Fixes and improvements.
SCJS-2102 3D text quality for font 14
SCJS-2097 SeriesSelectionModifier does not work correctly for FastBandRenderableSeries
Small fixes.
SCJS-2083 Invalidate surface on restore
Fix cursor tooltip causes unnecessary rerender when using multiple seriesInfo from same series
Fixes an axis layout problem that occurs when non-default native fonts are used
SCJS-2073 invalidate label cache and title cache when native font fully loads
Fixes the problem when RolloverModifier tooltips for FastBandRenderableSeries do not hide when the mouse if out of the series view rect.
SCJS-2059 RolloverModifier Tooltips do not hide for FastBandRenderableSeries
Adds the ability to override UniformHeatmapDrawingProvider and UniformContoursDrawingProvider createPaletteTexture() methods which allows creating stepped heatmaps (heatmap without a gradient) by creating a custom drawing provider.
SCJS-2041 Exposing UniformHeatmapDrawingProvider and UniformContoursDrawingProvider createPaletteTexture() methods
Fix for error when re-attaching FastBandRenderableSeries.
SCJS-2040 Error when reattaching FastBandRenderableSeries
Memory leak fix for WebGlRenderContext2D.drawLines() method.
SCJS-2036 WebGlRenderContext2D.drawLines() method leaks the memory
Fix for RolloverModifier overlapping tooltips.
SCJS-2032 Fixed RolloverModifier overlapping tooltips. Bug introduced in 3.5.739
This release introduces WebGlRenderContext2D.drawNativeText() API which can be used to draw text in a performant way. The API can be used for creating custom annotations or for direct drawing. The release also contains some fixes and improvements.
SCJS-2035 WebGlRenderContext2D.drawNativeText() API to draw text in a performant way
SCJS-2034 Improved getYRange() method for FastErrorBarsRenderableSeries with NaN data
Fixed switching between 2D and 3D charts. The bug was introduced in 3.5.750
SCJS-2006 Improved RolloverModifier performance with a large number of excluded series
This release rolls back line annotation label drawing performance optimizations. These changes were causing line annotation labels not updating correctly.
Fixed line annotation labels not updating correctly.
In SciChart3D, the “gizmo” is the x/y/z direction indicator in the bottom left of the chart. This was always shown, because apparently the code to disable it was bugged. This is now fixed so the gizmo is disabled by default. To get it back, call sciChart3DSurface.enableGizmo(true)
Fixed spline errors if series only has one point
Fixed that sciChart3DSurface.enableGizmo(false) did not disable the gizmo. Set this disabled by default
Improved performance of line annotation label drawing
This release contains an important fix to an issue introduced in 3.5.739 which caused lines and pointmarkers with paletteProviders to have random colors when zoomed or panned.
SCJS-1960 Correct handling of palette offsets when zoom/panning non-resampled data
A small release to fix a licensing issue when using serverside licensing with 2d and 3d charts together.
Note that we recently released an update to the serverside component so that it now supports MacOS as the server.
Fixed ServerSide licensing not working correctly when 2D and 3D charts are used together
Edit 2025-03-19 – this release introduced a rendering bug which is fixed in v3.5.744
Along with some small fixes, this release significantly improves the performance tracing options in SciChart. This is partly to allow us to do detailed performance analysis and comparison in the upcoming v4, and also to allow users to more easily find the source of performance issues in their charts. More details on how to use this will be published later. As part of this we added some extra events to the render loop to allow for more accurate measurement, especially when subcharts are used. These events also give users an opportunity to add completely custom drawing into the render loop. The render events are as follows:
– preRenderAll: fires once on a parent surface before anything is drawn.
– preRender: fires at the start of rendering for each surface and subsurface.
– genericAnimationsRun: fires early in rendering once all animations have been processed. At this point the data for the render is set.
– layoutMeasured: fires once axis measurement and layout is complete. At this point the seriesViewRect and coordinateCalculators are valid, so you can use the hitTest api, and reposition annotations. If you do make changes to the chart here, use SuspendUpdates so that your changes do not trigger an unnecessary extra render. It is important not to change data, visible range or other layout related properties at this stage.
– rendered: fires at the end of the render loop for each chart and subchart. Note that actual drawing may not have happened yet.
– renderedToWebGl: fires once WebGL drawing has been complete. At this point you can still use the currentWebGlRenderContext to do custom drawing which will go over whatever scichart has drawn.
– renderedToDestination: fires once the chart has been drawn to the final target canvas. When SciChartSurface.createSingle is used, this is the same as renderedToWebGl, but for SciChartSurface.create there is a canvas copy in between. At this point, SciChart is completely done and you can draw to the target canvas using the 2d canvas context, which you can get from sciChartSurface.domCanvas2D.getContext(“2d”);
Various fixes and improvements to the events fired during render. Added preRender and rendered for 3D charts
Added many more marks to PerformanceDebugHelper
SCJS-1902 Improved memory and performance when rapidly updating large numbers of subcharts
SCJS-1936 Fix SVG Annotation drawing issues in Firefox
Fixed Rollover tooltip layout could be bad in some multi-series cases
SCJS-1916 allow overriding padding of labels on LineAnnotation
SCJS-1946 fix palleting repeating when drawing very large non-resampled data
Added fixes for AxisDragModifier, as well as a performance boost via freezeWhenOutOfView flag and improved performance in Mozilla based browsers
SCJS-1895 Added freezeWhenOutOfView flag to SciChartSurfaceBase. When true, charts out of the viewport will automatically suspend drawing. Major performance boost in multi-chart scenarios where some charts are out of view.
SCJS-1383 Improved Mozilla performance by up to 300% by optimizing canvas draw calls
SCJS-1896 Fixed UpdateSuspender cleanup logic affecting createSuspended flag in SciChartSurface
SCJS-1886 AxisDragModifier now respects visibleRangeSizeLimit
SCJS-1886 AxisDragModifier respects dragging top/bottom half in Vertically Stacked Axis scenarios
Along with some small fixes, this release has a fairly large toolchain update, setting us up for future improvements.
SCJS-1882 fixed y autoRange with category data. Force recalc of ranges when series made visible or attached.
Bezier transform was inconsistent with only one point in view
SCJS-1876 RubberBandZoom does not respect visibleRangeLimit
Updated builds to use recent emscritpen
Avoiding unnecessary re-measuring of svg has made re-rendering of TextAnnotation and CustomAnnotation about 100 times faster. Creating a large amount of svg is still slow (300ms for the first frame for 1000 annotations) but subsequent frames are now 10ms when zooming and panning.
Note that 3.5.710 got released in error with a regression for TextAnnotation adorners, so do not use that version.
Huge performance improvement for re-rendering most svg annotations
SCJS-1872 fix error on hitTest when using non-default dataPointWidthMode
We did not like the previous change to range limits with the overview, and we think this release does it much better. The behaviour is now that the overview x axis takes the full x range, and any visibleRangeLimit or visibleRangeSizeLimit on the main chart is applied to the selected area of the overview. If you want to limit the overview x axis you can pass limits on the overviewXAxisOptions.
We have also improved the handling of custom fonts in 3d so you can now use registerFont as described in the Native Text Api Documentation
Overview now properly works with visibleRangeLimit and visibleRangeSizeLimit
Added registerFont method to Scichart3DSurface.
Improved error handling during 3D rendering
fontFamily can now be set on 3D axis constructor option
This release contains a fix for a regression issue where autorange would fail when using category axis with large amounts of data, and other small fixes.
SCJS-1865 Fix auto Y range for resampled values when using Category XAxis
fix graphical artifact on rounded columns
drawLabels and isVisible now supported on 3D axis
SCJS-1830 updated typescript definition for IOverviewOptions.transformRenderableSeries to show it can return undefined
fix initial auto y range failing when animating a spline series
SCJS-1856 Overview now respects axis visibleRangeLimit
3D improvements and some small fixes
Separate labelStyle and axisTitleStyle for 3D axis.
is[XYZ]PlaneVisible property added to Scichart3DSurface
SCJS-1855 Tooltip values could be wrong for CategoryAxis with less than 10 data points
SCJS-1839 3D tooltips did not work on appended data
SCJS-1854 isHit was not set correctly for negative columns
Position on subcharts should be optional
Fixed Typedoc on yRangeMode. Drawn is the Default
SciChart.JS v3.5 – 3D Columns and autorange performance improvement
We are bumping the version number as we have added support for 3D columns. View the demo at https://demo.scichart.com/react/3d-column-chart
We have also done a significant optimisation to the way that y range is calculated for large datasets. When using y axis autoRange or zoomExtents we see performance improvements of 30 to 50% when plotting millions of points in a sorted line series.
ColumnRenderableSeries3D which uses XYZ data and supports per column coloring using metadata
Significant performance improvement for y axis autoRange
Spline series and series using RenderDataTransforms now support FifoCapactiy on the dataseries
Changed SciChartDefaults.enableResampling to debugDisableResampling
This releases fixes an recently introduced error that could occur when using nativeText labels, along with a fix for a potential performance issue in Chrome.
SCJS-1814 SpritePointMarker no longer draws upside down when used with a BubbleSeries
SCJS-1796 fixed dataPointWidth and yRange for candleStick series with a single candle
Fixed an error calculating labelWidth that could occur when using NativeText labels and doing lots of zoom/pan
Setting strokeThickness to 0 for candles and ohlc now applies correctly
SCJS-1825 fix autoRange for errorbars and candleSticks was wrong when using EDataPointWidthMode.Range
Worked around a new performance issue in Chrome which happens if the chart is invalidated very rapidly, eg by calling dataSeries.append/insert/update. It is still better to use appendRange where possible
Setting constructor options that take a NumberRange as { min, max } will no longer cause errors. This makes it possible to use pure json for definitions. THis also applies to a few other Object properties such as Thickness and Rect
Some minor fixes and documentation updates. Check out the new Line Splitting Thresholds Demo which uses a renderDataTransform to do precise coloring of partial line segments.
Canvas border was off by one if the canvas had fractional width or height
Add Typedoc and non-abstract base classes for renderDataTransform
Ensure renderDataTransforms run if resampled data changes
This release fixes some memory leaks that show up in some long running realtime scenarios, along with some other small fixes.
Fixed xRange calculation when using dataPointWidthMode.Range
SCJS-1797 Fixed a rendering issue on AMD GPU when using extreme zeroLineY
SCJS-1793 Fixed a memory leak in label text cache
SCJS-1793 Fixed a memory leak in WebGL buffers
If you have ever struggled to get sensible column widths if your data contains gaps, then dataPointWidthMode Range will help a lot. This makes the dataPointWidth be interpreted as “x range per column”, rather than the width being based on the number of columns.
Now that we have getProperties on ColumnSeriesDrawingProvider, we have a good way to use different gradient fills for different columns. See the new multi-style series demo to see how to do this.
Also in this release are some memory related fixes and improvements. We recently added a whole section of additional memory tests and guidance to the examples repo. Please take a good look at https://github.com/ABTSoftware/SciChart.JS.Examples/tree/master/Tutorials/MemoryTests before reporting memory related issues.
Added dataPointWidthMode Range for columns, candlesticks and errorbars. This makes it much easier to set a sensible width if your data has gaps.
Add getProperties to ColumnSeriesDrawingProvider so multiple can be added to draw with different styles
Improved label cache pruning to improve memory behaviour, particularly when using native text
Fixed a memory leak when using Overview
DataPointSelection did not select all points in the shown area when using xyDirection: EXyDirection.XDirection
Fixed SmoothStackedMountainSeries builder api support
Along with a variety of little fixes, we have added SciChartHorizontalGroup which synchronises top and bottom axes. This is particularly useful if you have a set of vertical charts in a horizontal row. A surface can be added to both a SciChartHorizontalGroup and a SciChartVerticalGroup if you have a grid of charts and want both rows and columns to have synchronised axis sizes.
SciChartVerticalGroup and SciChartHorizontalGroup bot now also consider chart title
Added SciChartHorizontalGroup which synchronises top/bottom axis sizes
heatmap yAxisId option was setting XAxisId instead
Fix DataLabel positioning for band series when using singleLabel: true
Allow setting partial styles for ticks and gridlines in axis options
Avoid an error if legend is forced to update before the chart is drawn
Another round of various fixes. BandSeries now supports a vertical gradient fill (like MountainSeries), but be aware that the gradient is currently relative to the canvas, not the series, so it may not work the way you expect. MountainSeries gradients have worked this way for so long that at this point fixing this is considered a breaking change, so we will look to do it as part of the v4 release.
FillLinearGradient now supported on BandSeries
Pie chart was not showing if only one segment was defined
Fix error when calling sciChart3DSurface.renderableSeries.clear(true)
PointMarkerPaletteProvider was affecting the stroke of a mountain or band Series
Fix smooth stacked mountain series missing a point when the lower series contains NaN
Fix bezier transform not recalculating when visibleRange changes
Improved new Bezier line interpolation. Add XyyBezierRenderDataTransform for use with BandSeries
SCJS-1370 CursorModifier axis labels sometimes in the wrong chart when using subcharts
SCJS-1394 CursorModifier should not add extra labels on stacked axes
Various fixes for things we found when building the examples for the new features. Check out the new demos at demo.scichart.com
– Population Pyramid showing stacked column datalabels, and how to deal with overlaps from multiple series
– Smooth Animated Stacked Mountain Chart Our new series type, with cool in and out animations.
– Hoverable Buy Sell Markers is an upgrade to the existing trade markers demo with tooltips on hover.
– Editable Annotations also upgraded with hover features. More tooltips and select-on-hover
– Annotation Layers shows the options for placing annotations at behind the chart, behind the series, or in front.
– User Annotated Stock Chart has some custom modifiers for allowing users to add lines and markers to a chart, and demonstrates saving and loading those customisations.
Open up and add comments to methods on SmartDateLabelProvider to make it easier to customise further
Fix building dataFilters using builder api
Fix modifiers on subcharts not marking the original event handled, causing scroll to affect the parent page.
Fix error when calling includeSeries on a modifier before adding it to a surface
Added references to previously hovered entities and modifier in hover event args
Fix auto coloring for stacked mountain stroke
Fix startup animations not working for stacked series when passed as options.
SciChart.JS v3.4 – Hoverable Annotations, Stacked Series Improvements and much more!
We have a load of new features in this release, so we are bumping the minor version to 3.4. Documentation and examples to show off these new features are still being polished. We’ll have a full release blog highlighting all the new features soon. For now, check out the hover behaviour we added to the trade markers example
AnnotationHoverModifier which enables onHover callback for annotations
DataLabels support for Stacked Column Series
BezierRenderDataTransform as for alternative line smoothing that stays within the data range
SmoothStackedMountainRenderableSeries which uses a the new Bezier smoothing
Startup animations (eg Scale, wave, sweep) can now be reversed
Startup animations now support onComplete callback
Individual series within a stacked collection can now be animated
Engineering formatting for axis and data labels. 1,000,000 -> 1M etc
Add option to completely disable the loader by setting loader:false in surface create
Non-Uniform heatmap support for CursorModifier
SVG Annotations will retain their z order when updated
ContourSeries now uses stroke color and thickness properly
Startup animations on spline series again properly apply the smoothing during the animation
SCJS-1693 Fixed that trying to render some extended characters would break native text rendering
SCJS-1754 workaround a browser issue where a canvas could be cleared when switching tabs
Several NaN related issues fixed in this release. We do our best to support them, but still advise you to avoid them if possible. If you need gaps in a series, consider using a paletteProvider and setting the color transparent.
Added PaletteFactory.createYGradient which takes a set of gradient stops and returns a paletteProvider which colours based on y value
You can now set indivdual parts of the sciChartSurface.padding and the chart will automatically redraw
Setting EAnnotationLayer.BelowChart on an svgAnnotation will now behave as foreground (the old behaviour) rather than throw an error
SCJS-1749 Fix seriesInfo equality check when data contains NaN, fixing continuous render when using rollover or cursor with NaNs
SCJS-1750 Add support for negative z values in Heatmap series
SCJS-1752 Fix line palleting is off by one if the dataSeries contains NaN
Some notable new features in this release. See the new annotation layer options in action in the new Annotation Layers demo. A demo of the new SmartDateLabelProvider features is coming soon.
Svg Annotations (including CustomAnnotation) can now be placed behind the chart using annotationLayer: EAnnotationLayer.Background
SS.ms Date formatting and automatic use of this in SmartDateLabelProvider
dateOffset added to SmartDateLabelProvider allowing for extremely high precision dates (with reduced range)
Animation support for series using renderDataTransforms
Fixed animations for spline chcarts would animate lines but not pointmarkers
Logarithmic axis now uses new autoRange: once detection properly
Two small but important fixes.
(0,10) is no longer a magic range that would cause autoRange: once to fire.
SCJS-1722 Charts with startup animations no longer display one frame of the final state at the start
Just a few little fixes and improvements in this release. Lots going on behind the scenes.
SJCS-1724 Fix crash with spline series if created with no data
SCJS-1715 Fix error if CursorModifier is used with a hitTestRadius on a heatmap
SCJS-1677 SciChartVerticalGroup now copies layoutStrategies when adding a surface, stopping it from overwriting custom strategies.
We are now publishing .mjs versions of the bundled version of scichart.js if you want to use it with ESM. This is somewhat experimental at the moment but we are working towards using this for pure js versions of our examples. You can get this via CDN using https://cdn.jsdelivr.net/npm/scichart@3.3.570/index.min.mjs
Experimental - bundle files built as ESM modules
Fix a potential error when navigating away from a page with a pie chart
Fixed a licensing issue where multiple wilddard domains were not handled properly
As well as some bug fixes, this release contains some low level features that allow for precise control of when a chart is drawn. Setting createSuspended: true in the surface options will cause the chart to be created in a suspended state where it will not automatically render. You can then await scichartSurface.nextStateRender which will resolve once the chart is fully drawn, which depending on the configuration may involve several frame renders. We have done this to improve the performance of our visual tests, but there are some other potential uses which we will show examples of soon.
We have also added a significant number of performance monitoring points, using the Web Performance API, to aid in identifying performance bottlenecks. Check out the PerformanceDebugHelper class for details.
More licensing flexibility for applications using IP addresses as host name
SCJS-1718 fix crash when using paletteProvider with spline series
SCJS-1717 Rollover and Cursor modifiers using modifierGroup did not work correctly with subcharts
rendered event now fires once chart image is copied to target canvas, so performance measurements based on prerender to rendered are more accurate
PerformanceDebugHelper and performance monitoring points
createSuspended option on SciChartSurface and nextStateRender to enable callbacks on first chart draw
Important release. Please update.
This release fixes an critical licensing issue affecting any application deployed with a 3.2 version of SciChart. All users need to update.
SCJS-1710 Fixed 6 month community expiry prevents runtime key being applied
Small release mainly to fix a bug with rollover/hittest when using FIFO sweeping mode.
We are starting a process of trying to reduce the webassembly data file size. Minor changes initially, but expect significant improvements in v4 coming soonish.
Removed some unnecessary assets from data file
SCJS 1596 expose dataSeries.FindIndex and fix some minor bugs there.
SCJS 1701 - HitTest is wrong for fifo sweeping
This release fixes the issue with candlestick charts crashing on Safari (due to a Safari quirk which we managed to work around).
Modifiers with multiple subcharts are now slightly easier thanks to isActiveSubChartEvent
DefaultPaletteProvider still had shouldUpdatePalette false. Default false until v4
Js/scjs 1628 Fixed candlestick charts crashing on safari
Added isActiveSubChartEvent flag to ModifierMouseArgs usefull for sub charts with a modifierGroup
Auto cleanup subscriptions in DataPointSelectionModifier
SCRTDoubleVector does not push_pack correctly for capacity 1
A final release for this year to fix a performance edge case and also to make the default behaviour of PaletteProvider consistent with what it was before the change in 5.3.8, which is to recalculate the palette on every render. To get the performance benefit of reuse on a static palette you need to add the shouldUpdatePalette method to your PaletteProvider and return false if the palette can be reused. We will be changing this default in version 4 to reuse if at all possible.
PaletteProvider now defaults to always recalculate for back compatability.
SCJS-1685 Improve performance when series is panned out of view
As well as some more fixes, this release includes the new RenderDataTransforms. This is a low level api that allows you to transform your data just before it is drawn. SciChart currently uses it to do spline interpolation, but it has the potential to support all kinds of cool features, like changing the color of a line between data points (by adding extra geometry), and applying multiple different line styles and pointMarkers to a single series. Expect more documentation, demos and features using this in 2024.
The PaletteProvider api has also been improved. Palettes can now be reused, with a property (isRangeIndependant) and a function (shouldUpdatePalette) to control when palette recalculation should occur. You can now even take full control of the palette by implementing IAdvancedPaletteProvider, which gives you a single function call for all the data rather than a call per point.
Added RenderDataTransform api and used it for spline series
Allow palettes to be reused if nothing has changed
Added isRangeIndependant and shouldUpdatePalette to IPaletteProvider to control palette reuse
New IAdvancedPaletteProvider interface. This is a single method called instead of the per-point overrides. Its parameters give you access to the full data and palette
SCJS-1768 Added yRangeMode property to renderableSeries and set the default on this to revert to previous behaviour where the points just outside the visibleRange will be included in autoRange. This fixes issues where digital lines were escaping the axis when used on stacked axes.
SCJS-1683 Annotation coordinateMode Relative now works correctly on a stacked axis
SCJS-1682 Fixed hitTest could be offset when using CategoryAxis
Fixes for recently reported bugs and a new demo. Check out Draggable Event Markers
SCJS-1669 Make rollover work for stacked charts with multiple axes
SCJS-1670 Fix digital line being interpolated at the left edge of the chart
SCJS-1673 Fix errors if a RolloverModifier is removed and readded
SCJS-1764 VerticalSliceModifier should not be able to be dragged off the chart
Add showAxisLabel property for rollover and vertical slice
Minor update with bug fixes published to npm
SCJS-1527 Fix setting series.isVisible does not update legend visibility checkbox
Fix TypeScript Content Security Policy (CSP) style-arc error for RubberBandZoomModifier
Remove a console.log
Bugfixes, performance improvements and a few little features.
SCJS-1661 background and padding for TextAnnotation
SCJS-1655 shadowEffectColor on theme now applies to tooltips. To set indivdually use tooltipShadow for CursorModifier or renderableSeries.rolloverModifierProps.shadowColor for RolloverModifier AFTER the modifier has been added
SCJS-1660 Improve tooltip performacne and positioning with many series
SCJS-1278 Rename useWasmFromCDN to loadWasmFromCDN to avoid eslint errors
SCJS-1612 Fix Rollover tooltip positioning for vertical charts
Subcharts do not receive mousemove events when cursor is off the chart
Some quick fixes for issues reported on our forums.
SCJS-1656 fix External Legend positioning
SCJS-1657 DataLabels do not show properly for resampled data in some cases
axisTitleStyle option type should include rotation
A couple of small axis features in this release. We’ve also been working on a big new demo showcasing multiple synchronised charts called the Server Traffic Dashboard
SCJS-1637 cliptoYRange on renderableSeries allowing clipping to vertically stacked axis range
SCJS-1629 Add isStaticAxis property to axis which causes the labels and major gridlines to keep their initial positions when the visible range changes
SCJS-1634 SciChartVerticalGroup now synchronises axis widths
removed some unnecessary memory warnings
labelRadiusAdjustment should be a constructor option for SciChartPieSurface
SCJS-1633 Fix log axis slows the chart badly when zoomed far in
Fix datalabels not displaying when pointGap is 0, ie for single point, or vertically aligned data
SciChart.JS now supports running in secure contexts using the “Content-Security-Policy” header set to “wasm-unsafe-eval”
Content-Security-Policy header wasm-unsafe-eval now fully supported
Clarified documentation on Observable.asArray
Legend appeared offset when using vertically stacked subcharts
Cursor tooltip not showing correctly for unsorted scatter data if hitTestRadius 0
See the demo of the new VerticalSliceModifier at demo.scichart.com/javascript-chart-vertical-slice-modifier
New Feature - VerticalSliceModifier. Looks like the RolloverModifier, but programatically placed at a particular data or pixel position
Handle cases where pie segments have 0 value
fix OHLC data series serialization
SCJS-1603 Add remove method to Vertical Group and automatically remove surface from group when it is deleted
SCJS-1602 Mark all series unhovered when cursor leaves the seriesViewRect
SCJS-1601 Toggling axis.isVisible no longer breaks labels
SCJS-1548 Fix Data Series serialization. Improvements to NaN/null handling and metadata
SCJS-1611 Fix rollover error if invisible series is made visible
Fix parseColorToHexStringArgb with zero opacity override
This release (hopefully) marks the completion of changes required to enable SciChart.JS to be used with TypeScript strict mode enabled.
SCJS-1604 isEnabled for DataLabelProviders
SCJS-1608 Fix datalabels not showing for single point
SCJS-1609 Fix datalabels not generating properly with vertical chart
SCJS-1605 Fix Rollover could not find registered tooltip template
Fix Insert for XyText inserted text in the wrong place
Fixed type mismatch in getters and setters allowing for strict mode
SCJS-1958 Fix palette not indexed correctly when zoom/pan a mountain or band series
Progress on strict mode support
Fix types mismatch in getters and setters
Now that we have optional automatic webassembly disposal, deleting and creating a new chart could result in the creation of a new webassembly context. These fixes ean this will automatically get the license applied.
Make extra sure that the license will be applied if a new wasmcontext is being created
Fix license not reapplied if wasmcontext has been disposed
In 3.2 by default we clip the data that is sent to be drawn to what is actually visible. In some edge cases this might lead to undesired behaviour, so we’ve added axis.clipToXRange which allows you to disable this.
SCJS-1579 clipToXRange property to allow for disabling the new clipping to visibleRange for x axis
SCJS-1592 Partial fix for ring around pointmarkers with paletteProvider
SCJS-1591 AutoRange should use acutally visible data
Remove unnecessary logging
Minor update v3.2 included a large number of improvements & fixes. Find out more at the release note here.
Community Licensing! Free for non-commercial use
Added DataSeries FIFO (First in-First out) mode
Added DataSeries FIFO Sweeping mode for wrap-around charts
Initialize DataSeries with Capacity
PointMarker - draw lastPointOnly mode
Memory leak debugging tools
Optional delete on clear/remove from collections
Allow configuring WebGL Buffer sizes in low-memory environments
3D Point Line RenderableSeriers Chart
3D Tooltips via TooltipModifier3D
3D Pinch to Zoom functionality
New Custom Manual Legend control
Allow annotations below gridlines
Example: JavaScript 3D Point Line Chart
Example: Quadrant Chart using Background Annotations
Example: Interactive Waterfall Spectrogram Demo
Example: Dynamic Layout demo
Example: Realtime Surface Mesh 3D Chart Demo
Updated to Emscripten EMSDK 3.1 and Clang 17
2D/3D Touch Interaction
Faster Wasm Module Initialization
Allow rotating axis titles
Output build stamp diff in case of mismatch
Multiple Documentation improvements
Replaced getElementById with querySelector alternative for better support; allows ids generated by useId React hook
SCJS-1512 Can’t draw a line series on category axis with 2 points
SCJS-1496 Crash on ZoomExtents over axis with IsAnimated false
SCJS-1478 Autorange gives unexpected values when one series has constant values
SCJS-1302 Bug of Chart Overview when CTRL + A
SCJS-1499 Constructor option for DataSeriesName on 3D DataSeries is ignored
SCJS-1480 Rollover Tooltips don’t display outside the range of stacked axis
SCJS-1518 Drop full dependency on TypeScript, leaving only Dev dependency
SCJS-1483 Changing PointMarker in 3D Charts does not update the chart
Fix draw error on fifo band series
SCJS-1113 Fixed UniformHeatmapRenderableSeries not updating if xStep, xStart, yStep, yStart changed
SCJS-866 PinchZoomModifier eats mouse events if it is added before other modifiers
Fix subcharts error when resizing too fast
SCJS-1519 DataSeries.removeRange doesn’t resize native indexes
This was a prerelease
Fix fifo for BandSeries
Fix SplineBandseries
Prevent double deletion of Legend
SCJS-1576 fix DateTimeDeltaCalculator infinite recursion with some values
Fix calculation of startIndex when drawing.
Minor update v3.1 included a large number of improvements & fixes. Find out more at the release note here.
Updated 60+ documentation pages to include Builder API and codepen embeds
Updated all demos to include contextual documentation and codesandbox links
“Just Works” (no license required) for sandbox sites
Added global exports for npm, index.min.js
Added a ChartTitle property to SciChartSurface
CustomChartModifier, CustomChartModifier3D type
Performance Boost of 50-100% when calling dataSeries.appendRange
Performance Boost by enabling WebGL Axis Titles when useNativeText is enabled
Performance Boost by Caching Axis Title rendering
SCJS-1453 Text Annotation Adorners size issue in Firefox
SCJS-1451 dragStarted event occurs when an Annotation is deselected
SCJS-1456 When drag BoxAnnotation resize adorner outside viewport, get ‘Cannot read properties of undefined (reading ‘x’)’ error
SCJS-852 LayoutStrategy properties on LayoutManager do not trigger a redraw
SCJS-1442 Trial Watermark corrupted on mobile
SCJS-1367 dataSeries.removeAt() method throws “memory access out of bounds error”
SCJS-1438 XyDataSeries.insertRange fails with “memory access out of bounds”
SCJS-1439 XyDataSeries.removeAt(i) can fail with “memory access out of bounds”
SCJS-1440 Labeling issues after zoom interactions
SCJS-1436 Maximum call stack size exceeded with ScaleOffsetFilter
SCJS-1416 Handle usage of executeOn for RolloverModifier
SCJS-1413 changing AxisCore.isVisible from false to true does not invalidate SciChartSurface
SCJS-1336 CursorModifier does not update when setting style properties
SCJS-1414 Setting axisBorder on invisible axis causes an error
SCJS-935 Create Nuxt.js sample project with scichart
SCJS-1181 Feature / Document Rollover Tooltip for nearest point only
SCJS-1405 MouseWheelZoomModifier throws an error for invisible axis
Cumulative release note for SciChart.js v3.0, which is covered in detail here
New: Native Text Rendering Engine - WebGL hardware accelerated text
New: DataLabels API adding text labels to data-points automatically
New: FastTextRenderableSeries type
New NativeTextAnnotation type
New SubCharts API (linked Charts, and Charts within Charts)
New Non-Uniform Heatmap Chart Type
New Heatmap Legend Control
New Navy Theme
Auto Coloring of Series based on a theme
Performance Boost: Multi-pane stock chart performance improvements using SubCharts API
Performance Boost: Hundreds of micro-optimisations throughout the code
Performance Boost: NumericAxis Async Labels for faster performance
Performance Boost: Native text system in axis for faster performance
Performance Boost: 10x Faster Performance for hundreds of charts scenario by using SubCharts API
Performance Boost: 10x Faster Performance for Uniform Heatmap updating
Example: Added an Axis Types demo
Example: Added an Axis Layout feature demo
Example: Updated our trading demos such as realtime ticking stock charts, candlestick chart, and depth chart
Example: Created a rich heatmap interactions demo
Example: Created client/server websocket streaming demo
Example: Created Oil & Gas Dashboard demo
Example: Created Generic Animations demo
Example: Created SubCharts Dashboard Performance demo
Example: Created a new FastTextRenderableSeries – Text Cloud demo
SCJS-1345 drawNaNAs Polyline not working
SCJS-1163 useWasmFromCDN only configures 2D
SCJS-1172 series.isVisible doesn’t hide pointmarkers
SCJS-1161 Need clear license message if trialling a version that is too old
SCJS-1177 Box annotation looks wrong with very thick border
SCJS-548 Cannot align a HorizontalLineAnnotation left or right
SCJS-550 Cannot align a VerticalLineAnnotation Top or Bottom
SCJS-1173 After 2.2.2378 release chart redraw is broken if delete is not being called
SCJS-1180 LineAnnotation grip handle incorrect behavior
SCJS-1187 SeriesSelection errors if any series is invisible
SCJS-1189 DateAxis Ticks and labels disappear when zoomed way out
SCJS-1186 ServerSide Licensing fails with CreateSingle
SCJS-1205 Axis Background Drawing Issue
SCJS-1207 Scientific format shows NaNx10- for 0
SCJS-1208 Error in HitTest if series without dataSeries is added to a surface with a modifier
SCJS-1237 Documentation for heatmap is out of date
SCJS-1212 Investigate rendering performance of heatmap dynamically updated with large size 12000×5000
SCJS-1270 Pie chart does not render a single segment
SCJS-1240 Pointer Events Capture Issue on Annotations
SCJS-1092 Heatmap Series Serialization issues – NaNs are serialized as nulls, deserialization fails to handle null values properly
SCJS-1238 drawNaNs Polyline doesn’t handle multiple sequential NaNs
SCJS-1223 Axis Label Bugs – 0 disappears from chart when old labels are used and you go to the line chart demo and back.
SCJS-1277 When overriding tooltipSvgTemplate, tooltip no longer shifts
SCJS-1267 SVG annotation has shifted adorner borders
SCJS-1295 Selecting annotations at a drag point causes the annotation to shift / resize
SCJS-1294 Add strokeDashArray to the Spline Line series options
SCJS-1306 Theme background is not applied before the initial frame
SCJS-539 SplineLine, Mountain and Band do not support StrokeDashArray
SCJS-1349 SmartDateLabelProvider values don’t work for a 1-minute chart
SCJS-1222 Add missing SciChartSurface properties into the serialization output
SCJS-1347 SciChartOverview not updating when data set after overview creation
SCJS-1318 SurfaceMeshRenderableSeries3D and ScatterRenderableSeries3D Don’t obey opacity
SCJS-1319 AxisBase3D doesnt obey autoTicks = false and manual major/minor deltas
SCJS-1333 When Axis has no series, any animate Zoom Extents operation on the axis causes a crash
SCJS-1335 MouseWheelZoomModifier does not set SciChartSurface.zoomState to EZoomState.UserZooming
SCJS-1357 Sync multi chart + Rollover = trying to access a deleted CoordinateCalculator
SCJS-1321 3D Charts clip when in the same webpage as a 2D chart
SCJS-1341 Codesandbox.io frequently throwing errors with scichart
SCJS-1148 Special License for codesandbox.io
SCJS-1376 Overview Annotation overflowing visiblerange
Complete re-work of the SciChart Demo brand, examples and styles
Cumulative release note for SciChart.js v2.1
Add explanation error message for trial expired on old version (SCJS-886)
Add AxisRenderer.axisSize property which allows setting axis label width
Add includeAxis property to MouseWheelZoomModifier
Add AxisRenderer.axisThickness (SCJS-953)
Prevent CursorModifier axis labels to be cut out of the chart (SCJS-980)
Allow passing div element reference into SciChartSurface.create to make SciChart.js possible to use in shadow DOM (SCJS-974)
Display performance warnings in dev environment (SCJS-984)
Improve guard checks for data series creation (SCJS-981)
Snap RolloverModifier vertical line to data points (SCJS-623)
Optimize getXRange() algorithm for unsorted data (SCJS-888)
Added Documentation & Examples for new Generic Animations API
Added Generic Animations example to the Demo app
Optimizations for Annotation notifyPropertyChange method not to be called if the property has not changed
Better error message if wasm cannot be loaded, or the wrong version loaded
Add a property to configure stacked axis length (SCJS-954)
Auto-detecting data distribution flags in DataSeries (flags dataSeries.isSorted, dataSeries.containsNaN). Specifying these flags gives better performance in big-data scenarios.
Added labels support outside of a Pie Chart
Added Documentation of how to use SciChart.js in vannilla HTML/Js (without npm) using our Browser Bundle served by CDN
Added Documentation for Performance Tips & Tricks
Added Documentation for new Data-point Resampling features
Fix an error for LineAnnotation with a hidden label (SCJS-850)
Fix several SciChartOverview-related bugs
Fix a resize surface issue for annotation adorner layer (SCJS-844)
Added FloatArray64 array support for DataSeries
Fix MouseWheelZoomModifier zooming in issue for LogarithmicAxis (SCJS-881)
Fix axis labels population for flipped coordinates (SCJS-884)
Fix RolloverModifier tooltip to use the series stroke as the default color (SCJS-776)
display the trial watermark correctly for small charts (SCJS-892)
Fix clearing the legend with sciChartSurface.chartModifiers.clear() (SCJS-916)
Fix a caching problem for SmartLabelProvider (SCJS-920)
Fix mouse wheel and zoom extends on inner axis with applyToChart property set to False
Fix annotation borders calculation to take into account xCoordShift (SCJS-959). This bug resulted in an incorrect hit-test for annotations.
Fix drawing render context annotations below series (SCJS-919)
Fix rendering category axis without data (SCJS-946)
Fix RolloverModifier tooltips bug (SCJS-975)
Fix CursorModifier to apply axisLabelFill and axisLabelStroke correctly (SCJS-979)
Fix an infinite loop problem for multiple charts (SCJS-988)
Fix RolloverModifier error when it was used without a data series
Fix runtime license not applied if it has started looking for license wizard (SCJS-991)
draw gradient correctly when canvas resize (SCJS-826)
Handle visibleRangeLimit properly when scrolling (SCJS-962)
Performance Boost: Optimised data transfers from JavaScript to WebAssembly
Performance Boost: Improved Rollover tooltip performance
Performance Boost: Async Label creation
Performance Boost: Improved raw drawing speed of graphics engine by > 100%
Performance Boost: Smart Data-point Resampling
Performance Boost: DataSeries creation, updating orders of magnitude faster
Cumulative release note for SciChart.js v2.0 including the 2.0-beta version.
Series Selection
DataPoint Selection
Logarithmic Axis
Central / Inner Axis
Vertically Stacked Axis
Axis Label Customisation
Builder API
JSON Deserialization / Serialization API
Point Metadata API
Filters (Data Transforms) API
Style and Data Animations
Transparent, Image or Blurred/Glass Backgrounds
Loader animation Customisation
SciChartOverview Scrollbar Control
Retina / High DPI Display / Browser Zoom Support
TextLabelProvider added to Axis APIs
Improving hit-test API results
improving overall reliability, adding helpful error messages and improving usability of APIs
Fix delete was unsubscribing from some events, causing JavaScript memory leaks
Fix Annotation Adorners not being cleared
Fix AxisMarkerAnnotation shows wrong value for vertical chart
Fix RubberBandXyZoomModifier only honours EXyDirection.XyDirection
Fix performance issue if tick settings would result in too many labels.
Fix Error if Logarithmic x-axis used with no data
Fix Annotation dragging when using vertical charts / flipped coordinates
Option to drag horizontal and vertical line annotations by their axis label
Improved handling of select and resize of overview annotation
Legend now supports wrapping and is easier to customise
Improved rollover modifier tooltip positioning
ICandlestickSeriesOptions renamed
RubberBandSvgRect renamed
TEasing renamed to TEasingFn
TGridLineStyle.strokeDasharray renamed
Multiple Rollover modifier breaking changes
hitTest function moved to hitTestprovider
Shader effect classes
UniformHeatmapDataSeries constructor updated
additional IThemeProvider fields
LabelProvider.formatLabel
SciChartPieSurface.create() parameter changes
SciChartSurface.create() parameters updated
Formatting enums renamed

