Skip to content

Releases: patrykandpatrick/vico

v2.5.2

21 Jun 11:27
d52646f

Choose a tag to compare

Overview

  • breaking changes: none
  • addressed: #1517

Common

  • Fixed AreaFill.single and AreaFill.double sometimes painting the area fill on the wrong side of the line for degenerate or self-intersecting line paths, such as those produced by strongly curved or custom point connectors. Area fills are now built as a single polygon closed to the split line and positioned with canvas clipping rather than a boolean path operation, so degenerate subjects can no longer invert the fill.

v3.2.2

04 Jun 10:45
9bbc96a

Choose a tag to compare

Overview

  • breaking changes: none
  • addressed: #1509

compose

  • Restored the Kotlin/JS browser target for the compose, compose-m2, and compose-m3 artifacts.
  • Restored executable Wasm binaries for the published Compose web variants.

v3.2.1

31 May 20:37
d772197

Choose a tag to compare

Overview

  • breaking changes: none
  • addressed: #1025

Common

  • Improved LineCartesianLayer fade-in performance by compositing all series onto a single offscreen layer per frame rather than one per series. This also prevents interseries bleed-through during the intro animation.

v3.2.0

31 May 15:22
cceb5bf

Choose a tag to compare

Overview

Common

  1. Added visiblePadding to LineCartesianLayer.Interpolator.
  2. Prevented the built-in CartesianLayer implementations from trimming their data to their reported x-ranges (sometimes incompletely).
  3. Fixed the default x-step ignoring minimum-x overrides. getXStep has new minX and maxX parameters; the single-parameter variant is deprecated.
  4. Fixed a bug in which combo charts could show only one series in the marker when targets shared an x-position. Marker-target narrowing now compares horizontal positions with a subpixel tolerance instead of exact Float equality, so targets that coincide at the same x are all kept, while grouped columns still narrow to the tapped one.
  5. Renamed candlestickSeries, columnSeries, and lineSeries to candlestickModel, columnModel, and lineModel, respectively. The old functions are deprecated.
  6. Introduced a key system for CartesianLayer models and series. candlestickModel and the series factory functions have new key parameters; keys set here are exposed downstream. This makes it easier and more robust to associate styles and events with models and series, and it lets CartesianLayerDrawingModelInterpolator implementations better handle nonfinal-series deletion.
  7. In connection with change 6, added ColumnCartesianLayerModel.Entry.seriesKey, LineCartesianLayerModel.Entry.seriesKey, CartesianLayerDrawingModel.seriesKeys, and CandlestickCartesianLayerMarkerTarget.modelKey.
  8. In connection with change 6, adjusted the signatures of several functions and constructors. The old overloads are deprecated; see the deprecation messages for more. There’s one minor breaking change: LineCartesianLayer.LineProvider.getLine has a new seriesKey parameter at the start.1
  9. In connection with change 6, updated the default CartesianLayerDrawingModelInterpolator implementation to more inteligently handle nonfinal-series deletion when series keys are provided.

compose

  • Added a compose-glance module, which provides CartesianChartImage and PieChartImage composables for Glance widgets.
  • Fixed an issue where single-slice pie charts could render blank.
  • Fixed ShapeComponent ignoring margins.
  • Fixed zero-duration automatic scrolls being delayed by a frame.
  • Fixed an issue where charts with markers could needlessly consume taps and long presses, blocking upstream detection.
  • Fixed VerticalAxis using titleComponent instead of label for Size.Text.
  • Fixed LineCartesianLayer.rememberLine omitting dataLabelValueFormatter from the key list, leading to skipped recompositions.
  1. LineCartesianLayer.LineProvider is a functional interface, and Kotlin offers no means of effectively updating the signature of such an interface’s abstract function in a backward-compatible manner. Introducing a replacement interface would’ve created API pollution disproportional to this trivial change.

v3.2.0-next.6

31 May 11:32
a00a7de

Choose a tag to compare

