| Name | Modified | Size | Downloads / 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
- breaking changes: moderate
- addressed: #713 comment, [#931], [#1025], #1175 comment, [#1294], [#1298], [#1330]
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
- Adjust the module name(s) in the dependency declaration(s):
multiplatform→composemultiplatform-m2→compose-m2multiplatform-m3→compose-m3- Update the version name (
2.4.0→3.0.0). - Replace all
multiplatformimports (com.patrykandpatrick.vico.multiplatform→com.patrykandpatrick.vico.compose). - If required, address points 2 and 10 under “Common” (below).
Migration from Vico 2 compose
- Replace all usages of deprecated APIs.
- If your project explicitly declares
coreas a dependency, remove this declaration. - Update the version name (
2.4.0→3.0.0). Given the aforementioned name change, the Compose Multiplatform module will be downloaded; no dependency-declaration changes are needed. - Replace all
coreimports (com.patrykandpatrick.vico.core→com.patrykandpatrick.vico.compose). - The API surface of the Compose Multiplatform module is largely the same as that of the retired Jetpack Compose Module and
corecombined, 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
Shapeinstead 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 thatDrawingContextnow 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 viaCanvas.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:
- Replace all usages of deprecated APIs.
- If your project explicitly declares
coreas a dependency, remove this declaration. - Update the version name (
2.4.0→3.0.0). - Replace all
coreimports (com.patrykandpatrick.vico.core→com.patrykandpatrick.vico.views). - If required, address points 2 and 10 under “Common” (below).
Common
- Improved
LineCartesianLayerperformance. - Converted
titleto anExtraStorelambda inBaseAxis,HorizontalAxis, andVerticalAxis. - Made
CartesianChartcallDecoration.drawUnderLayersbeforeAxis.drawUnderLayers. This enablesDecorations to draw content underHorizontalAxisandVerticalAxisguidelines. - Added
CartesianLayerRangeProvider.Intrinsic. - Opened
TextComponent.drawfor overriding. - Updated data carriers to override
toStringfor easier debugging. - Fixed empty
VerticalLegends reserving space forpadding. - Fixed
HorizontalAxisinstances withAxis.Position.Horizontal.Topignoringlinewhen reporting their height. - Fixed
VerticalAxisshorteninglinefrom the bottom whenVerticalAxis.ItemPlacer.getShiftTopLinesreturnsfalse. - 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.