Skip to content

Releases: holoviz/panel

Version 0.13.0

15 Apr 15:23
a46d415
Compare
Choose a tag to compare

Blog post: https://blog.holoviz.org/panel_0.13.0.html

Features

  • Add support for scheduling global callbacks (#2661)
  • MathJax now supported in Markdown and HTML (#2847)
  • Improved support for async (e.g. in ParamMethod/ParamFunction, bind, onload etc.) (#2964, #3264, #2737)
  • Support rendering Panel objects in Jupyterlite and Pyodide (#3252, #3361, #3381)
  • Add JSONEditor widget (#1974)
  • Add quill.js based TextEditor widget (#2875)
  • Add GenericLoginHandler for custom OAuth (#2873, #2960)
  • Implement Notifications API for templates (#3093)
  • Implement built-in threading (#2597, #2632, #3081)
  • Implement profiling page for Panel (#2645, #2664, #2667, #2707, #2905)
  • Implement support for Vega events (#2592)
  • Implement ArrayInput widget (#2047)
  • Add Debugger widget (#2548)
  • Add LinearGauge indicator (#3222)
  • Add ComponentResourceHandler to server (#3284, #3289, #3303)

Enhancements

Components

  • Editable sliders name can be changed (#2678)
  • Make Plotly pane resize when window resizes (#2704)
  • Viewer objects can now be used with pn.serve (#2769)
  • VTK improvement for NaN handling (#2826)
  • Add support for configuring Vega output (#2846)
  • Add a groups parameter to Select widget (#2876)
  • Add Card.hide_header option (#2947)
  • Support bytes and pathlib.Path objects on Image (#2963, #3294)
  • Add programmatic control over Player widget (#2970, #2994)
  • Add alphabetical and custom sort to Param (#2986)
  • Add autoplay and muted to Audio and Video (#3053)
  • Add a disabled_options parameter to a custom Select widget (#3067)
  • Expose the orientation parameter of the button group widgets (#3083)
  • Add support for rendering pandas styler objects (#3152)
  • Viewer now better at working with depends functions (#3159)
  • Improve support for jinja2 loops in ReactiveHTML (#3236)
  • Add ability to require explicit load of ReactiveHTML extension (#3254)
  • Improve datetime handling of sliders (#3276)
  • Add support for multiple files in FileInput.save (#3300)
  • Add improved Tabs model that resolves sizing and hover issues (#3301, #3321, #3329)

Tabulator

  • Add support to expand rows in Tabulator (#2762, #2837, #3010, #3163)
  • Implement client-side filtering on Tabulator (#2815, #3298)
  • Add Tabulator.header_align parameter (#2861)
  • Implement Tabulator.on_edit callbacks (#2887, #3209, #2958)
  • Implement DateEditor and DatetimeEditor for Tabulator (#2899, #3008)
  • Implement Tabulator.buttons (#3111)
  • Redesign Tabulator.styles handling (#3175)
  • Set default alignment for Tabulator (#3194)
  • Bidirectionally sync Tabulator.sorters (#3217)
  • Add support for setting percentage widths on Tabulator columns (#3239)
  • Add Tabulator.on_click callback (#3245)
  • Restore Tabulator scroll position after patch (#3273)
  • Enable max row limits for Tabulator (#3306)

Notebook

  • Add basic JupyterLab theme support (#2848)
  • Support jupyter server root_dir with lab extension (#3172)
  • Avoid multiple extension execution in the notebook (#3266)
  • Added fullpath to jupyter_server_extension (#3270)

General improvements

  • Warn users if extension is not loaded before server page is rendered (#2766)
  • Sync URL location hash interactively (#2982)
  • Change accent and header background color for Fast Templates (#2984)
  • Add thread safety and TTL to pn.state.as_cached (#3198)
  • Add py.typed file to support mypy (#3055)
  • Handle authentification errors (#3096)
  • Support saving png to file-like objects (#3155)
  • Check if there are any query parameters in baseurl and adds it to location.search if possible (#3214)
  • Improve handling of --index CLI argument (#3221)
  • Fix event dispatch (#3231)
  • Add azure oauth v2.0 endpoint support (#3224)
  • Ensure gc.collect is not excessively called (#3259)
  • Added panel.reactive and panel.viewable to namespace (#3157)
  • Consistent handling of page title (#3290)

Bugs

Components

  • Fix warnings in ReactiveHTML regex (#2786)
  • Fixed UTF-8 decoding in Terminal widget (#2880)
  • Allow a param.Selector with no objects to be casted to AutocompleteInput (#2966)
  • Update ButtonGroup value when changing options (#2999)
  • Fix TQDM style color reset (#3040)
  • Fix align-items on Flexbox (#3122)
  • Fix issue serializing Spinner with negative value (#3154)
  • Fixes for jslinking HoloViews components (#3165)
  • BooleanStatus and LoadingSpinner now update when changing color (#3191)
  • Fix Widget.from_param when precedence is negative (#3199)
  • Ensure DiscreteSlider label is updated (#3278)
  • Ensure ReactiveHTML template variables only escapes exact matches (#3279)
  • Fix handling of single and empty options on DiscreteSlider (#3297)
  • Ensure Progress correctly initializes as indeterminate (#3307)
  • Always resolve DOM nodes in ReactiveHTML._scripts ([#3311](https://githu...
Read more

Version 0.12.7

27 Mar 10:57
Compare
Choose a tag to compare

The 0.12.7 release primarily fixes an incompatibility with the new jinja2 3.1.0 release. Many thanks to @maartenbreddels, @govinda18, @raybellwaves and the maintainers @maximlt and @philippjfr for contributing further fixes to this release.

Bug fixes:

  • Wrong offset when memoryview format is non-byte (#3206)
  • Support jupyter server root_dir with lab extension (#3172)

Docs:

  • add note on enabling panel widget on Jupyter Lab (#3029)
  • Remove redundant and confusing JupyterLab install instructions (#3037)

Compatibility:

  • Fix jinja2 imports (#3258)

Version 0.12.6

09 Dec 16:47
Compare
Choose a tag to compare

The 0.12.6 release fixes a major regression introduced in the last release along with a small number of pre-existing bugs.

Regressions:

  • Always load imported bokeh extensions (#2957)
  • Fix regression rendering HoloViews plotly backend (#2961)

Bug fixes:

  • Do not run Ace import on initialization (#2959)
  • Improve handling of ReactiveHTML cleanup (#2974, #2993)
  • Ensure empty Str has same height as non-empty (#2981)
  • Ensure Tabulator supports grouping on numeric columns (#2987)
  • Fix Tabulator with multi-index and pagination (#2989)
  • Allow index as column name in table widgets (#2990)
  • Ensure TemplateActions component does not have height (#2997)

Version 0.12.5

23 Nov 17:55
Compare
Choose a tag to compare

The 0.12.5 release contains a larger number of bug fixes and minor enhancements. Many thanks to @pmav99, @samuelyeewl, @xavArtley, @L8Y, @Prashant0kgp, @t-houssian, @kristw, @jlstevens and the maintainers @maximlt, @MarcSkovMadsen and @philippjfr for their contributions to this release.

Compatibility:

  • Ensure ipywidget rendering is compatible with ipykernel>6 and bokeh>2.4 (#2798)
  • Build panel.js against bokeh.js 2.4.2 (#2945)

Enhancements:

  • Add 'light' to list of button types ([#2814, #2816)
  • Make OAuth cookie expiry configurable (#2724)
  • Run onload callbacks with --warm option (#2844)
  • Improve Plotly responsive sizing behavior (#2838)
  • Adds escape parameter to DataFrame pane to enable using html markup (#2893)
  • Allow to update the completions options from a parameter (#2895)
  • Tabs cache dynamic contents (#2909)
  • Allow setting a maximum height for the loading indicator (#2910)
  • Ensure loading of MathJax bundle is optional (#2919)

Bug fixes:

  • Resolve issues with inline resources on save (#2794)
  • Restore ability to set a maximum number of selectable rows on Tabulator (#2791)
  • Fixed bug where Tabulator with remote pagination would modify the wrong rows (#2801)
  • Ensure non-exported requirejs modules do not error (#2808)
  • Ensure Tabulator checkbox selection only happens in checkbox column (#2812)
  • Vtkvolume correction of dimensions order (#2818)
  • Allow data item to miss optional field in Vega pane (#2853)
  • Allow to set AutoCompleteInput in a Param pane (#2874)
  • Fix Terminal keystroke and size handling (#2878)
  • Fix Tabulator styles on scroll (#2881)
  • Do not sync Indicator properties from frontend to avoid errors (#2886)
  • Fix roundtrip of datetimes on ReactiveData components (#2888)
  • Fix handling of Plotly pane in Tabs (#2890)
  • Fix bokeh colorbar background for dark theme (#2897)
  • Fix issues when streaming or patching ReactiveData (#2900)
  • Ensure stream and patch events do not boomerang (#2902)
  • Fixes for Card rendering in MaterialTemplate (#2911, #2912)
  • Ensure HoloViews matplotlib output uses tight layout (#2920)
  • Fix decoding of single quoted strings in url parameters (#2925)
  • Fix Tabulator checkbox selection (#2931)
  • Fix Vega pane sizing issues (#2933)
  • Ensure toggled Accordion only triggers one event on change of active Card (#2934)
  • Ensure LiteralInput JS deserializer does not insert extra spaces (#2935)
  • Fix issue in detecting script data assignment in ReactiveHTML (#2939)
  • Ensure Card collapsible icon offset is computed robustly (#2940)
  • Ensure --autoreload does not reload panel modules (#2941)
  • Ensure pn.state.curdoc is available to async callbacks (#2942)

Documentation:

  • Fix default values of panels.io.server.serve()(#2799)
  • Update docs about pn.serve per user state (#2849)
  • Added FastApi in the user guide for embedding apps (#2870)
  • Simplify homepage (#2850)

CVEs:

  • Update jQuery to remediate CVEs (#2885)

Version 0.12.4

27 Sep 12:41
Compare
Choose a tag to compare

The 0.12.4 release fixes a number of bugs and a regression of the autoreload feature in 0.12.2 and 0.12.3.

Compatibility:

  • Fix issues with --autoreload caused by changes in Bokeh 2.4 (#2755)

Enhancements:

  • Ensure user is warned if an extension was not loaded in time on server (#2765)
  • Allow Viewer classes to be served (#2768)
  • Add support for rendering .ico files and pathlib objects (#2757)

Bug fixes:

  • Fixed export of vtk.js module (#2562)
  • Fix broken HTMLTemplateFormatter on Tabulator (#2730)
  • Fix serialization issues of Panel components on ReactiveHTML (#2743)
  • Ensure FlexBox behaves like a layout and makes its children discoverable (#2779)
  • Ensure Plotly plots can be updated in tabs (#2747)
  • Fix embedding of Panel apps in Flask (#2727)
  • Ensure Spinner widget honors bounds when created from Param object (#2740)
  • Ensure Tabulator style does not disappear after resize event (#2770)
  • Fix PeriodicCallback errors (#2764)
  • Fix syncing of boolean types with URL parameters (#2758)
  • Ensure Tabulator.download_menu applies kwargs to the filename TextInput (#2763)
  • Ensure Tabulator does not error when no Styler is defined (#2785)

Documentation:

  • Fix MaterialUI custom component example (#2680)
  • Fix image url in Markdown reference gallery example (#2734)
  • Add Folium thumbnail in reference gallery (#2744)

Version 0.12.3

17 Sep 20:14
Compare
Choose a tag to compare

The 0.12.2 release unfortunately has a compatibility issue with Bokeh 2.4 which broke the show() method. This release fixes this regression.

  • Patch Bokeh to fix show() (#2748)

Version 0.12.2

16 Sep 15:46
Compare
Choose a tag to compare

This is a patch release with a small number of bug fixes and compatibility for bokeh 2.4. Many thanks to the contributors @Stubatiger, @maximlt, @nghenzi and the maintainers @MarcSkovMadsen and @philippjfr for the fixes in this release.

Enhancements:

  • Add option to hide constant parameters on Param pane (#2637)
  • Added on_session_destroyed callback (#2659)
  • Stricter validation for linking syntax in ReactiveHTML._template (#2689)

Bug fixes:

  • Improved thread safety (#2631)
  • Ensure sessions get distinct files in config (#2646)
  • Fix bug when updating Trend data (#2647)
  • Ensure sorters are applied correctly after updating Tabulator value (#2639)
  • Correctly reflect filtered data on Tabulator.selection (#2676
  • Unescape child literal HTML in ReactiveHTML (#2690)
  • Ensure Trend indicator can be rendered in layout (#2694)

Documentation:

  • Enhance templates docs (#2658)
  • Add Folium reference notebook (#2672)

Compatibility:

Version 0.12.1

10 Aug 15:17
Compare
Choose a tag to compare

This is a patch release with a small number of fixes following the 0.12.0 release. Many thanks to the maintainers @MarcSkovMadsen and @philippjfr for the fixes in this release.

Enhancements:

  • Bundle .map files during build to allow source mapping (#2591)
  • Various style improvements for Fast templates (#2604, #2609, #2611, #2615)
  • Implement hierarchical aggregation for Tabulator (#2624)

Bug fixes:

  • Fix logo on Fast templates (#2184)
  • Fix height responsiveness of Folium pane (#2231)
  • Fix bug updating Tqdm indicator (#2554)
  • Ensure --autoreload doesn't error on cleaned up session (#2570)
  • Don't use persisted layout if save_layout=False (#2579)
  • Pin version of tqdm with asyncio support (#2595)
  • Reset layout when resetting grid template layout (#2576)
  • Fix line-height issues in Fast templates (#2600)
  • Clean up sessions after warmup and ensure periodic callbacks are cleaned up (#2601)

Documentation:

  • Enable JupyterLab preview button on binder (#2545)
  • Update theme toggle documentation for Fast templates (#2560)
  • Update Fast template documentation and enable full screen (#2577)
  • Fix binder links on website (#2590)
  • Add docs about loading the ipywidgets extension (#2594)

Version 0.12.0

20 Jul 15:25
Compare
Choose a tag to compare

The 0.12.0 release is a minor release with a lot of exciting and a huge amount of bug fixes. We are very excited about the growing community and the many contributions we received. In particular we would like to thank @douglas-raillard-arm, @mathrick, @jlstevens, @hyamanieu, @Liam-Deacon, @Stubatiger, @ablythed, @syamajala, @hoxbro, @jbednar, @brl0, @OBITORASU, @fleming79, dhruvbalwada and @rmorshea for contributing various fixes and improvements and the core developers @xavArtley, @MarcSkovMadsen and @philippjfr for continuing to push the development of Panel.

Features:

Enhancements:

  • Add empty Progress bar (#2088)
  • Optimize initialization of templates (#2096)
  • Serialize Perspective schema (#2130)
  • Updated JSON pane to accept single quote and wrap properly (#2143, #2443)
  • Improvements for Perspective (#2153)
  • Improve handling of server prefix and proxied deployment scenarios (#2159, #2162)
  • Add support for setting bokeh theme (#2164, #2166, #2170)
  • Completely overhauled the default index template (#2198, #2340)
  • Enhancements for Template modals (#2269, #2523)
  • Make the Template sidebar width configurable (#2301)
  • Improve look and feel and styling of Fast templates (#2303, #2469, #2484, #2488)
  • Allow setting kwargs in Reactive.controls (#2304)
  • Add global configuration variable to always throttle sliders (#2306)
  • Add support for controlling text alignment in DataFrame and Tabulator (#2331)
  • Add Tabulator theme for Fast Templates (#2425)
  • Add ability to make only certain Tabulator rows selectable (#2433)
  • Add visible parameter to all components (#2440)
  • Send Plotly restyle and relayout events rather than full updates (#2445)
  • Add push_notebook helper function for syncing bokeh property changes in notebooks (#2447)
  • Improve visual styling of Card (#2343, #2348, #2376, #2437, #2527)
  • Ensure config variables are configured per user session (#2358, #2455, #2481)
  • Add save_layout and prevent_collision to ReactTemplate and FastGridTemplate (#2296, #2357)
  • Add ability to declare root application from panel serve (#2392)
  • Support jslinking Parameterized class (#2441)
  • Improve config.sizing_mode behavior (#2442)
  • Add separate RangeSlider value_start and value_end parameters (#2457, #2468)
  • Allow saving Templates (#2461)
  • Bundle Tabulator resources to allow usage in airgapped environment (#2471)
  • Ensure Trend indicator title wraps (#2483)
  • Scroll on Tabulator selection (#2503)
  • Increase notebook resource load timeout (#2515)
  • Auto-detect VSCode and Colab comms (#2536)
  • Add tooltip to Tabulator cells to see unformatted value (#2543)

Bug fixes:

  • Fix missing video in Video (#2109)
  • use idom.config to set dist dir (#2117)
  • Remove bootstrap CSS from FastGridTemplate (#2123)
  • Fix issues with Ace z-index (#2126)
  • Fix updating of Tabulator selection property (#2128)
  • Ensure changes on ReactiveData source are scheduled correctly (#2134)
  • Fixed Player looping when start is 0 (#2141)
  • Fix divide by zero issues on Trend indicator (#2148)
  • Ensure GridSpec override handles duplicate matches (#2150)
  • Fix for loading parameter widget linking (#2160)
  • Fix Tabulator ajax call on empty data (#2161)
  • Fix Tabulator sorting and data initialization (#2163)
  • Fix editing Tabulator with filters applied (#2165)
  • Fix theming on HoloViews plot updates (#2209)
  • Fixed data handling on Perspective pane (#2212)
  • Improve template and resource management for png export (#2221)
  • Improve and standardize selection behavior of Tabulator (#2230)
  • Ensure JS changes to Plotly pane are applied if not explicitly triggered (#2251)
  • Fix server-side Tabulator selection changes (#2252)
  • Fix update of Param subobjects (#2255)
  • Add support for vtkCornerAnnotations (#2257)
  • Improve request handling for remote pagination on Tabulator (#2265)
  • Allow setting Param precedence to None (#2266)
  • Disable nested field separators on Tabulator (#2289...
Read more

Version 0.11.3

15 Apr 09:58
Compare
Choose a tag to compare

The 0.11.3 release is another micro-release in the 0.11 series primarily focused on updating the documentation theme and a regression in loading Tabulator data.

Bug fixes:

  • Fix Tabulator sorting and data initialization (#2163)
  • Improved handling of IDOM build directory (#2168)
  • Fix apply of bokeh_theme in templates (#2170)

Documentation:

  • Switch to PyData Sphinx Theme (#2139)