Blog post: https://blog.holoviz.org/panel_0.13.0.html
Features
- Add support for scheduling global callbacks (#2661)
- MathJax now supported in
MarkdownandHTML(#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
JSONEditorwidget (#1974) - Add quill.js based
TextEditorwidget (#2875) - Add
GenericLoginHandlerfor custom OAuth (#2873, #2960) - Implement
NotificationsAPI for templates (#3093) - Implement built-in threading (#2597, #2632, #3081)
- Implement profiling page for Panel (#2645, #2664, #2667, #2707, #2905)
- Implement support for
Vegaevents (#2592) - Implement
ArrayInputwidget (#2047) - Add
Debuggerwidget (#2548) - Add LinearGauge indicator (#3222)
- Add
ComponentResourceHandlerto server (#3284, #3289, #3303)
Enhancements
Components
- Editable sliders
namecan be changed (#2678) - Make
Plotlypane resize when window resizes (#2704) Viewerobjects can now be used withpn.serve(#2769)VTKimprovement for NaN handling (#2826)- Add support for configuring
Vegaoutput (#2846) - Add a
groupsparameter toSelectwidget (#2876) - Add
Card.hide_headeroption (#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
autoplayandmutedtoAudioandVideo(#3053) - Add a
disabled_optionsparameter to a custom Select widget (#3067) - Expose the
orientationparameter of the button group widgets (#3083) - Add support for rendering pandas styler objects (#3152)
Viewernow better at working withdependsfunctions (#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_alignparameter (#2861) - Implement
Tabulator.on_editcallbacks (#2887, #3209, #2958) - Implement DateEditor and DatetimeEditor for
Tabulator(#2899, #3008) - Implement
Tabulator.buttons(#3111) - Redesign
Tabulator.styleshandling (#3175) - Set default alignment for
Tabulator(#3194) - Bidirectionally sync
Tabulator.sorters(#3217) - Add support for setting percentage widths on
Tabulatorcolumns (#3239) - Add
Tabulator.on_clickcallback (#3245) - Restore
Tabulatorscroll position after patch (#3273) - Enable max row limits for
Tabulator(#3306)
Notebook
- Add basic JupyterLab theme support (#2848)
- Support jupyter server
root_dirwith 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
baseurland adds it tolocation.searchif possible (#3214) - Improve handling of
--indexCLI argument (#3221) - Fix event dispatch (#3231)
- Add azure oauth v2.0 endpoint support (#3224)
- Ensure
gc.collectis not excessively called (#3259) - Added
panel.reactiveandpanel.viewableto namespace (#3157) - Consistent handling of page title (#3290)
Bugs
Components
- Fix warnings in
ReactiveHTMLregex (#2786) - Fixed UTF-8 decoding in Terminal widget (#2880)
- Allow a
param.Selectorwith no objects to be casted toAutocompleteInput(#2966) - Update
ButtonGroupvalue when changing options (#2999) - Fix
TQDMstyle color reset (#3040) - Fix align-items on
Flexbox(#3122) - Fix issue serializing
Spinnerwith negative value (#3154) - Fixes for jslinking
HoloViewscomponents (#3165) BooleanStatusandLoadingSpinnernow update when changing color (#3191)- Fix
Widget.from_paramwhen precedence is negative (#3199) - Ensure
DiscreteSliderlabel is updated (#3278) - Ensure
ReactiveHTMLtemplate variables only escapes exact matches (#3279) - Fix handling of single and empty options on
DiscreteSlider(#3297) - Ensure
Progresscorrectly initializes as indeterminate (#3307) - Always resolve DOM nodes in ReactiveHTML._scripts (#3311)
- Fixes
CrossSelector.disabledparameter (#3326) - Fix
EditableSliderupdates when novalue_throttledis set (#3387)
Tabulator
- Fix HTMLTemplateFormatter on
Tabulator(#2781) - Fix layout of
Tabulatorwith non-default theme (#3147) - Ensure
Tabulatorselection is not reset on patch (#3287) - Fix
Tabulator.downloadmethod (#3292) - Restore ability to limit number of
selectablerows onTabulato(#3295) - Ensure
Tabulatorvalue 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
HoloViewspane in template (#3386)
General
- Added check for bool in
Location.parse_query(#2759) - Ensure cleanup happens when enabling
--warmor--autoreloadwith Bokeh 2.4 (#2760) - Ensure autoload.js correctly determines
state.rel_path(#2776) - Fix issue with
.appmethod (#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_configfor preview server extension (#3291) - Fix handling of
oauth_providerargument topanel.io.server.serve(#3293) - Allow exporting absolute paths when saving (#3305)
Documentation
- Added
ToggleGroupdocs (#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
Plotlystyling 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
FileInputwidget (#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
Vegaversion (#3320) - Update
ipywidgetssupport 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
DeckGLpane (#3158)