Download Latest Version v3.0.3 source code.tar.gz (960.2 kB)
Email in envelope

Get an email when there's a new version of Vico

Home / v3.0.0
Name Modified Size InfoDownloads / Week
Parent folder
android-sample-debug.apk 2026-02-21 17.2 MB
README.md 2026-02-21 4.4 kB
v3.0.0 source code.tar.gz 2026-02-21 830.8 kB
v3.0.0 source code.zip 2026-02-21 1.2 MB
Totals: 4 Items   19.2 MB 1

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):
  2. multiplatformcompose
  3. multiplatform-m2compose-m2
  4. multiplatform-m3compose-m3
  5. Update the version name (2.4.03.0.0).
  6. Replace all multiplatform imports (com.patrykandpatrick.vico.multiplatformcom.patrykandpatrick.vico.compose).
  7. 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).
  6. 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.
  7. 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.

Source: README.md, updated 2026-02-21