diff --git a/CHANGELOG.md b/CHANGELOG.md
index fb18b11af..1c56bac9d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,58 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). All scales should have the 'format' parameter.
+## [4.8.0] - 2024-08-20
+
+This release is 100% compatible with [Lets-Plot v 4.4.0](https://github.com/JetBrains/lets-plot/releases/tag/v4.4.0).
+
+### Added
+
+- Waterfall plot [[#975](https://github.com/JetBrains/lets-plot/issues/975)]:
+
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/waterfall_plot.ipynb).
+
+- `geomBand()` [[#733](https://github.com/JetBrains/lets-plot/issues/733)]:
+
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/us_unemployment.ipynb).
+
+- Custom legends [[#774](https://github.com/JetBrains/lets-plot/issues/774)]:
+ - `manualKey` parameter in plot layer
+ - `layerKey()` function
+
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/manual_legend.ipynb).
+
+- In legends:
+ - `title` parameter in `guideLegend()` and `guideColorbar()` functions
+
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/legend_title.ipynb).
+
+ - override aesthetics in the `guideLegend()` function [[#807](https://github.com/JetBrains/lets-plot/issues/807)]:
+
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/legend_override_aes.ipynb).
+
+- `plotTitlePosition` and `plotCaptionPosition` parameters in `theme()` [[#1027](https://github.com/JetBrains/lets-plot/issues/1027)].
+
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/theme_plot_title_position.ipynb).
+
+- `threshold` parameter in `geomHistogram()` [[#1122](https://github.com/JetBrains/lets-plot/issues/1122)].
+
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/geom_histogram_threshold.ipynb).
+
+### Changed
+
+- The triangular point shape is now anchored to the data point via the centroid
+
+### Fixed
+
+- ggsave (.svg) transforms geom_text integer to float [[#626](https://github.com/JetBrains/lets-plot/issues/626)].
+- Int DataFrame column names are being converted to float string representation [[#901](https://github.com/JetBrains/lets-plot/issues/901)].
+- `linetype` = 0 ("blank") should make lines invisible [[#712](https://github.com/JetBrains/lets-plot/issues/712)].
+- `geomDensity2D, geomDensity2DFilled`: support weight aesthetic [[#791](https://github.com/JetBrains/lets-plot/issues/791)].
+- Discrete axis labels unnecessarily rotate 90 degrees when applying coord system limits.
+- Axis title via `labs()` breaks the date-time scale [[#1113](https://github.com/JetBrains/lets-plot/issues/1113)].
+- JavaFX IllegalArgumentException: Unsupported attribute `display` in Pane.
+
+
## [4.7.3] - 2024-05-30
This release is 100% compatible with [Lets-Plot v 4.3.3](https://github.com/JetBrains/lets-plot/releases/tag/v4.3.3).
diff --git a/README.md b/README.md
index 8f6e49fcd..f5055ae14 100644
--- a/README.md
+++ b/README.md
@@ -67,7 +67,7 @@ See the "Quickstart" notebook in [Datalore](https://datalore.jetbrains.com/view/
- [Compose Multiplatform](#in-compose-multiplatform)
- [JVM and Kotlin/JS](#in-jvm-js)
- [Documentation](#documentation)
-- [What is new in 4.7.0](#new)
+- [What is new in 4.8.0](#new)
- [Recent Updates in the Gallery](#recent_gallery_updates)
- [Change Log](#change_log)
- [Code of Conduct](#CoC)
@@ -103,7 +103,7 @@ In this case the latest `library descriptor` will be pulled from the [Kotlin Jup
#### Library Descriptor Parameters
```
-%use lets-plot(api=4.7.3, lib=4.3.3, js=4.3.3, isolatedFrame=false)
+%use lets-plot(api=4.8.0, lib=4.4.0, js=4.4.0, isolatedFrame=false)
```
- `api` - version of the Lets-Plot Kotlin API.
- `lib` - version of the Lets-Plot Multiplatform (JARs).
@@ -134,51 +134,36 @@ Examples of using of the Lets-Plot Kotlin API in JVM and Kotlin/JS applications
-## What is new in 4.7.0
+## What is new in 4.8.0
-- #### `coordPolar()`
+- #### Waterfall Plot
+
- The polar coordinate system is most commonly used for pie charts, but
- it can also be used for constructing **Spider or Radar charts** using the `flat` option.
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/waterfall_plot.ipynb).
-
-
-
-
- See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.7.0/coord_polar.ipynb).
-
-- #### In the `theme()`:
-
- - `panelInset` parameter - primarily used for plots with polar coordinates.
- See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.7.0/theme_panel_inset.ipynb).
+- #### **`geomBand()`**:
+
- - `panelBorderOntop` parameter - enables the drawing of panel border on top of the plot geoms.
- - `panelGridOntop, panelGridOntopX, panelGridOntopY` parameters - enable the drawing of grid lines on top of the plot geoms.
-
-- #### `geomCurve()`
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/geom_band.ipynb).
+- #### Custom Legends
+ - `manualKey` parameter in plot layer
+ - `layerKey()` function
-
-
- See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.7.0/geom_curve.ipynb).
+
-- #### [**UNIQUE**] Visualizing Graph-like Data with `geomSegment()` and `geomCurve()`
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/manual_legend.ipynb).
- - Aesthetics `sizeStart, sizeEnd, strokeStart` and `strokeEnd` enable better alignment of
- segments/curves with nodes of the graph by considering the size of the nodes.
+- #### Customizing Legends Appearance
+ Override aesthetics in the `guideLegend()` function.
- - The `spacer` parameter allows for additional manual fine-tuning.
-
-
-
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.8.0/legend_override_aes.ipynb).
- See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.7.0/graph_edges.ipynb).
-- #### The `alphaStroke` Parameter in `geomLabel()`
+- #### And More
- Use the `alphaStroke` parameter to apply `alpha` to entire `label`. By default, `alpha` is only applied to the label background.
+ See [CHANGELOG.md](https://github.com/JetBrains/lets-plot-kotlin/blob/master/CHANGELOG.md) for a full list of changes.
- See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.7.0/geom_label_alpha_stroke.ipynb).
## Recent Updates in the [Gallery](https://lets-plot.org/kotlin/gallery.html)
diff --git a/USAGE_BATIK_JFX_JS.md b/USAGE_BATIK_JFX_JS.md
index d74e040e3..f015bc1ab 100644
--- a/USAGE_BATIK_JFX_JS.md
+++ b/USAGE_BATIK_JFX_JS.md
@@ -52,9 +52,9 @@ plugins {
dependencies {
// Lets-Plot Kotlin API
- implementation("org.jetbrains.lets-plot:lets-plot-kotlin-jvm:4.7.3")
+ implementation("org.jetbrains.lets-plot:lets-plot-kotlin-jvm:4.8.0")
// Lets-Plot Multiplatform (Batik rendering)
- implementation("org.jetbrains.lets-plot:lets-plot-batik:4.3.3")
+ implementation("org.jetbrains.lets-plot:lets-plot-batik:4.4.0")
}
```
@@ -75,9 +75,9 @@ plugins {
dependencies {
// Lets-Plot Kotlin API
- implementation("org.jetbrains.lets-plot:lets-plot-kotlin-jvm:4.7.3")
+ implementation("org.jetbrains.lets-plot:lets-plot-kotlin-jvm:4.8.0")
// Lets-Plot Multiplatform (JFX Scene rendering)
- implementation("org.jetbrains.lets-plot:lets-plot-jfx:4.3.3")
+ implementation("org.jetbrains.lets-plot:lets-plot-jfx:4.4.0")
}
```
@@ -95,7 +95,7 @@ kotlin {
named("jsMain") {
dependencies {
// Lets-Plot Kotlin API
- implementation("org.jetbrains.lets-plot:lets-plot-kotlin-js:4.7.3")
+ implementation("org.jetbrains.lets-plot:lets-plot-kotlin-js:4.8.0")
}
}
}
@@ -193,7 +193,7 @@ val rawSpec = figure.toSpec()
```kotlin
val html: String = PlotHtmlExport.buildHtmlFromRawSpecs(
plotSpec = rawSpec,
- scriptUrl = PlotHtmlHelper.scriptUrl(version="4.3.3"),
+ scriptUrl = PlotHtmlHelper.scriptUrl(version="4.4.0"),
iFrame = true
)
```
diff --git a/build.gradle.kts b/build.gradle.kts
index d6388a038..6729a9c7f 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -25,8 +25,8 @@ if (project.file("local.properties").exists()) {
allprojects {
group = "org.jetbrains.lets-plot"
version = when (name) {
- "dokka" -> "4.7.4"
- else -> "4.7.4-SNAPSHOT"
+ "dokka" -> "4.8.0"
+ else -> "4.8.1-SNAPSHOT"
// else -> "0.0.0-SNAPSHOT" // for local publishing only
}
diff --git a/docs/examples/jupyter-notebooks/f-4.8.0/geom_histogram_threshold.ipynb b/docs/examples/jupyter-notebooks/f-4.8.0/geom_histogram_threshold.ipynb
index ccb1a05c6..96db6a705 100644
--- a/docs/examples/jupyter-notebooks/f-4.8.0/geom_histogram_threshold.ipynb
+++ b/docs/examples/jupyter-notebooks/f-4.8.0/geom_histogram_threshold.ipynb
@@ -23,7 +23,7 @@
{
"data": {
"text/html": [
- "
DataFrame: rowsCount = 3, columnsCount = 12
\n", - "untitled | manufacturer | model | displ | year | cyl | trans | drv | cty | hwy | fl | class |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | audi | a4 | 1,800000 | 1999 | 4 | auto(l5) | f | 18 | 29 | p | compact |
2 | audi | a4 | 1,800000 | 1999 | 4 | manual(m5) | f | 21 | 29 | p | compact |
3 | audi | a4 | 2,000000 | 2008 | 4 | manual(m6) | f | 20 | 31 | p | compact |
untitled | manufacturer | model | displ | year | cyl | trans | drv | cty | hwy | fl | class |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | audi | a4 | 1.800000 | 1999 | 4 | auto(l5) | f | 18 | 29 | p | compact |
2 | audi | a4 | 1.800000 | 1999 | 4 | manual(m5) | f | 21 | 29 | p | compact |
3 | audi | a4 | 2.000000 | 2008 | 4 | manual(m6) | f | 20 | 31 | p | compact |