Skip to content

Version 0.13.0

Compare
Choose a tag to compare
@philippjfr philippjfr released this 15 Apr 15:23
a46d415

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)
  • Fixes CrossSelector.disabled parameter (#3326)
  • Fix EditableSlider updates when no value_throttled is set (#3387)

Tabulator

  • Fix HTMLTemplateFormatter on Tabulator (#2781)
  • Fix layout of Tabulator with non-default theme (#3147)
  • Ensure Tabulator selection is not reset on patch (#3287)
  • Fix Tabulator.download method (#3292)
  • Restore ability to limit number of selectable rows on Tabulato (#3295)
  • Ensure Tabulator value update reports correct old value (#3308)

Templates

  • Fix Fast template vertical slider CSS (#3045)
  • Fix template theme.css (#3057)
  • Ensure roots are rendered into GoldenTemplate (#3313)
  • Ensure correct theme is applied to HoloViews pane in template (#3386)

General

  • Added check for bool in Location.parse_query (#2759)
  • Ensure cleanup happens when enabling --warm or --autoreload with Bokeh 2.4 (#2760)
  • Ensure autoload.js correctly determines state.rel_path (#2776)
  • Fix issue with .app method (#3047)
  • Add document argument to django.py autoload_js_script call (#3100)
  • Avoid sending messages on closed or closing Websocket (#3115)
  • Fix Django resource handling (#3116)
  • Fix handling of loading_max_height (#3205)
  • Fix Django DocConsumer (#3281)
  • Fix jupyter_server_config for preview server extension (#3291)
  • Fix handling of oauth_provider argument to panel.io.server.serve (#3293)
  • Allow exporting absolute paths when saving (#3305)

Documentation

  • Added ToggleGroup docs (#2679)
  • Adds a code of conduct (#2892)
  • Add docstrings to sliders module (#3176)
  • Gallery Examples for Graphviz and NetworkX (#2732)
  • Add layouts + throttling sections to Peformance docs (#3171)
  • Adds Plotly styling gallery notebook (#3038)
  • Adds a matplotlib style guide notebook to gallery (#3036)
  • Adds vega altair style example for the gallery. (#3032)
  • Wrap new gallery examples into apps (#2546)
  • Add docstring to panel module (#3177)
  • added documentation for gcp (#3119)
  • Add docs about the file size limits of the FileInput widget (#3044)
  • Add docstrings for most widgets and panes (#3352, #3353, #3354, #3359, #3365, #3366, #3367, #3369)

Compatibility

  • Update to latest version of Perspective (#3318)
  • Update Vega version (#3320)
  • Update ipywidgets support for compatibility with latest bokeh (#3206, #3299)
  • Bump plotly.js version (#3227)
  • Updates to Param 2.0 API (#2845)
  • Updates for Python 3.10 deprecations (#3065)
  • Update and improve DeckGL pane (#3158)

API Changes

  • Make Param.mapping public (#3173)
  • Switch DatetimePicker start/end to param.Date (#3202)
  • Perspective parameters renamed: row_pivots -> split_by, column_pivots -> group_by and computed_columns -> expressions (#3318)