v3.2.0-next.6 Pre-release
Pre-release

Overview

  • breaking changes: none
  • addressed: #1491

Common

  • Fixed a bug in which combo charts could show only one series in the marker when targets shared an x-position. Marker-target narrowing now compares horizontal positions with a subpixel tolerance instead of exact Float equality, so targets that coincide at the same x are all kept, while grouped columns still narrow to the tapped one.

v2.5.1

31 May 16:28
9859a5c

Choose a tag to compare

Overview

Common

  • Prevented the built-in CartesianLayer implementations from trimming their data to their reported x-ranges (sometimes incompletely).
  • Fixed a bug in which combo charts could show only one series in the marker when targets shared an x-position. Marker-target narrowing now compares horizontal positions with a subpixel tolerance instead of exact Float equality, so targets that coincide at the same x are all kept, while grouped columns still narrow to the tapped one.

multiplatform

  • Fixed ShapeComponent ignoring margins.
  • Fixed VerticalAxis using titleComponent instead of label for Size.Text.

v3.2.0-next.5

17 May 14:31
b85bcef

Choose a tag to compare

v3.2.0-next.5 Pre-release
Pre-release

Overview

  • breaking changes: negligible
  • external contributors: @jared-loseit

Common

  • In CandlestickCartesianLayerDrawingModel, renamed key to modelKey.

compose

  • Fixed LineCartesianLayer.rememberLine omitting dataLabelValueFormatter from the key list, leading to skipped recompositions.

v3.2.0-next.4

16 May 18:11
462aa79

Choose a tag to compare

v3.2.0-next.4 Pre-release
Pre-release

Overview

  • breaking changes: minor
  • addressed: #924, #1414

Common

  1. For clarity, renamed candlestickSeries, columnSeries, and lineSeries to candlestickModel, columnModel, and lineModel, respectively. The old functions are deprecated.
  2. Introduced a key system for CartesianLayer models and series. candlestickModel and the series factory functions have new key parameters; keys set here are exposed downstream. This makes it easier and more robust to associate styles and events with models and series, and it lets CartesianLayerDrawingModelInterpolator implementations better handle nonfinal-series deletion.
  3. In connection with change 2, added ColumnCartesianLayerModel.Entry.seriesKey, LineCartesianLayerModel.Entry.seriesKey, CartesianLayerDrawingModel.seriesKeys, and CandlestickCartesianLayerMarkerTarget.modelKey.
  4. In connection with change 2, adjusted the signatures of several functions and constructors. The old overloads are deprecated; see the deprecation messages for more. There’s one minor breaking change: LineCartesianLayer.LineProvider.getLine has a new seriesKey parameter at the start.1
  5. In connection with change 2, updated the default CartesianLayerDrawingModelInterpolator implementation to more inteligently handle nonfinal-series deletion when series keys are provided.
  1. LineCartesianLayer.LineProvider is a functional interface, and Kotlin offers no means of effectively updating the signature of such an interface’s abstract function in a backward-compatible manner. Introducing a replacement interface would’ve created API pollution disproportional to this trivial change.

v2.5.0

09 May 11:31
da922af

Choose a tag to compare

Overview

Common

  • Fixed the default x-step ignoring minimum-x overrides. getXStep has new minX and maxX parameters; the single-parameter variant is deprecated.
  • Fixed an issue where the CartesianMarker framework conflated items with equal x-values but different pixel x-coordinates, such as grouped columns in ColumnCartesianLayers.
  • Fixed HorizontalBox and HorizontalLine omitting y and label in equals, leading to skipped updates.

v3.2.0-next.3

03 May 09:05
0f3d1c4

Choose a tag to compare

v3.2.0-next.3 Pre-release
Pre-release

Overview

  • breaking changes: none
  • addressed: #1320

Common

  • Fixed the default x-step ignoring minimum-x overrides. getXStep has new minX and maxX parameters; the single-parameter variant is deprecated.