Skip to content

Releases: holoviz/holoviews

Version 1.14.3

Choose a tag to compare

@jbednar jbednar released this 26 Apr 15:45

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

Choose a tag to compare

@jbednar jbednar released this 04 Mar 17:15
d0025b0

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:

  • Expanded on Tap Stream example in Reference Gallery (#4782)
  • Miscellaneous typo and broken link fixes (#4783, #4827, #4844, #4811)

Version 1.14.1

Choose a tag to compare

@jlstevens jlstevens released this 27 Jan 18:07
d04e2c2

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

Choose a tag to compare

@philippjfr philippjfr released this 03 Dec 18:36
96241c9

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 through datashade, which rendered data all the way to RGB pixels and thus prevented many client-side Bokeh features like hover, colorbars, dynamic colormaps, etc. rasterize now supports all these Bokeh features along with nearly all the Datashader features previously only available through datashade, including (now client-side) histogram equalization with cnorm='eq_hist' and easy control of transparency via a new Dimension.nodata parameter. 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 normed option 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 also hv.config.default_gridded_cmap which you can set to 'fire' if you wish to use the old colormap for the Raster, Image and QuadMesh element types. The default HeatMap colormap has also been set to 'kbc_r' for consistency and can be set back to the old value of 'RdYlBu_r' via hv.config.default_heatmap_cmap.

Version 1.13.5

Choose a tag to compare

@jbednar jbednar released this 28 Oct 20:10
45dca28

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 Violin color assignment (#4650)
  • Ensure PolyDrawCallback always 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 selected parameter to Bokeh PathPlot (#4641)

Documentation:

  • Improved Bars reference example, demonstrating the dataframe constructor (#4656)
  • Various documentation fixes (#4628)

Version 1.13.4

Choose a tag to compare

@philippjfr philippjfr released this 23 Oct 11:37

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 .info property to return the info (#4513)
  • Set toolbar=True the default in save() (#4518)
  • Fix bug when the default value is 0 (#4537)
  • Ensure operations do not recursively accumulate pipelines (#4544)
  • Fixed whiskers for BoxWhisker so 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 RangeXY when framewise is set (#4585)
  • Add automatic collate for Overlay of AdjointLayouts (#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 rcParam deprecations in matplotlib 3.3 (#4583)

Enhancements:

  • Allow toggling the selection_mode on link_selections from the context menu in the bokeh toolbar (#4604)
  • Optimize options machinery (#4545)
  • Add new Derived stream class (#4532)
  • Set Panel state to busy during callback (#4546)
  • Support positional stream args in DynamicMap callback (#4534)
  • legend_opts implemented (#4558)
  • Add History stream (#4554)
  • Updated spreading operation to support aggregate arrays (#4562)
  • Add ability to supply dim transforms for all dimensions (#4578)
  • Add 'vline' and 'hline' Hover mode (#4527)
  • Allow rendering to pgf in matplotlib (#4577)

Version 1.13.3

Choose a tag to compare

@philippjfr philippjfr released this 23 Jun 14:27
0a8a19c

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 center as 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 Params stream (#4417)
  • Optimizations for the cuDF interface (#4436)
  • Add support for by aggregator 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 DynamicMap callback to accept key dimension values as variable kwargs (#4462)
  • Delete toolbar by default when rendering bokeh plot to PNG (#4422)
  • Ensure Bounds and Lasso events 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

Choose a tag to compare

@philippjfr philippjfr released this 02 Apr 00:19

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:

  • Fix regression in single node Sankey computation (#4337)
  • Fix color and alpha option on bokeh Arrow plot (#4338)
  • Fix undefined JS varaibles in various bokeh links (#4341)
  • Fix matplotlib >=3.2.1 deprecation warnings (#4335)
  • Fix handling of document in server mode (#4355)

Version 1.13.1

Choose a tag to compare

@philippjfr philippjfr released this 25 Mar 11:49

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 .df and .xr namespaces to dim expressions 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

Choose a tag to compare

@philippjfr philippjfr released this 21 Mar 21:19
c5b24a0

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_selection to make custom linked brushing simple (#3951)
  • link_selection builds on new support for much more powerful data-transform pipelines: new Dataset.transform method (#237, #3932), dim expressions in Dataset.select (#3920), arbitrary method calls on dim expressions (#4080), and Dataset.pipeline and Dataset.dataset properties 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, Segments and Rectangles elements (#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, VLine and VSpan plots
  • Add UniformNdMapping.collapse to collapse nested datastructures (#4250)
  • Add CurveEdit and SelectionXY stream (#4119, #4167)
  • Add apply_when helper 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/HSV arrays (#550, #3983)
  • Allow selecting/slicing datetimes with strings (#886)
  • Support for datashading Area, Spikes, Segments and Polygons (#4120)
  • HeatMap now supports mixed categorical/numeric axes (#2128)
  • Use __signature__ to generate .opts tab completions (#4193)
  • Allow passing element-specific keywords through datashade and rasterize (#4077, #3967)
  • Add per_element flag to .apply accessor (#4119)
  • Add selected plot option to control selected glyphs in bokeh (#4281)
  • Improve default Sankey node_padding heuristic (#4253)
  • Add hooks plot option for Plotly backend (#4157)
  • Support for split Violin plots in bokeh (#4112)

Bug fixes:

  • Fixed radial HeatMap sizing issues (#4162)
  • Switched to Panel for rendering machinery fixing various export issues (#3683)
  • Handle updating of user supplied HoverTool in 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:

  • Better support for Pandas 1.0 (#4254)
  • Compatibility with Bokeh 2.0 (#4226)

Migration notes:

  • Geometry .iloc now indexes by geometry instead of by datapoint. Convert to dataframe or dictionary before using .iloc to 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_index and stack_index options, which are now controlled using the stacked option (#3985)
  • .table is deprecated; use .collapse method instead and cast to Table (#3985)
  • HoloMap.split_overlays is deprecated and is now a private method (#3985)
  • Histogram.edges and Histogram.values properties are deprecated; usedimension_values (#3985)
  • Element.collapse_data is deprecated; use the container's .collapse method instead (#3985)
  • hv.output filename argument is deprecated; use hv.save instead (#3985)