Skip to content

Releases: holoviz/panel

Version 1.2.1

25 Jul 16:39
Compare
Choose a tag to compare

This micro-release focuses on a small number of enhancements and rendering related bug fixes. Specifically it adds support for notifying users when the page is ready and when the Websocket disconnects using corresponding config options and upgrades the Vizzu version, thereby adding support for tooltips and enabling animations when the data is updated. The bug fixes are primarily focused on ensuring components such as GridStack and Tabulator render correctly and do not unnecessarily re-render or reload stylesheets. Many thanks and welcome to @owenlamont, @Sciemon, @DGLaurits, @ciemarr and @Kislovskiy for their first contributions to Panel and the maintainers @MarcSkovMadsen, @hoxbro and @philippjfr for contributing to this release.

Enhancements

  • Add config.disconnect_notification and config.ready_notification (#5244)
  • Add Vizzu tooltip support and allow animations when data is updated (#5258)
  • Style tweaks for Card and Select components (#5280)

Bug fixes

  • Ensure GridStack children are sized correctly after render (#5242)
  • Fix Tabulator expanded row rendering (#5253)
  • Fix bug where local PDF pane is rendered as base64 string (#5264)
  • Avoid full re-rendering when updating HTML based components (#5275)
  • Ensure that Design does not trigger unnecessary updates to stylesheets (#5278)
  • Treat Tabulator row_contents as real children ensuring layout behaves correctly (#5292)
  • Fix Video min_height and max_height (#5296)
  • Make TextEditor invisible until CSS is loaded (#5297)
  • Fix disabled parameter on editable sliders (#5319

Compatibility

  • Update pyodide and pyscript versions and switch to compiled build (#5309)

Documentation

  • Add VS Code How To Guide (#5196)
  • Fix binder (#5257)
  • Various smaller documentation fixes ([#4821], #5249, #5266)
  • Tweak example in the Build an App section of Getting Started (#5302)
  • Update pyodide documentation with latest versions (#5234, #5308)
  • Remove MyST inline directives from JupyterLite notebooks (#5311)

Version 1.2.0

06 Jul 11:28
c229467
Compare
Choose a tag to compare

This release primarily aims at providing compatibility with Bokeh 3.2 and the upcoming Param 2.0 release. Additionally it includes a number of improvements including the ability to generate multiple outputs from a generator using the new 'append' mode and updates and fixes for Tabulator. We are also excited about the new Streamlit migration guide and a number of bug fixes. Many thanks to @sdc50, @xiaoyang-sde and the core team including @ahuang11, @MarcSkovMadsen, @hoxbro, @maximlt and @philippjfr for contributing to this release.

Enhancements

  • Add append mode for reactive generator output (#5129)
  • Upgrade to Tabulator 5.5 (#5182)
  • Add support for LoadingSpinner label (#5194)
  • Add the editable parameter to Perspective (#5211)
  • Add support for setting theme_classes on Tabulator (#5216)
  • Move resource handling onto BaseTemplate (#5228)

Bug fixes

  • Correctly process fields on Vega (and altair) selections (#5164)
  • Fix for resource handling particularly when working with Django (#5175)
  • Fix ChatBox bubble width (#5172)
  • Fix Tabulator.visible handling (#5182)
  • Fix programmatic updates to Tabulator.page (#5187)
  • Ensure bokeh events generated in pyodide convert None to null (#5191)
  • Improve notebook detection (#5201)
  • Reduce priority of _repr_<img>_ to ensure _repr_html_ takes precedence (#5217)
  • Ensure we do not modify Tabulator.hidden_columns inplace (#5218)
  • Alignment and styling fixes for text input and button widgets (#5219)
  • Fix updates to Plotly nested properties such as selections (#5227)

Documentation

  • Add Streamlit migration guide (#5027)
  • Improve defer_load how-to guide (#5112)

Compatibility

  • Remove markdown-it-py pins (#5159)
  • Forward compatibility fixes for Param 2.0 (#5169, #5198)
  • Compatibility with Bokeh 3.2 (#5185)

Version 1.1.1

21 Jun 13:45
Compare
Choose a tag to compare

The first micro-release in the 1.1.x series brings a large number of bug fixes and some minor enhancements. The most important fixes include compatibility with JupyterLab 4 and improved support for updating ipywidgets. This release saw a lot of contributors and we welcome @TBym, @Glatzli, @theyashi, and @enismaxim1 to the Panel developer community and thank our existing contributors and maintainers @ahuang11, @hoxbro, @sophiamyang, @maximlt, @MarcSkovMadsen, and @philippjfr for their continued contributions.

Enhancements

  • Implement per_session cache (#5117)
  • Enhancements for ChatBox including methods to update rows and hide names (#5118, #5118)

Bug fixes

  • Fix Progress indicator sizing_mode (#5051)
  • Fix various ChatBox issues (#5065, #5101, #5101)
  • Ensure kernel shutdown futures are not collected in Jupyter server extension (#5069)
  • Add bokeh version check for notebook to better support bokeh dev versions (#5071, #5093)
  • Fix false warning emitted when constructing a Param pane with throttled or onkeyup (#5078)
  • Allow to updating/clearing enabled_dates on DatetimePicker (#5089)
  • Ensure session arguments are correctly parsed by Jupyter executor (#5106)
  • Fix defer_load handling (#5107)
  • Fix styling with filters in Tabulator (#5110)
  • Fix issues when using in filter with single value on Tabulator (#5125)
  • Add fallback if ReactiveHTML shadow DOM lookup fails (#5126)
  • Allow automatic loading of extensions during launch and warn about missing extensions (#5144)
  • Correctly process fields on Vega (and altair) selections (#5145)
  • Immediately dispatch ColumnDataChangedEvent fixing Plotly plots not updating (#5147)

Documentation

  • Overhaul Perspective reference page (#5087)
  • Add new HuggingFace deployment documentation (#5158)
  • Enable and document mathjax extension in Markdown reference (#5158)

Compatibility

  • Correctly serialize new IPyWidget models on creation (#5114)
  • Ensure we handle JupyterLab 4 comm messages correctly (#5140)

Backward compatibility

  • Renamed Trend parameter title to name (#5092)

Version 1.1.0

05 Jun 20:20
e4f4c5d
Compare
Choose a tag to compare

This is the first minor release in the 1.x series with a number of new features and small bug fixes. The main features we are excited about are the new ChatBox widget added by @ahuang11 and support for reactive generators. Many thanks to @ahuang11, @philippjfr and @hoxbro for contributing to this release and our amazing community for reporting issues.

Features

  • Add the ChatBox widget (#4702)
  • Add a standalone TooltipIcon indicator (#4909)
  • Implement support for reactive generator functions (#5019)
  • Allow setting on_* handlers in constructor (#5026)
  • Allow controlling initial Template sidebar state (#5033)

Bug fixes

  • Handle height responsiveness of HoloViews layout correctly (#5009)
  • Apply Plotly toolbar colors depending on template (#5012)
  • Fix Fast Design style variables (#5015)
  • Allow reactive updates to override constant parameters (#5032)
  • Fix Tabulator header filter styling (#5038)
  • Ensure Jupyter extensions warns users if app has no contents (#5041)

Version 1.0.4

31 May 13:51
Compare
Choose a tag to compare

Another micro-release in the 1.0.x series addressing small issues reported by our engaged community. Many thanks to @ahuang11, @simzer, @alexmilowski and the core contributors @droumis, @hoxbro and @philippjfr for contributing to this release.

  • Fix global loading spinner (#4936)
  • Fix issues resolving IPyWidget model (#4939)
  • Fix recursive and inplace updates on reactive panes (#4946, #4958)
  • Fix issues with single Select widget (#4947)
  • Ensure CSS config parameters can be passed to Template constructor (#4948)
  • Fixed vizzu data series type conversion for datetime (#4955)
  • Small documentation fixes (#4943, #4960)
  • Fix icon on Toggle and Button widget (#4961)
  • Fix Volume definition on Video pane
  • Ensure icon renders on Toggle button (#4969) (#4970)
  • Ensure Card.header_color is correctly applied (#4971)
  • Update param.List signatures to suppress warnings (#4973)
  • Fix font loading in VanillaTemplate (#4975)
  • Guard is_file check on Windows (#4985)
  • Fix serialization of Plotly.selection_data (#4987)
  • Speed up dynamic layout updates (#4989)

Version 1.0.3

25 May 09:30
Compare
Choose a tag to compare

Another micro-release in the 1.0.x series with a number of smaller bug fixes. Most importantly this resolves issues with loading indicators and with apps converted to the pyodide-worker target. Many thanks to @n3011, @hoxbro and @philippjfr for contributing to this release.

  • Resolve _repr_jpeg_ methods correctly (#4904)
  • Fix handling of queued events in pyodide worker (#4913)
  • Various fixes for loading indicator (#4915)
  • Allow -1 in Tabs.active and allow recovering from closed tabs (#4920)
  • Ensure HoloViews layout is correctly initialized when center is set (#4921)
  • Ensure VSCode editor does not apply white background to Panel output (#4923)
  • Do not error on deserialization errors in notebooks (#4927)
  • Ensure basic auth provider works when dynamically starting server (#4926)
  • Ensure Param pane name is updated when object changes (#4928)
  • Align functionality and styling of FileDownload with Button (#4929)
  • Fix equality comparisons of parameter values when updating a Pane (#4934)
  • Warn about ignored widget parameters on Param pane (#4934)

Version 1.0.2

20 May 01:33
Compare
Choose a tag to compare

A micro-release in the 1.0.x series with a number of bug fixes and documentation tweaks. Many thanks to @jbednar and @philippjfr for contributing to this release.

Bug fixes

  • Ensure Design stylesheets are not replaced when updating component stylesheets (#4883)
  • Ensure tooltips are rendered correctly as HTML (#4887)
  • Fix loading of index page resources (#4891)
  • Ensure FloatPanel can be rendered in classic notebooks (#4892)
  • Attempt rendering output in notebooks even if not all resources have been initialized (#4893)
  • Do not load large bokeh-mathjax bundle in notebooks by default (#4895)
  • Make Fast template sidebar opening transition smoother (#4898)
  • Ensure new items added to Card layout are rendered (#4899)
  • Fix logo rendering in BasicAuth template (#4900)

Documentation

  • Various documentation tweaks (#4884, #4888, #4889, #4901)
  • Update Vega/Altair reference notebook to use altair 5 APIs (#4894)

Version 1.0.1

18 May 12:02
Compare
Choose a tag to compare

A micro-release fixing some small issues discovered in Panel 1.0. Thank you to @droumis, @hoxbro and @philippjfr for contributing fixes.

Bug fixes

  • Ensure Reactive objects wrapped in reactive are re-rendered correctly (#4868)
  • Tweaks for Material Design component inset label styling (#4877)
  • Ensure SlidesTemplate slides changes trigger updates in the pn.state.location.hash (#4878)

Documentation

Version 1.0.0

17 May 18:11
Compare
Choose a tag to compare

The Panel 1.0 release is finally here and it brings a huge number of improvements. The largest improvements in this release come from an upgrade from Bokeh 2.x to Bokeh 3.x. Bokeh overhauled its internal layout engine and stylesheet handling, making applications significantly more performant and customizable going forward.

This release marks a huge step forward in the usability of Panel but is also just a first step in leveraging many of the new capabilities that the updated layout engine and design system affords. In the coming months we will continue to improve and polish the UI and UX and make it easier for you to extend Panel as needed.

For now we want to thank the many people that contributed to this release either by contributing directly or by testing and providing feedback. Many thanks to the core contributors @MarcSkovMadsen, @hoxbro, @maximlt, @jbednar, @droumis and @philippjfr and the outside contributors @ahuang11, @cdeil, @MridulS, @AndrewMaged814, @Midnighter, @wendrul and @lukfal94.

Major Features

The three main features we want to highlight as part of this release are:

Some of the changes related to the new layout engine and design system will require small updates to your existing applications. To make this transition as smooth as possible we have provided an upgrade/migration guide.

New Components

This release also adds a number of exciting new components you can leverage in your applications:

  • Add Swipe layout (#3007)
  • Add Switch widget ([#4130](#4130))
  • Add Vizzu pane (#4226, #4739)
  • Add BrowserInfo model to expose browser window and navigator APIs (#4533)
  • Add BasicAuth provider for quick password based auth (#4684)
  • Add FloatPanel layout (#4707, #4711)
  • Add a SlidesTemplate based on reveal.js to create interactive presentations (#4798)

Major enhancements

There are also a number of major enhancements in this release that we are very excited about:

  • Improved Markdown rendering (#4688)
  • Add support for tooltips on widgets ([#4130](#4130), #4621, #4643)
  • Ensure .ipynb and .md based apps can be used as --index (#4432)
  • Add support for selecting format and encoding for Matplotlib image output and implemented responsive Image sizing (#4514)
  • Add support for icons on Button (#4797)
  • Add generic Image pane that auto-detects the image filetype (#4551)
  • Add support for writing applications in Markdown (#4602)
  • Improve support for inline resources for Jupyter (#3013, #4787)
  • Add ability to reuse sessions to speed up rendering (#3679, #4658)
  • Improve notebook resource and extension loading (#4752)
  • Add ability to add global loading spinner to application(s) (#4659)

Documentation

The last major change we want to highlight is a complete overhaul of the documentation, moving from long and difficult-to-navigate user guides to distinct easily applied how-to guides along with separate, longer explanation sections. We also put in significant effort to ensure that most of our documentation can be run interactively in Pyodide or JupyterLite.

Deprecations & API changes

Compatibility

Deprecations

  • Deprecate IDOM pane ([#4293](#4293), #4323)
  • Deprecate Viewable.app ([#4293](#4293))
  • Deprecate Viewable.pprint (#4347)
  • Deprecate and remove RGGPlot
  • Rename Ace to CodeEditor (#4627)

API changes & Backward Compatibility

  • Pandas is now only a (lazy) runtime dependency (#4411)
  • Tabulator.frozen_rows now respects the order of rows in the data instead of the order in which the frozen_rows were defined ([#4482](#4482))
  • Make margin defaults consistent across widgets and panes (#4528)
  • Extension calls must specify all required extensions (#4562)
  • The .embed method now returns a Mimebundle object for rendering (#4791)
  • Remove panel examples CLI command and pyct dependency (#4691)
  • Expose all layout components in top-level API (#4696)

Other Enhancements

Configuration

Read more

Version 0.14.4

04 Mar 22:12
Compare
Choose a tag to compare

This release is a small bug fix release preceding the upcoming major release of Panel 1.0. Many thanks to the contributors to this release which include @MarcSkovMadsen, @maximlt, @hoxbro and @philippjfr.

Bugs

  • Fix Tabulator client-side string filters by not parsing them as regex (4423)
  • Fix the RGGPlot pane (#4380)
  • Fix panel examples command by ensuring examples are correctly packaged (#4484)
  • Fix event generation by considering NaNs as equal when comparing Numpy arrays (#4481)
  • Use cache from previous sessions when using to_disk (#4481)
  • Fix relative imports when running inside Jupyter Kernel (#4489)
  • Do not re-create Vega.selections object unless selections changed (#4497)

Enhancements

  • Add support for altair and vega-lite v5 (#4488)

Misc

  • Use latest react-grid from CDN (#4461)