Skip to main content
Version: 8.3.2

v5.0.1

[5.0.1] - 2023-11-08

Original release news here

warning

This version is not available under @lightningchart in NPM. It can only be accessed via legacy @arction organization.

Added

  • Shared WebGL Context rendering.
    • Removes the old 16 chart limit. Now you can have 1000+ charts on a single page depending on the hardware running the page.
    • Has two modes:
      • Individual canvas mode. In this mode each chart is render to it's own canvas. This is the default mode.
      • Shared canvas mode. All charts are render to a single shared canvas. Can have better performance than the individual canvas mode.
    • See Developer Documentation "Grouping charts" for more information
    • Starting with LCJS v5.0.0, it's important to do only one call to the lightningChart() library
  • Added automatic sandbox licensing.
    • When charts are used in specific, popular sandbox sites (like Stack Overflow, Codepen, JSFiddle), the charts work automatically, without passing any license.
  • New event isInView
    • This event is triggered when a chart becomes visible in the browser viewport.
  • dispose() to the library entry point interface (lightningChart())`
    • This can be used to dispose the shared WebGL context and all charts that have been created with it.
  • Added option to have different fonts and fill styles within result table content.
    • See changes to ResultTableContent and TableContentBuilder.addRow
  • Added PointShape.Arrow, Cross, Diamond, Minus, Plus, Star
  • Added HeatmapScrollingGridSeriesIntensityValues.invalidateIntensityValues, getSampleCount methods
    • Allows backwards invalidation of previously added samples and pushing data by sample index.
    • Directed to make heatmap time series applications more convenient.
  • Added MapChart.getRegionUnderMouse
  • Added ResultTable.setPadding, ResultTable.getPadding
  • Added auto cursors to PieChart, FunnelChart and PyramidChart
    • New methods: setAutoCursor, getAutoCursor, setAutoCursorMode, getAutoCursorMode, setCursorResultTableFormatter
  • Added optional matchStyleExactly flag when adding components to legend box to match button color exactly to attached components rather than making default gradient
  • Added PieChartWithLabelsOnSides.setLabelSliceOffset, getLabelSliceOffset, setLabelConnectorGapStart, getLabelConnectorGapStart, setLabelConnectorEndLength, getLabelConnectorEndLength
  • Added option to captureFrame method to return the result as a Data URL.
    • See LegendBoxAddOptions in API reference to learn more.
  • Added UICheckBox.setTextFillStyleHidden, getTextFillStyleHidden methods

Changed

  • Changed non-commercial license terms
    • Before, omitting license key meant approving to non-commercial use terms
    • Now, license key is always required. Get a license at https://lightningchart.com/js-charts/#license-key
  • Reworked OHLCSeries.
    • Performance massively improved. Loading time 40x faster, data capacity 200x more (average desktop GPU).
    • See migration guide for instructions of using reworked feature.
  • Reworked ZoomBandChart
    • The feature has been reimplemented from scratch with two goals: better UX + simpler API.
    • See migration guide for details.
  • Refactored FigureSeries (RectangleSeries, SegmentSeries, PolygonSeries, BoxSeries, EllipseSeries)
    • Main motivation to improve performance greatly, enabling use cases that need large numbers of figures.
    • New implementation is much more performance efficient, on average ~50x more powerful or even more.
  • Changed visual look of LegendBox buttons.
    • Now the text and button are dimmed when series is hidden, rather than the previous "check box ticked" approach.
  • Built-in Themes cursor gridstroke style changed to DashedLine
  • Changed interfaces around tick styles.
    • TickStyle should now be only needed interface. It has all APIs necessary for styling axis ticks.
    • emptyTick can be used as convenience to hide ticks completely.
    • VisibleTicks and EmptyTicks classes are removed.
    • When mutating a tick style, there is no longer a need to check isVisibleTicks in TypeScript applications.
    • This should mainly remove type errors, rather than introduce them.
  • LegendBox buttons now match the shape of attached point-based series.
    • Concerns following series: PointSeries, PointLineSeries, StepSeries, SplineSeries, PolarPointSeries, PolarPointLineSeries and SpiderSeries.
    • If this behavior is undesirable, it can be prevented like: LegendBox.add(component, { builder: UIElementBuilders.CheckBox })
    • This also let's you choose any shape from PointShape collection. See LegendBoxAddOptions in API reference for more information.
  • Changed parameters of onHighlight methods.
    • First parameter is now reference to object itself. Other parameters shifted right.
    • Change done to be symmetrical with other event APIs.
  • Changed parameters of CustomTick.onValueChange method.
    • First parameter is now reference to object itself. Other parameters shifted right.
    • Change done to be symmetrical with other event APIs.
  • Changed PointMarker API
    • Removed setStrokeStyle, getStrokeStyle
    • Added setShape, getShape, setRotation, getRotation
    • PointMarkers can no longer have borders, but their shape and rotation can be easily changed.
  • Changed default look of cursor PointMarkers
    • Previously was not visible, now it is a small crosshair
    • To restore previous look you can either use chart.setAutoCursor((cursor) => cursor.setPointMarkerVisible(false)) or theme: { ...Themes.darkGold, cursorPointMarkerFillStyle: emptyFill }
  • CursorPoint.series property name changed to owner and type to unknown.
  • PieChartWithLabelsOnSides visual look changed.
    • Labels are now next to labels rather than at left/right edges of chart area.
  • Moved SpiderChart axis nibs draw order behind series.
    • This was causing some cursor interaction issues due to the nibs having priority over series
  • Changed Theme properties:
    • +cursorPointMarkerSize
    • +cursorPointMarkerShape
    • +chartMarkerPointMarkerSize
    • +chartMarkerPointMarkerShape
    • +seriesMarkerPointMarkerFillStyle
    • +seriesMarkerPointMarkerSize
    • +seriesMarkerPointMarkerShape
    • +uiButtonFillStyleHidden
    • +uiTextFillStyleHidden
    • +ohlcCandleThicknessPixels
    • +ohlcCandleTailStrokeStylePositive
    • +ohlcCandleTailStrokeStyleNegative
    • +ohlcBarThicknessPixels
    • -ohlcCandleBodyStrokeStylePositive
    • -ohlcCandleBodyStrokeStyleNegative
    • -cursorPointMarkerStrokeStyle
    • -chartMarkerPointMarkerStrokeStyle

Removed

  • Removed BoxAndWhiskers, BoxFigureConstructor, CustomizableFigure, SimpleFigureSeries
    • Can be replaced with BoxSeries, BoxFigure
  • Removed Figure.setHighlight, getHighlight, onHighlight, offHighlight methods
    • They can still be used via the FigureSeries (same value shared for all figures)
  • Removed VisibleTicks, isVisibleTicks
    • Can be replaced with TickStyle, isTickStyle
  • Removed MarkerBuilders.XY
    • Can be replaced with MarkerBuilders.ChartMarkerXY or MarkerBuilders.SeriesMarkerXY instead
  • Removed PointMarkers, EmptyPointMarker, all generic type parameters related to PointMarkers
    • PointMarker concept still exists, but has been simplified. See PointMarker in API reference for more information.
  • Removed PieChartWithLabelsOnSides.getLabelConnectorGap, getLabelConnectorLength, setLabelConnectorGap, setLabelConnectorLength
  • Removed UICheckBoxBuilder.setPictureOff, setPictureOn methods
    • Replaced by setButtonShape method
  • Removed UICheckBox.setButtonOffSize, setButtonOnSize methods
    • Replaced by setButtonSize method
  • Removed UICheckBox.setButtonOnStrokeStyle, setButtonOffStrokeStyle methods
    • No equivalent method exists, check boxes no longer have borders, only fill style.

Fixed

  • Fixed some Firefox specific render and console warning issues
    • MapChart stroke not rendered and potentially other unidentified occurences.
  • Fixed ChartXY series background border sometimes being clipped 1 pixel on some sides
  • Fixed ChartXY axis stroke not aligning with series background border
    • Before axis stroke was offset by half its thickness so they partially overlapped.
  • Fixed effects leaking outside series area
  • Fixed PieChartWithLabelsOnSides pushing labels out of view.
  • Minor CPU performance optimizations for all chart types.
  • Fixed BarChart category axis title mispositioned with bipolar data set
  • Improved some situations where BarChart looked off when it had not been supplied data yet
  • Fixed BarChart value axis gridstroke plotted in wrong direction
  • Fixed ZoomBandChart missing series background style API

Deprecated

  • Deprecated all disableAnimations readonly configurations.
    • Added new animationsEnabled option to replace these.