Releases: holoviz/holoviews
Release list
Version 1.14.3
This release contains a small number of bug fixes, enhancements and compatibility for the latest release of matplotlib. Many thanks to @stonebig, @hoxbro, @jlstevens, @jbednar and @philippjfr.
Enhancements:
- Allow applying linked selections to chained DynamicMap (#4870)
- Issuing improved error message when radd called with an integer (#4868)
- Implement MultiInterface.assign (#4880)
- Handle tuple unit on xarray attribute (#4881)
- Support selection masks and expressions on gridded data (#4882)
Bug fixes:
- Handle empty renderers when merging HoverTool.renderers (#4856)
Compatibility:
- Support matplotlib versions >=3.4 (#4878)
Version 1.14.2
This release adds support for Bokeh 2.3, introduces a number of minor enhancements, miscellaneous documentation improvements, and a good number of bug fixes.
Many thanks to the many contributors to this release, whether directly by submitting PRs or by reporting issues and making suggestions. Specifically, we would like to thank @philippjfr for the Bokeh 2.3 compatibility updates, @kcpevey, @timgates42, and @scottstanie for documentation improvements as well as @hoxbro and @LunarLanding for various bug fixes. In addition, thanks to the maintainers @jbednar, @jlstevens, and @philippjfr for contributing to this release.
Enhancements:
- Bokeh 2.3 compatibility (#4805, #4809)
- Supporting dictionary streams parameter in DynamicMaps and operations (#4787, #4818, #4822)
- Support spatialpandas DaskGeoDataFrame (#4792)
- Disable zoom on axis for geographic plots (#4812
- Add support for non-aligned data in Area stack classmethod (#4836)
- Handle arrays and datetime ticks (#4831)
- Support single-value numpy array as input to HLine and VLine (#4798)
Bug fixes:
- Ensure link_inputs parameter on operations is passed to apply (#4795)
- Fix for muted option on overlaid Bokeh plots (#4830)
- Check for nested dim dependencies (#4785)
- Fixed np.nanmax call when computing ranges (#4847)
- Fix for Dimension pickling (#4843)
- Fixes for dask backed elements in plotting (#4813)
- Handle isfinite for NumPy and Pandas masked arrays (#4817)
- Fix plotting Graph on top of Tiles/Annotation (#4828)
- Miscellaneous fixes for the Bokeh plotting extension (#4814, #4839)
- Miscellaneous fixes for index based linked selections (#4776)
Documentation:
Version 1.14.1
This release contains a small number of bug fixes addressing regressions. Many thanks to the contributors to this release including
@csachs, @GilShoshan94 and the maintainers @jlstevens, @jbednar and @philippjfr.
Bug fixes:
- Fix issues with linked selections on tables (#4758)
- Fix Heatmap alpha dimension transform (#4757)
- Do not drop tools in linked selections (#4756)
- Fixed access to possibly non-existant key (#4742)
Documentation:
- Warn about disabled interactive features on website (#4762)
Version 1.14.0
This release brings a number of major features including a new IbisInterface, new Plotly Dash support and greatly improved Plotly support, and greatly improved interaction and integration with Datashader. Many thanks to the many contributors to this release, whether directly by submitting PRs or by reporting issues and making suggestions. Specifically, we would like to thank @philippjfr, @jonmmease, and @tonyfast for their work on the IbisInterface and @jonmmease for improving Plotly support, as well as @kcpevey, @hoxbro, @marckassay, @mcepl, and @ceball for various other enhancements, improvements to documentation and testing infrastructure. In addition, thanks to the maintainers @jbednar, @jlstevens and @philippjfr for contributing to this release. This version includes a large number of new features, enhancements, and bug fixes.
It is important to note that version 1.14 will be the last HoloViews release supporting Python 2.
Major features:
- New Plotly Dash support (#4605)
- New Plotly support for Tiles element (#4686)
- New IbisInterface (#4517)
- Greatly improved Datashader
rasterize()(#4567). Previously, many of the features of Datashader were available only throughdatashade, which rendered data all the way to RGB pixels and thus prevented many client-side Bokeh features like hover, colorbars, dynamic colormaps, etc.rasterizenow supports all these Bokeh features along with nearly all the Datashader features previously only available throughdatashade, including (now client-side) histogram equalization withcnorm='eq_hist'and easy control of transparency via a newDimension.nodataparameter. See the Large Data User Guide for more information.
Enhancements:
- Implemented datashader aggregation of Rectangles (#4701)
- New support for robust color limits (
clim_percentile) (#4712) - Support for dynamic overlays in link_selections (#4683)
- Allow clashing Param stream contents (#4677)
- Ensured pandas does not convert times to UTC (#4711)
- Removed all use of cyordereddict (#4620)
- Testing infrastructure moved to GH Actions (#4592)
Bug fixes:
- Ensure RangeXY returns x/y ranges in correct order (#4665) (#4665)
- Fix datashader instability with Plotly by disabling padding for RGB elements (#4705)
- Various Dask and cuDF histogram fixes (#4691)
- Fix handling of custom matplotlib and bokeh colormaps (#4693)
- Fix cuDF values implementation (#4687)
- Fixed range calculation on HexTiles (#4689)
- Use PIL for RGB.load_image (#4639)
Documentation:
- Clarified data types accepted by Points (#4430)
- Updated Introduction notebook (#4682)
- Fixed releases urls (#4672)
Compatibility:
- Warning when there are multiple kdims on Chart elements (#4710)
- Set histogram
normedoption to False by default (#4258) - The default colormap in holoviews is now 'kbc_r' instead of 'fire'; see issue #3500 for details. This change was made mainly because the highest value of the fire colormap is white, which meant data was often not visible against a white background. To restore the old behavior you can set
hv.config.default_cmap='fire', which you can do via the extension e.g.hv.extension('bokeh', config=dict(default_cmap='fire')). There is alsohv.config.default_gridded_cmapwhich you can set to 'fire' if you wish to use the old colormap for theRaster,ImageandQuadMeshelement types. The defaultHeatMapcolormap has also been set to 'kbc_r' for consistency and can be set back to the old value of 'RdYlBu_r' viahv.config.default_heatmap_cmap.
Version 1.13.5
This version contains numerous bug fixes and a number of enhancements. Many thanks for contributions by @bryevdv, @jbednar, @jlstevens, @jonmmease, @kcpevey and @philippjfr.
Bug fixes:
- Improvements to iteration over Series in CuDF data backend (#4624)
- Added .values_host calls needed for iteraction in CuDF backend (#4646)
- Fixed bug resetting ranges (#4654)
- Fix bug matching elements to subplots in
DynamicMap(#4649) - Ensure consistent split
Violincolor assignment (#4650) - Ensure
PolyDrawCallbackalways has vdim data (#4644) - Set default align in bokeh correctly (#4637)
- Fixed deserialization of polygon/multi_line CDS data in bokeh backend (#4631)
Enhancements:
- Refactor of link selections streams (#4572)
- Add ability to listen to dataset linked_selection (#4547)
- Added
selectedparameter to Bokeh PathPlot (#4641)
Documentation:
Version 1.13.4
This version fixes a large number of bugs particularly relating to linked selections. Additionally it introduces some enhancements laying the groundwork for future functionality. Many thanks for contribution by @ruoyu0088, @hamogu, @Dr-Irv, @jonmmease, @justinbois, @ahuang11, and the core maintainer @philippjfr.
Bug fixes:
- Fix the
.infoproperty to return the info (#4513) - Set
toolbar=Truethe default insave()(#4518) - Fix bug when the default value is 0 (#4537)
- Ensure operations do not recursively accumulate pipelines (#4544)
- Fixed whiskers for
BoxWhiskerso that they never point inwards (#4548) - Fix issues with boomeranging events when aspect is set (#4569)
- Fix aspect if width/height has been constrained (#4579)
- Fixed categorical handling in Geom plot types (#4575)
- Do not attempt linking axes on annotations (#4584)
- Reset
RangeXYwhenframewiseis set (#4585) - Add automatic collate for
OverlayofAdjointLayouts (#4586) - Fixed color-ranging after box select on side histogram (#4587)
- Use HTTPS throughout on homepage (#4588)
Compatibility:
- Compatibility with bokeh 2.2 for CDSCallback (#4568)
- Handle
rcParamdeprecations in matplotlib 3.3 (#4583)
Enhancements:
- Allow toggling the
selection_modeonlink_selectionsfrom the context menu in the bokeh toolbar (#4604) - Optimize options machinery (#4545)
- Add new
Derivedstream class (#4532) - Set Panel state to busy during callback (#4546)
- Support positional stream args in
DynamicMapcallback (#4534) legend_optsimplemented (#4558)- Add
Historystream (#4554) - Updated spreading operation to support aggregate arrays (#4562)
- Add ability to supply
dimtransforms for all dimensions (#4578) - Add 'vline' and 'hline' Hover mode (#4527)
- Allow rendering to pgf in matplotlib (#4577)
Version 1.13.3
This version introduces a number of enhancements of existing functionality, particularly for features introduced in 1.13.0,
e.g. cuDF support and linked selections. In addition it introduces a number of important bug fixes. Many thanks for contribution by @kebowen730, @maximlt, @pretros1999, @alexbraditsas, @lelatbones, @flothesof, @ruoyu0088, @cool-PR and the core maintainers @jbednar and @philippjfr.
Enhancements:
- Expose
centeras an output rendering option (#4365) - Configurable throttling schemes for linked streams on the server (#4372)
- Add support for lasso tool in linked selections (#4362)
- Add support for NdOverlay in linked selections (#4481)
- Add support for unwatching on
Paramsstream (#4417) - Optimizations for the cuDF interface (#4436)
- Add support for
byaggregator in datashader operations (#4438) - Add support for cupy and dask histogram and box-whisker calculations (#4447)
- Allow rendering HoloViews output as an ipywidget (#4404)
- Allow
DynamicMapcallback to accept key dimension values as variable kwargs (#4462) - Delete toolbar by default when rendering bokeh plot to PNG (#4422)
- Ensure
BoundsandLassoevents only trigger on mouseup (#4478)
Bug fixes:
- Eliminate circular references to allow immediate garbage collection (#4368, #4377)
- Allow bytes as categories (#4392)
- Fix handling of zero as log colormapper lower bound (#4383)
- Do not compute data ranges if Dimension.values is supplied (#4416)
- Fix RangeXY updates when zooming on only one axis (#4413)
- Ensure that ranges do not bounce when data_aspect is set (#4431)
- Fix bug specifying a rotation for Box element (#4460)
- Fix handling of datetimes in bokeh RectanglesPlot (#4461)
- Fix bug normalizing ranges across multiple plots when framewise=True (#4450)
- Fix bug coloring adjoined histograms (#4458)
- Fix issues with ranges bouncing when PlotSize stream is attached (#4480)
- Fix bug with hv.extension(inline=False) (#4491)
- Handle missing categories on split Violin plot (#4482)
Version 1.13.2
This is a minor patch release fixing a number of regressions introduced as part of the 1.13.x releases. Many thanks to the contributors including @eddienko, @poplarShift, @wuyuani135, @maximlt and the maintainer @philippjfr.
Enhancements:
- Add PressUp and PanEnd streams (#4334)
Bug fixes:
Version 1.13.1
This is a minor patch release to fix issues compatibility with the about to be released Bokeh 2.0.1 release. Additionally this release makes Pandas a hard dependency, which was already implicitly the case in 1.13.0 but not declared. Lastly this release contains a small number of enhancements and bug fixes.
Enhancements:
- Add option to set Plotly plots to responsive (#4319)
- Unified datetime formatting in bokeh hover info (#4318)
- Allow using dim expressions as accessors (#4311)
- Add explicit
.dfand.xrnamespaces todimexpressions to allow using dataframe and xarray APIs (#4320) - Allow defining clim which defines only upper or lower bound and not both (#4314)
- Improved exceptions when selected plotting extension is not loaded (#4325)
Bug fixes:
- Fix regression in Overlay.relabel that occurred in 1.12.3 resulting in relabeling of contained elements by default (#4246)
- Fix bug when updating bokeh Arrow elements (#4313)
- Fix bug where Layout/Overlay constructors would drop items (#4313)
Compatibility:
- Fix compatibility with Bokeh 2.0.1 (#4308)
Documentation:
- Update API reference manual (#4316)
Version 1.13.0
This release is packed full of features and includes a general refactoring of how HoloViews renders widgets now built on top of the Panel library. Many thanks to the many contributors to this release either directly by submitting PRs or by reporting issues and making suggestions. Specifically we would like to thank @poplarShift, @jonmease, @flothesof, @julioasotodv, @ltalirz, @DancingQuanta, @ahuang, @kcpevey, @Jacob-Barkhak, @nluetts, @harmbuisman, @ceball, @mgsnuno, @srp3003, @jsignell as well as the maintainers @jbednar, @jlstevens and @philippjfr for contributing to this release. This version includes the addition of a large number of features, enhancements and bug fixes:
Major features:
- Add
link_selectionto make custom linked brushing simple (#3951) link_selectionbuilds on new support for much more powerful data-transform pipelines: newDataset.transformmethod (#237, #3932),dimexpressions inDataset.select(#3920), arbitrary method calls ondimexpressions (#4080), andDataset.pipelineandDataset.datasetproperties to track provenance of data- Add Annotators to allow easily drawing, editing, and annotating visual elements (#1185)
- Completely replaced custom Javascript widgets with Panel-based widgets allowing for customizable layout (#84, #805)
- Add
HSpan,VSpan,Slope,SegmentsandRectangleselements (#3510, #3532, #4000) - Add support for cuDF GPU dataframes, cuPy backed xarrays, and GPU datashading (#3982)
Other features
- Add spatialpandas support and redesigned geometry interfaces for consistent roundtripping (#4120)
- Support GIF rendering with Bokeh and Plotly backends (#2956 #4017)
- Support for Plotly
Bars,Bounds,Box,Ellipse,HLine,Histogram,RGB,VLineandVSpanplots - Add
UniformNdMapping.collapseto collapse nested datastructures (#4250) - Add
CurveEditandSelectionXYstream (#4119, #4167) - Add
apply_whenhelper to conditionally apply operations (#4289) - Display Javascript callback errors in the notebook (#4119)
- Add support for linked streams in Plotly backend to enable rich interactivity (#3880, #3912)
Enhancements:
- Support for packed values dimensions, e.g. 3D
RGB/HSVarrays (#550, #3983) - Allow selecting/slicing datetimes with strings (#886)
- Support for datashading
Area,Spikes,SegmentsandPolygons(#4120) HeatMapnow supports mixed categorical/numeric axes (#2128)- Use
__signature__to generate .opts tab completions (#4193) - Allow passing element-specific keywords through
datashadeandrasterize(#4077, #3967) - Add
per_elementflag to.applyaccessor (#4119) - Add
selectedplot option to control selected glyphs in bokeh (#4281) - Improve default
Sankeynode_paddingheuristic (#4253) - Add
hooksplot option for Plotly backend (#4157) - Support for split
Violinplots in bokeh (#4112)
Bug fixes:
- Fixed radial
HeatMapsizing issues (#4162) - Switched to Panel for rendering machinery fixing various export issues (#3683)
- Handle updating of user supplied
HoverToolin bokeh (#4266) - Fix issues with single value datashaded plots (#3673)
- Fix legend layout issues (#3786)
- Fix linked axes issues with mixed date, categorical and numeric axes in bokeh (#3845)
- Fixed handling of repeated dimensions in
PandasInterface(#4139) - Fixed various issues related to widgets (#3868, #2885, #1677, #3212, #1059, #3027, #3777)
Library compatibility:
Migration notes:
- Geometry
.ilocnow indexes by geometry instead of by datapoint. Convert to dataframe or dictionary before using.ilocto access individual datapoints (#4104) - Padding around plot elements is now enabled by default, to revert set
hv.config.node_padding = 0(#1090) - Removed Bars
group_indexandstack_indexoptions, which are now controlled using thestackedoption (#3985) .tableis deprecated; use.collapsemethod instead and cast toTable(#3985)HoloMap.split_overlaysis deprecated and is now a private method (#3985)Histogram.edgesandHistogram.valuesproperties are deprecated; usedimension_values(#3985)Element.collapse_datais deprecated; use the container's.collapsemethod instead (#3985)hv.outputfilenameargument is deprecated; usehv.saveinstead (#3985)