Releases: holoviz/holoviews
Version 1.18.3
Version 1.18.2
This micro release includes a number of bug fixes and documentation updates, as well as compatibility updates for xarray 2023.12 and Pandas 2.2.
Many thanks to the new contributors @junietoc, @JulianGiles, and @magic-lantern, as well as the returning contributors @ianthomas23, @maximlt, @TheoMathurin, @philippjfr, @ahuang11, and @Hoxbro.
Enhancements:
- Update contour line calculations to use ContourPy's
LineType.ChunkCombinedNan
(#5985) - Use sys.executable for
check_output
(#5983) - Updates to
show_versions
(#6072, #6081)
Bug fixes:
- Support
color_key
indatashade
when intermediate step is anImageStack
(#5994) - Fix hist on overlay (#5995)
- Set proper context before triggering streams (#6000)
- Support partial bound function (#6009)
- Add
norm
ininit_artists
in holoviews/plotting/mpl/raster.py (#6029) - Fix linking elements that are transformed by a Compositor (#6003)
- Add datetime hover information for selector (#6023, #6039)
- Only evaluate
rx
if it is a Reactive Expression (#6014) - Ensure partial methods can be used as dmap callables (#6063)
- Del frame after stack level is found in
deprecated
(#6085)
Compatibility:
- Compatibility updates with xarray 2023.12 (#6026)
- Add extra check to detect if we are in jupyterlite (#6007)
- Compatibility updates with Pandas 2.2 (#6074, #6078)
- Add Comm
on_open
handler to initialize the server comm (#6076)
Documentation:
- Fix docs (#5996)
- Fix Param usage in the Plot and Renderers guide (#6001)
- Fixing URLs to bokeh project (#6005)
- Fix to broken urls in example gallery pages (#6038)
- Replace Google Analytics with GoatCounter (#6048)
- Add downloads badges (#6088)
Maintenance:
- Change to pytest-rerunfailures (#5984)
- Holoviews maintenance (#5987)
- Add
log_cli_level = "INFO"
to pytest (#5989) - Add shell pre-commit hook (#5991)
- Enable Bugbear 904 (#5992)
- Part 1, modernize test suite (#5954)
- Enforce labels (#5996)
- Add lower pin to scipy (#6032)
- Skip Deploying_Bokeh_Apps.ipynb on Windows (#6070)
- Fix failing Windows tests (#6087)
Version 1.18.1
This release contains a small number of bug fixes and compatibility updates — many thanks to @philippjfr and @Hoxbro for their contributions.
Bug fixes:
- Account for overlaid elements when using
subcoordinates_y
(#5950) - Fix
groupby
option for vectorized annotations (#5956) - Fix and improvements to
ImageStack
(#5961) - Do not allow partial matches when updating
OverlayPlot
(#5962) - Always ravel array in
unique_array
(#5969)
Compatibility:
Maintenance:
- General maintenance (#5955)
Version 1.18.0
This release includes new features, improvements, and bug fixes. Among these are the new elements. First is the ImageStack
element allows you to easily visualize a 3D array, while the VLines
, HLines
, VSpans
, and HSpans
elements allow you to visualize vertical and horizontal lines and spans easily. In addition, this release includes support for subcoordinate systems in the y-axis and various other enhancements and bug fixes. This release adds support for the newest Python 3.12 and Bokeh 3.3 and drops support for Python 3.8 and Bokeh 2.
Many thanks to the new contributors @MeggyCal, along with our returning contributors @ahuang11, @ianthomas23, @jlstevens, @maximlt, @philippjfr, and @Hoxbro.
New features:
- Implementation of
ImageStack
(#5751, #5945) - Adding vectorized
VLines
,HLines
,VSpans
, andHSpans
elements (#5845, #5911, #5940) - Implement support for subcoordinate systems in the y-axis (#5840)
Enhancements:
- Cycle through
text_color
when overlaying Labels (#5888) - Drop requirements for
OrderedDict
(#5867, #5890, #5925) - Allow to link to an
Overlay
(#5881) - Use contourpy for contour calculations (#5910)
- Use browser information to set
pixel_density
inResampleOperation2D
(#5947) - Avoid bounce back of events for
Range{X,Y,XY}
streams (#5946)
Bug fixes:
- Fix overlaying labels in Sankey diagram (#5864)
- Ensure the
PlotSize
stream works with undefined width/height (#5868) - Fix test when only
python3
command is available (#5874) - Try and except
get_extents
without thedimension
argument and add kwargs to allget_extents
(#5872) - Enable
Mathjax
withenable_mathjax
(#5904) - Fix
histogram
operation on Ibis data (#5929) - Raise exceptions in
compare_dataset
(#5932) - Don't overlap objects in overlaid plot (#5942)
Compatibility:
- Param 2.0 support (#5865, #5897, #5906, #5918)
- Pandas 2.1 support (#5877, #5898, #5880)
- Numpy 1.25 support (#5870)
- Replace
np.NaN
withnp.nan
for Numpy 2.0 (#5938) - Bokeh 3.3 support (#5873, #5923, #5935)
- Dropping support for Bokeh 2 (#5891)
- Python 3.12 support (#5909)
- Dropping support for Python 3.8 (#5936)
- Matplotlib 3.8 compatibility (#5910, #5924)
- Remove deprecations functions (#5915)
Documentation:
- Add Linking Bokeh plots guide to the table of contents (#5900)
Maintenance:
- Remove warnings (#5854, #5894)
- Add output of pre-commit hook in summary and add environment artifact (#5905)
- Improvements to test CI (#5917, #5892)
- General maintenance update (#5889, #5907, #5934, #5943)
- Update build of conda package (#5921, #5922)
- Add sorting of imports (#5937)
- Enable Bugbear lint (#5861)
Version 1.17.1
This release contains a small number of important bug fixes and regressions — many thanks to @ianthomas23, @maximlt, @philippjfr, and @Hoxbro for their contributions.
Enhancements:
- Improve support for
hv.NdOverlay
andhv.Overlay
in downsample1d (#5856) - Improve legend support for
hv.Layout
and add documentation forsync_legends
andshow_legends
(#5852)
Bug fixes:
RangeToolLink
now correctly reset to the predefinedboundsx
andboundsy
values (#5848)- Fix regressions with Bokeh's axis (#5838, #5850, #5851)
Compatibility:
- Pin Param version for Bokeh 2 (#5844)
- Explicitly clear Matplotlib figure to remove warning about auto-removal of overlapping axes for Matplotlib 3.8 (#5857)
Documentation:
- Set
autohide
example toTrue
as in the hook (#5832)
Maintenance:
- Add OpenCollective sponsor link on the repo page (#5839)
- Update Ruff in pre-commit and report panel communication in
hv.show_versions
(#5853) - Cleanup imports (#5846)
Version 1.17.0
This release brings one of the most requested features - interactive twin-axis support! Another feature added in this release is the ability to easily set custom options on plot components with backend_opts
, making it much easier to customize your plots. Datashaders where
and summary
aggregators are now supported, and rasterize
now has a selector
option, making it easy to get extra information about your rasterized data. Lastly, Bokeh figures with the same labels will synchronize muteness or visibility across different figures.
In addition, this release includes several enhancements and bug fixes.
Many thanks to the new contributors @alfredocarella and @RaulPL, as well as the returning contributors @ahuang11, @droumis, @jbednar, @jlstevens, @maximlt, @philippjfr, @TheoMathurin and @Hoxbro.
New features:
- Multi-yaxis support in the Bokeh backend (#5621)
- Allow modifying the underlying Bokeh or Matplotlib figure, axes etc. using
backend_opts
(#4463) - Support Datashaders
where
andsummary
aggregators and addselector
option torasterize
enabling instant hover inspection of value dimensions (#5805) - Synchronize muteness or visibility across Bokeh figures to support linked legends (#5763)
Enhancements:
- Add option for initial ranges to RangeToolLink (#5800)
- Allow resample's
pixel_ratio
to go below 1 (#5813, #5817)
Add the ability forVectorField
to instantiate from UV coordinates (#5797) - Handle the
nodata
option for rasterized RGB image (#5774)
Bug fixes:
- Fix bins option in the autompg_histogram demo (#5750)
- Fix 0pt bug in safari (#5755)
- Disable pan if
active_tools=[]
(#5754) - Better handling of inputs to
rasterize.instance()
(#5767, #5811) - Fix class variable being used as instance
vdims
inhv.RGB
(#5773, #5775) - Improve notebook detection in VSCode and Google Colab (#5792)
- Don't warn when running
rasterize
in VSCode (#5780) - Add
__init__
tohv.Output
to not overwrite its parent signature (#5799) - Fix
XArrayInterface
crashing when input is an empty array (#5809) - Avoid setting
batched
before the class is initialized (#5814) - Fix aspect handling when plot size is still unknown (#5808)
- Update callbacks to use Bokeh's
quad
instead ofquad
(#5760) - Update
hv.Image
/hv.RGB
invert_{x,y}axis
to work with Bokeh 3 (#5796) strip_magics
should also strip IPython line magic (#5794)
Compatibility:
- Implement HEP1 - Drop support for Python 3.7 (#5695)
- Replace deprecated
np.product
withnp.prod
(#5787) - Update
FileArchive
repr for Param 2.0 (#5791) - Deprecate functionality (#5776)
Documentation:
- Fix typo in Getting Started section text (#5759)
- Add sep keyword to
pd.read_csv
in documentation page (#5798)
Maintenance:
Version 1.16.2
This release includes a breaking change as notebooks will no longer be inlining as default. This change will reduce the size of the notebook files and, more importantly, address an upstream issue in Jupyter where running hv.extension
would give an error when used in a notebook.
Critical bug fixes and compatibility:
- Correctly set
inline=False
when runninghv.extension
in a Jupyter Notebook (#5748) - Adding more Param 2 support (#5717)
Enhancements:
- Speed up import time of Holoviews (#5719)
Maintenance:
Version 1.16.1
This release contains a small number of important bug fixes and enhancements. Many thanks to @philippjfr and @Hoxbro.
This release includes a breaking change as notebooks will no longer be inlining as default. This change will reduce the size of the notebook files and, more importantly, address an upstream issue in Jupyter where running hv.extension
would give an error when used in a notebook.
Critical bug fixes and compatibility:
- Add
enable_mathjax
and set it and inline toFalse
(#5729) - Update to support Datashader on Python 3.11 (#5720)
Enhancements:
Hoxbro marked this conversation as resolved.
- Add
show_versions
helper function (#5725) - Ignore known model warning in VS Code (#5734)
- Add a workaround for plots where the objects in a figure would overlap (#5733)
Documentation:
Version 1.16.0
This release includes many new features, improvements, and bug fixes. Among the highlights are support for Bokeh 3.1 and Panel 1.0, both of which come with a wide range of new features and enhancements. Time series support has also been improved, with auto-ranging along one axis, a new downsample algorithm, and having WebGL enabled by default. In addition, the release includes various other enhancements and bug fixes.
We would like to thank the many users who contributed to this release by filing bug reports, providing new features, and bug fixes. We want to give a special shout-out to existing contributors @ianthomas23, @jlstevens, @jordansamuels, @maximlt, @philippjfr, @TheoMathurin, @Yura52, and @Hoxbro, as well as new contributors @GeoVizNow, @JRRudy1, @keewis, @michaelaye, and @wendrul.
This minor version will be the last to support Python 3.7. The next minor version will require Python 3.8 or higher.
In the next release, holoviews.annotate
will start giving a deprecation warning about its future move to the new package HoloNote.
New features:
- Support for Bokeh 3.1 and Panel 1.0 (#5388, #5620, #5640, #5679, #5683, #5692, #5703)
- Implement auto-ranging support along one axis (#5554, #5609)
- Add Largest Triangle Three Buckets (LTTB) as a downsample algorithm (#5552)
- Enable WebGL by default (#5708)
Enhancements:
- Improve
legend_cols
support for Bokeh 3 (#5669) - Add convenience
getter
interface toopts
(#5606) - Ensure
.stack
works on areas with differentvdims
(#5693) - Add
muted
support toPointPlot
likehv.Scatter
(#5705) - Automatic detect
comms
without callingpn.extension()
(#5645) - Add support for extra
Hovertool
variables in a Bokeh'squadmesh
with 2D coordinates (with tests) (#5638) - Change
hv.Rectangles
to internally use BokehQuad
and notRect
to support logarithmic axis in WebGL (#5664, #5702)
Bug fixes:
- Ensure
spatial_select
in non-zero indexed DataFrame is applied right (#5625) - Fix error handling for plotting class lookups on empty
DynamicMap
/HoloMap
(#5604) - Fix
active_tools
to only be set for enabled tools (#5616) - Fix legend display when using categorical
datashade
on GPU (#5631) - Adding
GeoDataFrame
toDataConversion
(#5325) - Don't emit warnings when the toolbar is disabled (#5691)
- Don't try to find the closest match if the input is empty (#5700)
- Only use
long_name
if it is a string (#5646) - Use Matplotlib's public API to list the colormaps (#5598)
Compatibility:
- Add Param 2.0 support (#5667, #5641, #5680, #5704)
- Add Pandas 2.0 support (#5662)
- Update
types.functiontype
tocollections.abc.callable
(#5636) - Improve error message for categorical data when used with
datashade
(#5643) - Don't disable Jedi completion by default (#5701)
Documentation:
- Fix an incorrect number stated regarding available axis types (#5623)
- Fix
BoundsY
example (#5629) - Fix formatting on FAQ (#5630)
- Fix anchor links (#5677)
Maintenance:
- Use
clean-notebook
,codespell
, andruff
inpre-commit
(#5594, #5627, #5653) - General maintenance (#5607, #5611, #5612, #5649)
Known issues:
BoxEditTool
is not yet supported with the new internals ofhv.Rectangle
.
Version 1.15.4
This release contains a small number of enhancements and important bug fixes. Many thanks to our new contributors @mmorys, @jj-github-jj, and @sandhujasmine, but also our returning contributors @droumis, @jlstevens, @MarcSkovMadsen, @maximlt, @philippjfr, @stanwest, and @Hoxbro.
Enhancements:
- Make lasso select mask values using a Dask-compatible method (#5568)
- Make plotly legend group unique (#5570)
- Set pan and wheel_zoom as the default Bokeh active tools (#5480)
- Enable rendering colorbars on bokeh
GraphPlot
s (#5585) - Add Plotly
Scatter3d
documentation and fix colorbar title (#5418)
Bug fixes:
- Only trigger range-update once in callbacks (#5558)
- Ensure dynamically created subplots can be updated (#5555)
- Fix start of stack-level in deprecations (#5569)
- When sorting colormap records, replace None with an empty string (#5539)
- Fix annotator in Geoviews by adding deserialization of non-deserialized base64 data (#5587)
- Fix
hv.Empty
not working inAdjointLayout
plot (#5584) - Check for categorical data to histogram (#5540)
- Fix
clim_percentile
(#5495)
Compatibility:
- Compatibility with Shapely 2.0 (#5561)
- Compatibility with Numpy 1.24 (#5581)
- Compatibility with Ibis 4.0 (#5588)
Documentation:
- Installation instructions update (#5562)
- Use OSM for reference tile source in notebook documentation (#5536)
- Enhance Tiles example notebook (#5563)
Maintenance: