Skip to content

Releases: holoviz/panel

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)

Version 0.14.3

31 Jan 15:59
Compare
Choose a tag to compare

This release introduces a large number of bug fixes and minor enhancements. Due to the upcoming release of Panel 1.0 we have also made the unconventional decision to issue new deprecation in a micro release. Specifically the IDOM pane and Viewable.app and Viewable.pprint methods have been scheduled for deprecation. Many thanks to the contributors to this release which include @wendrul, @droumis and the core team @MarcSkovMadsen, @maximlt, @hoxbro and @philippjfr.

Bugs

Tabulator

  • Ensure streamed rows on Tabulator can be edited (#4292)
  • Ensure changes on Tabulator formatter and editor models are reflected in frontend (#4296)
  • Ensure cancelling edit does not clear cell on Tabulator (#4343)
  • Ensure inserting empty data on numeric column in Tabulator does not error (#4343)

Notebook

  • Fix issues rendering components as ipywidgets for some versions of ipykernel (#4289)
  • Add warning if custom resources could not be loaded in notebook (#4329)
  • Ensure notifications are enabled even if hv.extension has been loaded (#4330)
  • Ensure global notification object can be used inside notebook callbacks (#4331)

Type definitions

  • Fix return type of Widget.from_param (#4335)
  • Ensure type annotation allows str and PathLike objects on panel.serve (#4336)
  • Fix type annotations on panel.io.convert.convert_app(s) (#4342)

Misc

  • Ensure markdown links render correctly in template sidebar (#4222)
  • Improve .applies for ECharts and DeckGL (#4224)
  • Fix specifying custom --index with relative path (#4288)
  • Skip on_load callbacks in liveness check (#4302)
  • Ensure re-rendered FileDownload still fetches live data (#4328)
  • Fix handling of panel.cache on undecorated Parameterized method (#4332)
  • Ensure user provided hash_funcs are applied in panel.cache (#4334)
  • Fix plotly eventdata undefined val (#4355)
  • Ensure panel convert respects panel.config options (#4359)
  • Propagate options from HoloViews and Bokeh plots to enclosing Pane (#4360)
  • Propagate options from dynamic components such as ParamMethod and Interactive to enclosing layout (#4360)

Minor enhancements

  • Allow to set the log level of the Admin logger (#3495)
  • Make refresh_token available in Auth (#4227)
  • Simplify determining whether script is executed as application with pn.state.served property (#4252)
  • Add loading_indicator to global config (#4259)
  • IPython display compatibility in pyodide builds (#4270)
  • Split PanelJupyterExecutor into separate module (#4276)
  • Allow dynamic loading of javascript modules in ReactiveHTML (#4319)
  • Add Plotly.link_figure parameter (#4333)
  • Ensure CrossSelector filters apply on each keystroke (#4339)
  • Improve startup, error handling and shutdown of Jupyter kernels in jupyter_server_extension (#4364)

Compatibility and Version Updates

  • Upgrade plotly.js to 2.10.1 (#4320)
  • Upgrade to pyodide 0.22.1 in panel convert (#4334)
  • Upgrade to pyscript 2022.12.01 in panel convert (#4334)
  • Fix compatibility of Perspective pane with Numpy 1.24 (#4362)

Deprecations

  • Add deprecation warning to IDOM pane (#4293)
  • Add deprecation warning for Viewable.app and Viewable.pprint methods (#4293, #4347)

Documentation

  • Add CONTRIBUTING.md (#4262)
  • Add Gallery VideoStream example (#4047)
  • Add description of literal options to the docs for ReactiveHTML (#3803)

Version 0.14.2

16 Dec 17:43
Compare
Choose a tag to compare

This release primarily focuses on bug fixes. In particular it resolves various issues with support for rendering ipywidgets (particularly in ipywidgets>=8.0) and also fixes a number of issues with the Jupyter Server previews. Many thanks for @govinda18, @joelostblom, @banesullivan, @xeldnahcram, @geronimogoemon, @minasouliman, @peterfpeterson, @jlstevens and the core maintainers @maximlt, @hoxbro, @MarcSkovMadsen and @philippjfr for their contributions to this release.

Enhancements

  • Add support for Tqdm.process_map (#4093)
  • Support non-vtkPolyData types in vtk synchronizer (#4124)
  • Allow invoking convert functions from pyodide (#4135)
  • Support step format in date sliders (#4152)
  • Add a Reacton component to simplify rendering (#4190)

Bugs

  • Ensure Jupyter server extension serves resources, extensions and paths correctly (#4083, #4133, #4202)
  • Ensure IPyWidget comm does not break when new widget is rendered (#4091)
  • Improving detection of comms in VSCode and Google Colab (#4115)
  • Ensure .js mimetype is served correctly on Windows (#4118)
  • Ensure unhiding Tabulator columns renders cells correctly (#4119)
  • Ensure embedded Slider widgets initialize with correct default (#4121)
  • Handle missing event loop in thread gracefully (#4123)
  • Ensure Matplotlib pane handles explicit width/height settings correctly (#4128)
  • Allow Viewer to render servable but non-viewable objects (#4131)
  • Fix regression in tracking sessions in admin interface (#4132)
  • Ensure Tabs headers do not scroll unncessarily (#4146)
  • Ensure Location model reports as idle (#4159)
  • Fix auth error template rendering (#4162)
  • Fix issues with value on EditableSlider when it is outside fixed_start / fixed_end range (#4169)
  • Ensure ipywidgets events are handled the same way as regular events (#4171)
  • Don't raise TypeError for class which contains __panel__ (#4174)
  • Do not dispatch events if bokeh Document is set to hold events (#4178)
  • Execute onload callbacks immediately in pyodide app (#4191)
  • Improve IPyWidget kernel handling in server contexts (#4195)
  • Fix rendering of IPyWidget with child views in the notebook (#4197)

Docs

  • Add JupyterLite build and instructions (#4122)
  • Document deployment to Hugging Face Spaces (#4143)