Releases: holoviz/panel
Version 0.13.0
Blog post: https://blog.holoviz.org/panel_0.13.0.html
Features
- Add support for scheduling global callbacks (#2661)
- MathJax now supported in
Markdown
andHTML
(#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 withpn.serve
(#2769)VTK
improvement for NaN handling (#2826)- Add support for configuring
Vega
output (#2846) - Add a
groups
parameter toSelect
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
andmuted
toAudio
andVideo
(#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 withdepends
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 tolocation.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
andpanel.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 toAutocompleteInput
(#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
andLoadingSpinner
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...
Version 0.12.7
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
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
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 inTabs
(#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 inMaterialTemplate
(#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
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 andpathlib
objects (#2757)
Bug fixes:
- Fixed export of vtk.js module (#2562)
- Fix broken
HTMLTemplateFormatter
onTabulator
(#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 fromParam
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 filenameTextInput
(#2763) - Ensure
Tabulator
does not error when no Styler is defined (#2785)
Documentation:
Version 0.12.3
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
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:
Compatibility:
Version 0.12.1
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:
Version 0.12.0
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:
- Add
ReactiveHTML
(#1894, #2091, #2092, #2098, #2115, #2210, #2287, #2290, #2332, #2345, #2372, #2373, #2374, #2383, #2384, #2393, #2397, #2399, #2400, [#2401 #2402, #2404, #2533, #2535) - Add
Terminal
Widget based on xterm.js (#2090) - Adding a
DatetimePicker
widget (#2107, #2135) - Add editable sliders (#2111, #2133, #2208)
- Add
FlexBox
layout (#2233, #2511) - Add ability to configure global template (#2271)
- Add
GridStack
layout (#2375) - Add
PDF
pane (#2444) - Add
/panel-preview
endpoint for Jupyter server extension (#2341, #2361) - Add
Tqdm
Indicator (#2079)
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
andTabulator
(#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
andprevent_collision
toReactTemplate
andFastGridTemplate
(#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
andvalue_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...
Version 0.11.3
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)