This release focuses primarily on solidifying existing functionality, significantly improving performance and fixing a number of important bugs. Additionally this release contains exciting new functionality, including several new components. We want to thank the many contributors to this release (a full list is provided at the bottom), particularly @MarcSkovMadsen (the author of awesome-panel.org) and @xavArtley, who has been hard at work at improving VTK support. We also want to thank the remaining contributors including @philippjfr, @ceball, @jbednar, @jlstevens, @Italirz, @mattpap, @Jacob-Barhak, @stefjunod and @kgullikson88. This release required only minimal changes in existing APIs and added a small number of new ones, reflecting the fact that Panel is now relatively stable and is progressing steadily towards a 1.0 release.
Major Features & Enhancements
- Added new
DeckGLpane (#1019, #1027) - Major improvements to support for JS linking (#1007)
- Huge performance improvements when nesting a lot of components deeply (#867, #888, #895, #988)
- Add support for displaying callback errors and print output in the notebook simplifying debugging (#977)
- Add support for dynamically populating
Tabs(#995) - Added
FileSelectorwidget to browse the servers file system and select files (#909) - Add
pn.servefunction to serve multiple apps at once on the same serve (#963) - Add a
JSONpane to display json data in a tree format (#953)
Enhancements
- Updated Parameter mappings (#999)
- Ensure that closed tabs update
Tabs.objects(#973) - Fixed HoloViews axis linking across
Templateroots (#980) - Merge FactorRange when linking HoloViews axes (#968)
- Expose title and other kwargs on
.show()(#962) - Let
FileInputwidget set filename (#956 - Expose further bokeh CLI commands and added help (#951)
- Enable responsive sizing for
Vega/altair pane (#949) - Added encode parameter to
SVGpane (#913) - Improve
Markdownhandling including syntax highlighting and indentation (#881) - Add ability to define Template variables (#815)
- Allow configuring responsive behavior globally (#851)
- Ensure that changes applied in callbacks are reflected on the frontend immediately (#857)
- Add ability to add axes coordinates to
VTKview (#817) - Add config option for
safe_embedwhich ensures all state is recorded (#1040) - Implemented
__signature__for tab completion (#1029)
Bug fixes
- Fixed
DataFramewidget selection parameter (#989) - Fixes for rendering long strings on Windows systems (#986)
- Ensure that panel does not modify user objects (#967)
- Fix multi-level expand
Paramsubobject (#965) - Ensure
load_notebookis executed only once (#1000) - Fixed bug updating
StaticTexton server (#964) - Do not link
HoloViewsaxes with different types (#937) - Ensure that integer sliders are actually integers (#876)
- Ensure that
GridBoxcontents maintain size (#971)
Compatibility
- Compatibility for new Param API (#992, #998)
- Changes for compatibility with Vega5 and altair 4 (#873, #889, #892, #927, #933)
Backwards compatibility
- The Ace pane has been deprecated in favor of the Ace widget (#908)
Docs
- Updated Django multiple app example and user guide (#928) [@stefjunod]
- Clarify developer installation instructions, and fix up some metadata. (#952, #978)
- Added
Paramreference notebook (#944) - Added
Dividerreference notebook