Repository navigation
fix(deps): update org.jetbrains.lets-plot - #6815
Open
renovate-bot wants to merge 1 commit into
Open
renovate-bot wants to merge 1 commit into
renovate-bot wants to merge 1 commit into
Conversation
|
renovate-bot
force-pushed
the
renovate/org.jetbrains.lets-plot
branch
from
October 1, 2026 11:41
0c3318e to
41d889c
Compare
renovate-bot
force-pushed
the
renovate/org.jetbrains.lets-plot
branch
from
October 13, 2026 14:03
41d889c to
7a7f38d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.11.2→4.15.04.8.0→4.11.0Release Notes
JetBrains/lets-plot-kotlin (org.jetbrains.lets-plot:lets-plot-kotlin-jvm)
v4.15.0This release is 100% compatible with Lets-Plot v 4.11.0,
GeoTools v 33.2
Added
theme(): newtooltipMergeandtooltipMaxCountparameters to combine the general tooltips of multiple targets into a single tooltip.See: example notebook.
Text halos improve readability on varied backgrounds. New
haloWidthandhaloColorparameters are supported ingeomText()/geomTextRepel()and by labels incorrPlot().See: example notebook.
SpatialDatasetobjects can be displayed as compact preview tables in Kotlin notebooks [LPK-274].See: example notebook.
Fixed
hjust/vjust/anglejustification of vertical-axis tick labels (theme(axisTextY=elementText(...))).v4.14.1This release is 100% compatible with Lets-Plot v 4.10.3,
GeoTools v 33.2
Changed
v4.14.0This release is 100% compatible with Lets-Plot v 4.10.1,
GeoTools v 33.2
Added
WasmJS support [LPK-296], [LPC-52].
ggdeck()— a new function for overlaying multiple independent plots in a single unified view.In a typical scenario, one axis is shared by all plots in the deck, enabling dual-axis effects and multivariate comparisons.
See examples:
Datetime:
%fformatting pattern — support for milliseconds when formatting datetime values, zero-padded to 3 digits [#1482].See: example notebook.
In legends:
Aesthetic overrides in
guideLegend()can now customize filled 2D legend keys:sizecontrols the key border width;widthandheightcontrol the relative key size.See: example notebook.
Indication of removed records [LPK-81], [#686].
When records in data are dropped by active sampling or because they contain missing or out-of-bounds values, the user is now informed of the number of dropped records and the reason they were dropped.
The new
naRmparameter in applicablegeomXxx()andstatXxx()functions controls the display of such messages:naRm=false(default) — records are removed and messages are shown;naRm=true— records are removed silently.See: example notebook.
Sampling methods can now be chained with the
+operator.See: example notebook.
Alpha (transparency) component:
#RRGGBBAAor#RGBAnotation."named color / opacity", for example"steelblue / 0.35".See: example notebook.
Facet strip labels now honor
angleinelementText()forstripTextXandstripTextY[#1383].Thanks to a contribution by tentrillion.
See: example notebook.
In
geomImshow(), new parameters for controlling the colorbar breaks and labels [#1486]:breaks,labels,lablim,formatChanged
Fixed
elementText()[#1462].scaleAlpha(): conflict of constant and mapped values of alpha aesthetic [#706].geomImshow(): should render transparency for NaNs when all other pixel values are identical [#1485].scaleColorGradient():guide = "legend"is rendered as a colorbar [#1489].v4.13.0This release is 100% compatible with Lets-Plot v 4.9.0,
GeoTools v 33.2
Added
Plot Annotations:
New$R^2$ , the regression equation and others [#1388].
labelsparameter ingeomSmooth()designed to display statistical summaries of the fitted model directly on the plot.This parameter accepts a
smoothLabels()object, which provides access to model-specific variables likeSee: example notebook.
Plot tags. A tag can be specified via
labs(tag = ...)and styled using theme parameters [#1407].See: example notebook and updated Plot Layout Diagrams.
Plot tags customization parameters in
theme():plotTag- sets the tag style viaelementText().plotTagLocation- specifies the area used for positioning the tag.plotTagPosition- specifies the position of the tag within the selected area.plotTagPrefix- text added before the tag value.plotTagSuffix- text added after the tag value.See: example notebook.
Geometries:
New
geomBracket(),geomBracketDodge()[#1114].See: example notebook.
geomImshow():Support for custom colormaps [#780].
New
cguideparameter: use to customize the colorbar for grayscale images.See: example notebook.
Color Scales:
New
palette()method for color scales: generates a list of hex color codes that can be used withscaleColorManual()orscaleFillManual()to maintain consistent colors across multiple plots [#1444].See: example notebook.
New
overflowparameter inscaleColorBrewer()/scaleFillBrewer(): controls how colors are generated when more colors are needed than the palette provides.Options:
"interpolate"("i"),"cycle"("c"),"generate"("g").See: example notebook.
Positional Scales:
New
breakWidthparameter that specifies a fixed distance between axis breaks.See examples:
Support for axis minor ticks via
axisMinorTicksandaxisMinorTicksLengthparameters intheme()[#1379].See: example notebook.
gggrid(): interactive pan/zoom now propagates across subplots with shared axes (sharex/sharey) [#1413].See: example notebook.
Swing Apps:
Support for plot default interactions and custom toolbar component.
For more details, see Interactions demo in the "lets-plot-mini-apps" repository.
Changed
Kotlin: v2.2.20 (was v1.9.25).
Artifact changes in the core Lets-Plot library (v4.9.0):
org.jetbrains.lets-plot:lets-plot-swing.This artifact provides the
SwingPlotPanelclass, which can be used to display plots in Swing applications instead of the now-obsoleteDefaultPlotPanelBatik.For details, see the jvm-swing-app example in the "lets-plot-mini-apps" repository.
The
org.jetbrains.lets-plot:lets-plot-jfxartifact is no longer available.Replace it with new
org.jetbrains.lets-plot:lets-plot-swingdependency and useSwingPlotPanelinstead ofDefaultPlotPanelJfx.For details, see the jvm-javafx-app example in the "lets-plot-mini-apps" repository.
plot-image-exportmodule.The
org.jetbrains.lets-plot:lets-plot-image-exportartifact is no longer available.The
PlotImageExportutility has been moved to theplatf-awtmodule:org.jetbrains.letsPlot.awt.plot.PlotImageExport.The required
org.jetbrains.lets-plot:platf-awtdependency is likely already present in your project.[BREAKING]: ColorBrewer palettes: changed default behavior when the requested number of colors exceeds the palette's maximum size.
Now defaults to
"interpolate"for sequential/diverging palettes and"generate"for qualitative palettes.Previously, depending on the palette type, this either resulted in duplicate colors or random additional colors.
Use the new
overflowparameter to explicitly control this behavior.Missing values in
geomAreaRidges()create gaps in geometries instead of being interpolated over.Discrete color scales (Brewer, Manual) now produce a
colorbarguide when used with continuous data.Previously they produced a
legendguide regardless of the data type.Fixed
geomTextRepel()/geomLabelRepel(): points with empty labels were incorrectly skippedbefore building the repel obstacle set, so they were not included in collision avoidance and labels could overlap
dense point clusters.
v4.12.1This release is 100% compatible with Lets-Plot v 4.8.2,
GeoTools v 33.2
Added
kotlin.time.Durationandjava.time.Duration[LPK-294].Fixed
geom_boxplot()with alpha specified is displayed incorrectly [LPK-295].v4.12.0This release is 100% compatible with Lets-Plot v 4.8.1,
GeoTools v 33.2
Added
Geometries:
geomPointDensity()[#1370].See: example notebook.
Geoms with 1-to-1 statistics (such as
geomQQ(),geomSina()) preserve the mapping to original data after statistical transformation.See: example notebook.
geomHistogram(): custom bin bounds (parameterbreaks) [#1382].See: example notebook.
Plot Layout:
The legend automatically wraps to prevent overlap - up to 15 rows for vertical legends and 5 columns for horizontal ones [#1235].
See: example notebook.
gggrid(): support for shared legends (parameterguides).See: example notebook.
Plot Theme:
flavorStandard()sets the theme's default color scheme [#1277].Use to override other flavors or to make defaults explicit.
See: example notebook.
themeGray()as an alias forthemeGrey().New
themefunctions for setting legend justification:legendJustificationTop(),legendJustificationRight(),legendJustificationBottom(), andlegendJustificationLeft().See: example notebook.
Support for inward axis ticks.
See: example notebook.
Markdown:
targetattribute for links.ggtb():sizeZoominandsizeBasisparameters for geometry scaling [#1369].See: example notebook.
New
outputparameter for the library descriptor to control output types stored in notebook cells [LPK-277].Thanks to AndreiKingsley for the contribution!
Available output types:
js- Classic Web output: HTML+JSktnb- Kotlin Notebook Swing-based renderingsvg- Static SVG outputpng- Static PNG outputDefault:
"js, ktnb, svg"Note: Static images (SVG/PNG) are hidden when
jsorktnboutputs are present, and only displayed in environments where JavaScript is not executed (e.g., GitHub).This option can be helpful when a Kotlin Notebook file size becomes a problem.
For example, when working with large datasets where plot interactivity is not a priority, storing only static output (SVG or PNG) can significantly reduce file size.
CenteredPlotPanelhelper class for displaying plots centered in Swing applications.Changed
[BREAKING] Explicit
groupaesthetic now overrides default grouping behavior instead of combining with it [#1401].See: example notebook.
Missing values in
geomLine(), geomPath(), geomRibbon(), andgeomArea()create gaps in geometries instead of being interpolated over [LPK-269],[#818], [#1406].See: example notebook.
theme: theexponentFormatdefault value changed to"pow"- superscript powers of 10 (was e-notation).The multi-layer line plot now shows tooltips for each series simultaneously, in the same way that a single-layer plot with color mapped to series does.
Fixed
geomPieon geospatial plot withmapJoinfailes to render without explicitgroupaesthetic.geomDensity2D: NullPointerException when weight aesthetic contains None values [#1399].geomSina: incorrect shape in legend [#1403].geomDensity2D: Incorrect processing of weighted statistics when None value occurs in the x or y column.facetWrap: indescriptive error when the specified facet variable is not present in the dataset [#1409].scaleIdentity(aesthetic="shape")[#1212].ggsave: theme optionface="italic"doesn't work [#1391].statECDF()takes a very long time for even moderately sized datasets [#1424].gggrid()subplots.JetBrains/lets-plot (org.jetbrains.lets-plot:lets-plot-batik)
v4.11.0Added
theme(): newtooltip_mergeandtooltip_max_countparameters to combine the general tooltips of multiple targets into a single tooltip.See: example notebook.
Text halos improve readability on varied backgrounds. New
halo_widthandhalo_colorparameters are supported ingeom_text()/geom_text_repel()and by labels incorr_plot().See: example notebook.
Fixed
hjust/vjust/anglejustification of vertical-axis tick labels (theme(axis_text_y=element_text(...)))v4.10.3Changed
v4.10.1Fixed
ncolornrowparameter not specified: 'ncol' must be positive, was nullv4.10.0Added
ggdeck()— a new function for overlaying multiple independent plots in a single unified view.In a typical scenario, one axis is shared by all plots in the deck, enabling dual-axis effects and multivariate comparisons.
See examples:
Datetime:
%fformatting pattern — support for milliseconds when formatting datetime values, zero-padded to 3 digits [#1482].See: example notebook.
In legends:
override_aesinguide_legend()can now customize filled 2D legend keys:sizecontrols the key border width;widthandheightcontrol the relative key size.See: example notebook.
Indication of removed records [LPK-81], [#686].
When records in data are dropped by active sampling or because they contain missing or out-of-bounds values, the user is now informed of the number of dropped records and the reason they were dropped.
The new
na_rmparameter ingeom_xxx()andstat_xxx()functions controls the display of such messages:na_rm=false(default) — records are removed and messages are shown;na_rm=true— records are removed silently.See: example notebook.
Alpha (transparency) component:
#RRGGBBAAor#RGBAnotation."named color / opacity", for example"steelblue / 0.35".See: example notebook.
Facet strip labels now honor
angleinelement_text()forstrip_text_*[#1383].Thanks to a contribution by tentrillion.
See: example notebook.
In
geom_imshow(), new parameters for controlling the colorbar breaks and labels [#1486]:breaks,labels,lablim,formatgeom_livemap(): the newinteractiveparameter controls map interactivity. Setinteractive=Falseto disable panning and zooming and hide map controls.See: example notebook.
Memo for Kotlin API users:
Changed
[BREAKING] Dropped support for Python 3.9 as it is in the "end-of-life" of its release cycle. The minimum supported Python version is now 3.10.
Swing-Batik components are deprecated. Use the Swing/AWT components instead (doesn't affect Python users).
Fixed
scale_color_gradient():guide='legend'is rendered as a colorbar [#1489].v4.9.0Added
Python 3.14 support.
Python 3.14 free-threading support [#1454].
Plot Annotations:
New$R^2$ , the regression equation and others.
labelsparameter ingeom_smooth()designed to display statistical summaries of the fitted model directly on the plot.This parameter accepts a
smooth_labels()object, which provides access to model-specific variables likeSee: example notebook.
Plot tags. A tag can be specified via
labs(tag=...)and styled using theme parameters [#1407].See: example notebook and updated plot layout scheme.
Plot tags customization parameters in
theme():plot_tag- sets the tag style viaelement_text().plot_tag_location- specifies the area used for positioning the tag.plot_tag_position- specifies the position of the tag within the selected area.plot_tag_prefix- text added before the tag value.plot_tag_suffix- text added after the tag value.See: example notebook.
Geometries:
New
geom_bracket(),geom_bracket_dodge()[#1114].See: example notebook.
geom_imshow():Support for custom colormaps [#780].
New
cguideparameter: use to customize the colorbar for grayscale images.See: example notebook.
Color Scales:
New
palette()method for color scales: generates a list of hex color codes that can be used withscale_color_manual()to maintain consistent colors across multiple plots [#1444].See: example notebook.
New
overflowparameter inscale_color_brewer()/scale_fill_brewer(): controls how colors are generated when more colors are needed than the palette provides.Options:
'interpolate'('i'),'cycle'('c'),'generate'('g').See: example notebook.
Positional Scales:
New
break_widthparameter that specifies a fixed distance between axis breaks.See examples:
Support for axis minor ticks via
axis_minor_ticksandaxis_minor_ticks_lengthparameters intheme()[#1379].See: example notebook.
gggrid(): interactive pan/zoom now propagates across subplots with shared axes (sharex/sharey) [#1413].See: example notebook.
Changed
[BREAKING]: ColorBrewer palettes: changed default behavior when the requested number of colors exceeds the palette's maximum size.
Now defaults to
'interpolate'for sequential/diverging palettes and'generate'for qualitative palettes.Previously, depending on the palette type, this either resulted in duplicate colors or random additional colors.
Use the new
overflowparameter to explicitly control this behavior.Reduced import overhead by nearly two orders of magnitude (from ~1.2s down to ~0.02s) [#1469].
Missing values in
geom_area_ridges()create gaps in geometries instead of being interpolated over.Discrete color scales (Brewer, Manual) now produce a
colorbarguide when used with continuous data.Previously they produced a
legendguide regardless of the data type.Changes affecting users on the JVM platform:
org.jetbrains.lets-plot:lets-plot-swing.This artifact provides the
SwingPlotPanelclass, which can be used to display plots in Swing applications instead of the now-obsoleteDefaultPlotPanelBatik.For details, see the jvm-swing-app example in the "lets-plot-mini-apps" repository.
The
org.jetbrains.lets-plot:lets-plot-jfxartifact is no longer available.Replace it with new
org.jetbrains.lets-plot:lets-plot-swingdependency and useSwingPlotPanelinstead ofDefaultPlotPanelJfx.For details, see the jvm-javafx-app example in the "lets-plot-mini-apps" repository.
plot-image-exportmodule.The
org.jetbrains.lets-plot:lets-plot-image-exportartifact is no longer available.The
PlotImageExportutility has been moved to theplatf-awtmodule.The required
org.jetbrains.lets-plot:platf-awtdependency is likely already present in your project.Fixed
before building the repel obstacle set, so they were not included in collision avoidance and labels could overlap
dense point clusters.
v4.8.2Fixed
v4.8.1Fixed
stat_ecdf()takes a very long time for even moderately sized datasets [#1424].gggrid()subplots.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.