Skip to content

Commit 27e0890

Browse files
committed
Release v4.6.0
1 parent e5c5fda commit 27e0890

File tree

7 files changed

+95
-84
lines changed

7 files changed

+95
-84
lines changed

CHANGELOG.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,84 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres
66
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). All scales should have the 'format' parameter.
77

8+
## [4.6.0] - 2024-01-10
9+
10+
### Added
11+
12+
- The `levels` parameter in `asDiscrete()` function [[#931](https://github.com/JetBrains/lets-plot/issues/931)].
13+
14+
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/factor_levels.ipynb).
15+
16+
- Support for superscript for numbers in scientific notation [[#743](https://github.com/JetBrains/lets-plot/issues/743)].
17+
18+
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/superscript_exponent.ipynb).
19+
20+
- Sharing of X,Y-scale limits between subplots in `gggrid()` [[#718](https://github.com/JetBrains/lets-plot/issues/718)].
21+
22+
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/gggrid_scale_share.ipynb).
23+
24+
- `geomSpoke()` [[#738](https://github.com/JetBrains/lets-plot/issues/738)].
25+
26+
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/geom_spoke.ipynb).
27+
28+
- `scaleXLog2(), scaleYLog2()` [[#922](https://github.com/JetBrains/lets-plot/issues/922)].
29+
30+
- New variables computed by `'count'` and `'count2d'` statistics: `'..sumprop..'`, `'..sumpct..'` [[#936](https://github.com/JetBrains/lets-plot/issues/936)].
31+
32+
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/new_stat_count_vars.ipynb).
33+
34+
- Support using dictionaries for breaks/labels/values customization in `scaleXxx()` functions [[#169](https://github.com/JetBrains/lets-plot/issues/169)], [[#882](https://github.com/JetBrains/lets-plot/issues/882)].
35+
36+
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/scale_params_with_dict.ipynb).
37+
38+
- The `lablim` parameter for `scaleXxx()` functions [[#939](https://github.com/JetBrains/lets-plot/issues/939), [#946](https://github.com/JetBrains/lets-plot/issues/946)].
39+
40+
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/scale_lablim.ipynb).
41+
42+
- `labelText` parameter in `theme()` for annotation text settings [[#930](https://github.com/JetBrains/lets-plot/issues/930)].
43+
44+
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/theme_label_text.ipynb).
45+
46+
47+
48+
### Changed
49+
50+
- **[BREAKING]** Function `margin()` is deprecated and will be removed in future releases. <br/>
51+
Please replace all existing usages, i.e. `theme(plotMargin=margin(..))` and `elementText(margin=margin(..))` <br/>
52+
with a list or with just a number:
53+
- a number or list of one number - the same margin it applied to **all four sides**;
54+
- a list of two numbers - the first margin applies to the **top and bottom**, the second - to the **left and right**;
55+
- a list of three numbers - the first margin applies to the **top**, the second - to the **right and left**,
56+
the third - to the **bottom**;
57+
- a list of four numbers - the margins are applied to the **top, right, bottom and left** in that order.
58+
59+
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/margins.ipynb).
60+
61+
- Geotools: migrate to v30 [[#217](https://github.com/JetBrains/lets-plot-kotlin/issues/217)]. <br/>
62+
**[BREAKING]** GeoTools v30 and up is not backward compatible with v29 and below due to <br/>
63+
renaming of all "org.opengis" packages into "org.geotools.api" ones. <br/>
64+
See release notes: http://geotoolsnews.blogspot.com/2023/09/geotools-30-rc-released.html
65+
66+
- Upgraded Apache Batik to version 1.17 [[#887](https://github.com/JetBrains/lets-plot/issues/887)]
67+
68+
69+
### Fixed
70+
71+
- Jitter reproducibility in geomJitter, positionJitter, positionJitterDodge [[#911](https://github.com/JetBrains/lets-plot/issues/911)].
72+
- Bug with Tooltips in Swing/Batik [[#225](https://github.com/JetBrains/lets-plot-kotlin/issues/225)].
73+
- Facets: order = 0 doesn't work as expected [[#923](https://github.com/JetBrains/lets-plot/issues/923)].
74+
- Enormous CPU / Time/ Memory consumption on some data [[#932](https://github.com/JetBrains/lets-plot/issues/932)].
75+
- gggrid: composite plot is not visible if saved with ggsave [[#942](https://github.com/JetBrains/lets-plot/issues/942)].
76+
- gggrid doesn't override global theme [[#966](https://github.com/JetBrains/lets-plot/issues/966)].
77+
- Marginal box-plots aren't shown when requested on more than 1 plot side.
78+
- Marginal plot: use "pen" as default color for marginal layers.
79+
- `gggrid()` doesn't use global theme settings.
80+
- NumberFormat: `g` format doesn't use e-notation for small numbers [[#965](https://github.com/JetBrains/lets-plot/issues/965)].
81+
- Tooltips: graphical artifacts and bad performance in multi-line plot in Batik [[#967](https://github.com/JetBrains/lets-plot/issues/967)].
82+
- Wrong tooltip position on `geom_segment()` with position adjustment [[#963](https://github.com/JetBrains/lets-plot/issues/963)].
83+
- `geomBoxplot()`: use `outlierAlpha` to boxplot outliers (not apply `alpha`).
84+
85+
886
## [4.5.0] - 2023-11-06
987

1088
### Added

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ In this case the latest `library descriptor` will be pulled from the [Kotlin Jup
101101
#### Library Descriptor Parameters
102102

103103
```
104-
%use lets-plot(api=4.5.0, lib=4.1.0, js=4.1.0, isolatedFrame=false)
104+
%use lets-plot(api=4.6.0, lib=4.2.0, js=4.2.0, isolatedFrame=false)
105105
```
106106
- `api` - version of the Lets-Plot Kotlin API.
107107
- `lib` - version of the Lets-Plot Multiplatform (JARs).

USAGE_BATIK_JFX_JS.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ plugins {
5252

5353
dependencies {
5454
// Lets-Plot Kotlin API
55-
implementation("org.jetbrains.lets-plot:lets-plot-kotlin-jvm:4.5.0")
55+
implementation("org.jetbrains.lets-plot:lets-plot-kotlin-jvm:4.6.0")
5656
// Lets-Plot Multiplatform (Batik rendering)
57-
implementation("org.jetbrains.lets-plot:lets-plot-batik:4.1.0")
57+
implementation("org.jetbrains.lets-plot:lets-plot-batik:4.2.0")
5858
}
5959
```
6060

@@ -75,9 +75,9 @@ plugins {
7575

7676
dependencies {
7777
// Lets-Plot Kotlin API
78-
implementation("org.jetbrains.lets-plot:lets-plot-kotlin-jvm:4.5.0")
78+
implementation("org.jetbrains.lets-plot:lets-plot-kotlin-jvm:4.6.0")
7979
// Lets-Plot Multiplatform (JFX Scene rendering)
80-
implementation("org.jetbrains.lets-plot:lets-plot-jfx:4.1.0")
80+
implementation("org.jetbrains.lets-plot:lets-plot-jfx:4.2.0")
8181
}
8282
```
8383

@@ -95,7 +95,7 @@ kotlin {
9595
named("jsMain") {
9696
dependencies {
9797
// Lets-Plot Kotlin API
98-
implementation("org.jetbrains.lets-plot:lets-plot-kotlin-js:4.5.0")
98+
implementation("org.jetbrains.lets-plot:lets-plot-kotlin-js:4.6.0")
9999
}
100100
}
101101
}
@@ -193,7 +193,7 @@ val rawSpec = figure.toSpec()
193193
```kotlin
194194
val html: String = PlotHtmlExport.buildHtmlFromRawSpecs(
195195
plotSpec = rawSpec,
196-
scriptUrl = PlotHtmlHelper.scriptUrl(version="4.1.0"),
196+
scriptUrl = PlotHtmlHelper.scriptUrl(version="4.2.0"),
197197
iFrame = true
198198
)
199199
```

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ if (project.file("local.properties").exists()) {
2525
allprojects {
2626
group = "org.jetbrains.lets-plot"
2727
version = when (name) {
28-
"dokka" -> "4.5.0"
29-
else -> "4.6.0-SNAPSHOT"
28+
"dokka" -> "4.6.0"
29+
else -> "4.6.1-SNAPSHOT"
3030
// else -> "0.0.0-SNAPSHOT" // for local publishing only
3131
}
3232

docs/geotools.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ val data: SpatialDataset = featureCollection.toSpatialDataset()
2828

2929
The instance of `SpatialDataset` then can be passed to a plot geometry layer via the `map` or `data` parameters.
3030

31-
```python
31+
```kotlion
3232
letsPlot() + geomPolygon(map = data, fill = "white", color = "gray")
3333
```
3434

@@ -60,7 +60,7 @@ the artifact `lets-plot-kotlin-geotools` must be included to make the `toSpatial
6060

6161
You can include it into a Gradle project.
6262
```groovy
63-
implementation 'org.jetbrains.lets-plot-kotlin:lets-plot-kotlin-geotools:4.5.0'
63+
implementation 'org.jetbrains.lets-plot-kotlin:lets-plot-kotlin-geotools:4.6.0'
6464
```
6565

6666
[ ![Download](https://api.bintray.com/packages/jetbrains/lets-plot-maven/lets-plot-kotlin-jars/images/download.svg)](https://bintray.com/jetbrains/lets-plot-maven/lets-plot-kotlin-jars/_latestVersion)
@@ -69,16 +69,16 @@ The `gt-geojson` artifact from GeoTools must be also included.
6969
```groovy
7070
dependencies {
7171
...
72-
implementation "org.jetbrains.lets-plot-kotlin:lets-plot-kotlin-geotools:4.5.0"
73-
implementation "org.geotools:gt-geojson:$geotools_version"
72+
implementation "org.jetbrains.lets-plot-kotlin:lets-plot-kotlin-geotools:4.6.0"
73+
implementation "org.geotools:gt-geojson:[30,)"
7474
...
7575
}
7676
```
7777

78-
The `lets-plot-kotlin-api` artifact v4.5.0 was compiled with GeoTools v29.2. However, it doesn't declare any run-time dependency, so
78+
The `lets-plot-kotlin-api` artifact was compiled with GeoTools v30.1. However, it doesn't declare any run-time dependency, so
7979
you are free to use other versions of the GeoTools toolkit.
8080

81-
> **Note:** Lets-Plot v4.5.0 is not compatible with GeoTools v30 and higher.
81+
> **Note:** Since v4.6.0 Lets-Plot is only compatible with GeoTools v30 and later.
8282
8383
<a id="examples-jvm"></a>
8484
#### JVM-based examples

future_changes.md

Lines changed: 1 addition & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,7 @@
1-
## [4.6.0] - 2024-01-dd
1+
## [4.6.1] - 2024-mm-dd
22

33
### Added
44

5-
- The `levels` parameter in `asDiscrete()` function [[#931](https://github.com/JetBrains/lets-plot/issues/931)].
6-
7-
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/factor_levels.ipynb).
8-
9-
- Support for superscript for numbers in scientific notation [[#743](https://github.com/JetBrains/lets-plot/issues/743)].
10-
11-
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/superscript_exponent.ipynb).
12-
13-
- Sharing of X,Y-scale limits between subplots in `gggrid()` [[#718](https://github.com/JetBrains/lets-plot/issues/718)].
14-
15-
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/gggrid_scale_share.ipynb).
16-
17-
- `geomSpoke()` [[#738](https://github.com/JetBrains/lets-plot/issues/738)].
18-
19-
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/geom_spoke.ipynb).
20-
21-
- `scaleXLog2(), scaleYLog2()` [[#922](https://github.com/JetBrains/lets-plot/issues/922)].
22-
23-
- New variables computed by `'count'` and `'count2d'` statistics: `'..sumprop..'`, `'..sumpct..'` [[#936](https://github.com/JetBrains/lets-plot/issues/936)].
24-
25-
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/new_stat_count_vars.ipynb).
26-
27-
- Support using dictionaries for breaks/labels/values customization in `scaleXxx()` functions [[#169](https://github.com/JetBrains/lets-plot/issues/169)], [[#882](https://github.com/JetBrains/lets-plot/issues/882)].
28-
29-
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/scale_params_with_dict.ipynb).
30-
31-
- The `lablim` parameter for `scaleXxx()` functions [[#939](https://github.com/JetBrains/lets-plot/issues/939), [#946](https://github.com/JetBrains/lets-plot/issues/946)].
32-
33-
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/scale_lablim.ipynb).
34-
35-
- `labelText` parameter in `theme()` for annotation text settings [[#930](https://github.com/JetBrains/lets-plot/issues/930)].
36-
37-
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/theme_label_text.ipynb).
38-
39-
40-
415
### Changed
426

43-
- **[BREAKING]** Function `margin()` is deprecated and will be removed in future releases. <br/>
44-
Please replace all existing usages, i.e. `theme(plotMargin=margin(..))` and `elementText(margin=margin(..))` <br/>
45-
with a list or with just a number:
46-
- a number or list of one number - the same margin it applied to **all four sides**;
47-
- a list of two numbers - the first margin applies to the **top and bottom**, the second - to the **left and right**;
48-
- a list of three numbers - the first margin applies to the **top**, the second - to the **right and left**,
49-
the third - to the **bottom**;
50-
- a list of four numbers - the margins are applied to the **top, right, bottom and left** in that order.
51-
52-
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/margins.ipynb).
53-
54-
- Geotools: migrate to v30 [[#217](https://github.com/JetBrains/lets-plot-kotlin/issues/217)]. <br/>
55-
**[BREAKING]** GeoTools v30 and up is not backward compatible with v29 and below due to <br/>
56-
renaming of all "org.opengis" packages into "org.geotools.api" ones. <br/>
57-
See release notes: http://geotoolsnews.blogspot.com/2023/09/geotools-30-rc-released.html
58-
59-
- Upgraded Apache Batik to version 1.17 [[#887](https://github.com/JetBrains/lets-plot/issues/887)]
60-
61-
627
### Fixed
63-
64-
- Jitter reproducibility in geomJitter, positionJitter, positionJitterDodge [[#911](https://github.com/JetBrains/lets-plot/issues/911)].
65-
- Bug with Tooltips in Swing/Batik [[#225](https://github.com/JetBrains/lets-plot-kotlin/issues/225)].
66-
- Marginal box-plots aren't shown when requested on more than 1 plot side.
67-
- `gggrid()` doesn't use global theme settings.
68-
- Facets: order = 0 doesn't work as expected [[#923](https://github.com/JetBrains/lets-plot/issues/923)].
69-
- Enormous CPU / Time/ Memory consumption on some data [[#932](https://github.com/JetBrains/lets-plot/issues/932)].
70-
- gggrid: composite plot is not visible if saved with ggsave [[#942](https://github.com/JetBrains/lets-plot/issues/942)].
71-
- gggrid doesn't override global theme [[#966](https://github.com/JetBrains/lets-plot/issues/966)].
72-
- NumberFormat: `g` format doesn't use e-notation for small numbers [[#965](https://github.com/JetBrains/lets-plot/issues/965)].
73-
- Tooltips: graphical artifacts and bad performance in multi-line plot in Batik [[#967](https://github.com/JetBrains/lets-plot/issues/967)].
74-
- Wrong tooltip position on `geom_segment()` with position adjustment [[#963](https://github.com/JetBrains/lets-plot/issues/963)].
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
lets_plot.version=4.2.0
2-
lets_plot_kotlin_api.version=4.6.0-SNAPSHOT
2+
lets_plot_kotlin_api.version=4.6.0

0 commit comments

Comments
 (0)