Lets-Plot Compose Frontend Changelog
June 30, 2026 ยท View on GitHub
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. All scales should have the 'format' parameter.
[3.2.2] - 2026-06-30
Compatibility
All artifacts were built with the following versions of dependencies:
-
Kotlin 2.3.20
-
Compose Multiplatform: 1.11.1
-
Lets-Plot Kotlin API: 4.15.0
-
Lets-Plot Multiplatform: 4.11.0
-
kotlinx-datetime: 0.7.1
-
kotlinx-coroutines: 1.8.0
Changed
Updated dependencies:
- Lets-Plot 4.11.0
- Lets-Plot Kotlin API 4.15.0
- kotlinx datetime 0.7.1
- kotlin logging 7.0.14
Fixed
- Crash in WasmJS app when showing tooltips.
[3.2.0] - 2026-05-27
Compatibility
All artifacts were built with the following versions of dependencies:
-
Compose Multiplatform: 1.11.0
-
Lets-Plot Kotlin API: 4.14.0
-
Lets-Plot Multiplatform: 4.10.1
-
kotlinx-datetime: 0.6.2
-
kotlinx-coroutines: 1.8.0
Kotlin 2.3.20, as required for Compose web platforms.
Added
- WasmJS support.
[3.1.0] - 2026-03-20
Compatibility
All artifacts were built with the following versions of dependencies:
Added
-
Interactivity (Desktop):
- Support for custom toolbar. See a simple example implementation: SandboxToolbarCmp.
- Support for plot default interactions.
For more details, see Custom Toolbar and Default Interactions demo in the "lets-plot-compose-demos" repository.
Changed
-
Artifact changes in the core Lets-Plot library (v4.9.0):
[BREAKING] Desktop only: removed
plot-image-exportmodule.
Theorg.jetbrains.lets-plot:lets-plot-image-exportartifact is no longer available.
ThePlotImageExportutility has been moved to theplatf-awtmodule:org.jetbrains.letsPlot.awt.plot.PlotImageExport.
Add the optionalorg.jetbrains.lets-plot:platf-awtdependency to enable image export functionality on the Desktop platform.
[3.0.2] - 2025-12-22
Compatibility
All artifacts were built with the following versions of dependencies:
Changed
- Updated the toolbar look and feel.
- New required dependency in Desktop target:
implementation(compose.components.resources)
Fixed
- Hyperlinks didn't open on the Desktop platform.
[3.0.1] - 2025-12-02
Compatibility
All artifacts were built with the following versions of dependencies:
Added
- Android: support for
PNGexport inggsave()[#30].
Changed
-
[BREAKING] Artefacts
org.jetbrains.lets-plot:canvasandorg.jetbrains.lets-plot:plot-raster
are now required dependencies for both Desktop and Android platforms.
See REDAME.md "Dependencies" section for details. -
Android: rendering using Compose Canvas instead of Android View
Fixed
geomRasteruses incorrect colours [#46].
[3.0.0] - 2025-09-19
Note
The GitHub repository was renamed from lets-plot-skia to lets-plot-compose.
Compatibility
All artifacts were built with the following versions of dependencies:
Added
- Multiplatform project example, see: Lets-Plot Compose Demos
Changed
- [BREAKING]
PlotPanelhas been moved to packageorg.jetbrains.letsPlot.compose(fromorg.jetbrains.letsPlot.skia.compose).
Android
- Removed dependency on the Skiko library.
This eliminates Skiko compatibility issues,
ensures all library artifacts are built with the latest Compose Multiplatform version,
and simplifies integration of the Lets-Plot Compose Library in Android projects.
Desktop
- Pure compose implementation.
- The following artifacts are no longer provided:
platf-skia-awtlets-plot-swing-skia
Fixed
- When zooming the page with the mouse, a black layer appears when refreshing [#12]
- When using a dark theme, white lines appear on the sides of the plot [#37]
- Plot rendering issues when switching between tabs in the tabbed pane [#38]
- Display problem of lets-plot-skia when switching pages [#42]
- Markdown: missing bold and italic text style support [#44]
[2.2.1] - 2025-06-11
Compatibility
- Android temporarily not supported due to SKIKO-761.
- Compose Multiplatform 1.7.0-1.7.3
- Skiko 0.8.15 and 0.8.18
- Lets-Plot Kotlin API 4.10.0
- Lets-Plot Multiplatform 4.6.2
Fixed
-
The problem occurs when I put two PlotPanels in Row or Column [#32].
See/run demo MultiplePlotsWithToolbar.kt
[2.2.0] - 2025-03-31
Compatibility
- Android temporarily not supported due to SKIKO-761.
- Compose Multiplatform 1.7.0-1.7.3
- Skiko 0.8.15 and 0.8.18
- Lets-Plot Kotlin API 4.10.0
- Lets-Plot Multiplatform 4.6.2
Added
ggtb()support (Desktop)
Changed
- Lets-Plot Kotlin version to 4.10.0
- Lets-Plot version to 4.6.2
- Reduced flickering when resizing the plot window.
[2.1.1] - 2024-12-17
Compatibility
- Android temporarily not supported due to SKIKO-761.
- Compose Multiplatform 1.7.0 and 1.7.1
- Skiko 0.8.15 and 0.8.18
- Lets-Plot Kotlin API 4.9.3
- Lets-Plot Multiplatform 4.5.2
Changed
- Kotlin version to 2.1.0
- Lets-Plot Kotlin version to 4.9.3
- Lets-Plot version to 4.5.2
[2.1.0] - 2024-12-12
Compatibility
- Android temporarily not supported due to SKIKO-761.
- Compose Multiplatform 1.7.0 and 1.7.1
- Skiko 0.8.15 and 0.8.18
- Lets-Plot Kotlin API 4.9.2 (and up)
- Lets-Plot Multiplatform 4.5.1 (and up)
Added
-
Interactive links in tooltips/labels/texts [LP-1091].
See example notebook.
Changed
- Kotlin 2.0.20 and Compose multiplatform 1.7.0 support [#24].
[2.0.0] - 2024-08-30
Dependencies
- Compose Multiplatform 1.6.10
- Skiko 0.8.4
- Lets-Plot Kotlin API 4.8.0 (and up)
- Lets-Plot Multiplatform 4.4.1 (and up)
Important
To migrate to this version, you need to update your project build script.
See examples in the lets-plot-compose-demos repository:
- Android minimal demo.
- Android median demo.
- Android animation demo.
Changed
- Kotlin 2.0.0 and Compose 1.6.10 support [#11].
[1.0.4] - 2024-08-26
Dependencies
- Compose Multiplatform 1.6.2
- Skiko 0.7.92
- Lets-Plot Kotlin API 4.8.0 (and up)
- Lets-Plot Multiplatform 4.4.1 (and up)
Note: This build is NOT compatible with Lets-Plot v4.3.3 and earlier.
Fixed
- Sluggish UI on Ubuntu 24.04 [#13].
- When setting the title to Chinese, Chinese garbled characters appear [#14].
- fontfamily aes is not supported [#15].
- theme(exponent="pow") doesn't align text properly [#19].
[1.0.3] - 2024-03-21
Added
- Support for round
clip-pathforcoordPolar(). - Support for
geomCurve().
Changed
Dev settings were updated:
-
Gradle: v 8.6
-
Kotlin: v1.9.22
-
Android Gradle Plugin (AGP): v8.2.2 (see notes below)
-
Compose Multiplatform: v1.6.1
-
Androidx activity-compose: v1.8.2
-
Skiko: v0.7.92 (see notes below)
-
Lets-Plot Multiplatform: v4.3.0
-
Lets-Plot Kotlin API: v4.7.0
Notes:
- Minimum required JDK: 17.
- KMP is not yet compatible with AGP 8.3 and up.
- Skiko found to have issues with Android devtools (build, emulator):
- Skiko v0.7.93 and higher crashes in emulator on ARM arch.
- Skiko v0.7.98.1 crashes in emulator on x86 and AMR arch.
[1.0.2] - 2023-11-30
Fixed
- Panel flickering when updating data [#6].
[1.0.1] - 2023-11-09
Fixed
- Crashes in Android when rebuild a PlotPanel ("keep aspect ratio" or plot spec change).
- Unexpected redraw [#2].
- DisposableEffect is not called.
[1.0.0] - 2023-10-05
Added
- Support for Android, Compose Desktop and Java Swing platforms.
- Examples in a separate GitHub repository: lets-plot-compose-demos.