Skip to content

Releases: patrykandpatrick/vico

v3.1.0-alpha.1

08 Mar 19:55
7de6664

Choose a tag to compare

v3.1.0-alpha.1 Pre-release
Pre-release

Overview

  • breaking changes: none
  • addressed: #1208

Common

  • In LineCartesianLayer, deprecated PointConnector and introduced Interpolator. The new interface receives all points, enabling true polyline-level interpolation (e.g., Catmull–Rom splines). Interpolator has three built-in singletons and factory functions: Sharp and cubic, functionally identical to their PointConnector counterparts, and catmullRom. Compared to cubic, catmullRom produces straight line segments instead of steps for collinear points.

v3.0.3

07 Mar 11:50
5d5e4ec

Choose a tag to compare

Overview

Common

  • Fixed HorizontalBox and HorizontalLine omitting y and label in equals, leading to skipped updates.

v3.0.2

28 Feb 17:11
091b374

Choose a tag to compare

Overview

Common

  • Fixed an issue where the CartesianMarker framework conflated items with equal x-values but different pixel x-coordinates, such as grouped columns in ColumnCartesianLayers.

v3.0.1

25 Feb 09:00
2956328

Choose a tag to compare

Overview

Common

  • Improved CartesianChart and CartesianLayer performance.

v3.0.0

21 Feb 19:20
aeec793

Choose a tag to compare

Overview

Restructuring

compose and multiplatform

The Jetpack Compose module, previously called compose, has been removed in favor of the Compose Multiplatform module, which also supports Jetpack Compose and is now stable. The Compose Multiplatform module has been renamed from multiplatform to compose.

Migration from Vico 2 multiplatform

  1. Adjust the module name(s) in the dependency declaration(s):
    • multiplatformcompose
    • multiplatform-m2compose-m2
    • multiplatform-m3compose-m3
  2. Update the version name (2.4.03.0.0).
  3. Replace all multiplatform imports (com.patrykandpatrick.vico.multiplatformcom.patrykandpatrick.vico.compose).
  4. If required, address points 2 and 10 under “Common” (below).

Migration from Vico 2 compose

  1. Replace all usages of deprecated APIs.
  2. If your project explicitly declares core as a dependency, remove this declaration.
  3. Update the version name (2.4.03.0.0). Given the aforementioned name change, the Compose Multiplatform module will be downloaded; no dependency-declaration changes are needed.
  4. Replace all core imports (com.patrykandpatrick.vico.corecom.patrykandpatrick.vico.compose).
  5. The API surface of the Compose Multiplatform module is largely the same as that of the retired Jetpack Compose Module and core combined, but some discrepancies exist. Refer to the guide, the API reference, and the sample charts for details. See also points 2 and 10 under “Common” (below).
    • There are some basic high-level differences, which are straightforward to adapt to. For example, the Compose Multiplatform module uses Compose’s Shape instead of its own abstraction.
    • If you have a custom implementation of a Vico interface that draws on the canvas—such as a custom Component—then you’ll find that DrawingContext now exposes the Compose Multiplatform canvas (androidx.compose.ui.graphics.Canvas) rather than the native Android canvas (android.graphics.Canvas). You can either migrate to the Compose canvas or simply access the native canvas via Canvas.nativeCanvas, retaining the same drawing logic.

core and views

core previously had two dependents: the Jetpack Compose module and the view module. With the removal of the former, core has been merged into views. All deprecated APIs have been removed. Migrate as follows:

  1. Replace all usages of deprecated APIs.
  2. If your project explicitly declares core as a dependency, remove this declaration.
  3. Update the version name (2.4.03.0.0).
  4. Replace all core imports (com.patrykandpatrick.vico.corecom.patrykandpatrick.vico.views).
  5. If required, address points 2 and 10 under “Common” (below).

Common

  1. Improved LineCartesianLayer performance.
  2. Converted title to an ExtraStore lambda in BaseAxis, HorizontalAxis, and VerticalAxis.
  3. Made CartesianChart call Decoration.drawUnderLayers before Axis.drawUnderLayers. This enables Decorations to draw content under HorizontalAxis and VerticalAxis guidelines.
  4. Added CartesianLayerRangeProvider.Intrinsic.
  5. Opened TextComponent.draw for overriding.
  6. Updated data carriers to override toString for easier debugging.
  7. Fixed empty VerticalLegends reserving space for padding.
  8. Fixed HorizontalAxis instances with Axis.Position.Horizontal.Top ignoring line when reporting their height.
  9. Fixed VerticalAxis shortening line from the bottom when VerticalAxis.ItemPlacer.getShiftTopLines returns false.
  10. Removed the no-op default implementation of Axis.updateAxisDimensions.

Vico 2 support

Bug reports for Vico 2 will be accepted until June 30, 2026. Bug fixes will be provided until July 31, 2026.

v3.0.0-beta.4

15 Feb 13:29
132e694

Choose a tag to compare

v3.0.0-beta.4 Pre-release
Pre-release

Overview

  • breaking changes: none
  • addressed: #1025

Common

  • Improved LineCartesianLayer performance.

v2.4.3

24 Jan 15:24
5acf849

Choose a tag to compare

Overview

  • breaking changes: none
  • addressed: #1345

compose

  • Fixed CartesianMarkerController never receiving Interaction.LongPress.

v3.0.0-beta.3

24 Jan 13:40
e0c0538

Choose a tag to compare

v3.0.0-beta.3 Pre-release
Pre-release

Overview

Common

  • Fixed the incomplete processing of extra-only CartesianChartModelProducer.Transactions.

compose

  • Fixed CartesianMarkerController never receiving Interaction.LongPress.

v2.4.2

24 Jan 13:43
e0c0538

Choose a tag to compare

Overview

core

  • Fixed the incomplete processing of extra-only CartesianChartModelProducer.Transactions.

multiplatform

  • Fixed the incomplete processing of extra-only CartesianChartModelProducer.Transactions.
  • Fixed CartesianMarkerController never receiving Interaction.LongPress.

v3.0.0-beta.2

13 Jan 20:37
e0a415f

Choose a tag to compare

v3.0.0-beta.2 Pre-release
Pre-release

Overview

Common

  • Added CartesianLayerRangeProvider.Intrinsic.
  • Made CartesianChart call Decoration.drawUnderLayers before Axis.drawUnderLayers. This enables Decorations to draw content under HorizontalAxis and VerticalAxis guidelines.