Releases: holoviz/panel
Version 1.0.1
A micro-release fixing some small issues discovered in Panel 1.0. Thank you to @droumis, @hoxbro and @philippjfr for contributing fixes.
Bug fixes
- Ensure
Reactive
objects wrapped in reactive are re-rendered correctly (#4868) - Tweaks for Material
Design
component inset label styling (#4877) - Ensure
SlidesTemplate
slides changes trigger updates in thepn.state.location.hash
(#4878)
Documentation
Version 1.0.0
The Panel 1.0 release is finally here and it brings a huge number of improvements. The largest improvements in this release come from an upgrade from Bokeh 2.x to Bokeh 3.x. Bokeh overhauled its internal layout engine and stylesheet handling, making applications significantly more performant and customizable going forward.
This release marks a huge step forward in the usability of Panel but is also just a first step in leveraging many of the new capabilities that the updated layout engine and design system affords. In the coming months we will continue to improve and polish the UI and UX and make it easier for you to extend Panel as needed.
For now we want to thank the many people that contributed to this release either by contributing directly or by testing and providing feedback. Many thanks to the core contributors @MarcSkovMadsen, @hoxbro, @maximlt, @jbednar, @droumis and @philippjfr and the outside contributors @ahuang11, @cdeil, @MridulS, @AndrewMaged814, @Midnighter, @wendrul and @lukfal94.
Major Features
The three main features we want to highlight as part of this release are:
- Add new and highly performant layout engine, addressing many performance and layout issues (#4326, #4463, #4491, #4503, #4522, #4690)
- Add unified Design and Theme system (#4413, #4475, #4466, #4540, #4548, #4770, #4792, #4793, #4801)
- Implement support for passing parameters, widgets and bound functions by reference for simple and powerful reactivity (#4495, #4505, #4603, #4606)
Some of the changes related to the new layout engine and design system will require small updates to your existing applications. To make this transition as smooth as possible we have provided an upgrade/migration guide.
New Components
This release also adds a number of exciting new components you can leverage in your applications:
- Add
Swipe
layout (#3007) - Add
Switch
widget ([#4130](#4130)) - Add
Vizzu
pane (#4226, #4739) - Add
BrowserInfo
model to expose browser window and navigator APIs (#4533) - Add
BasicAuth
provider for quick password based auth (#4684) - Add
FloatPanel
layout (#4707, #4711) - Add a
SlidesTemplate
based on reveal.js to create interactive presentations (#4798)
Major enhancements
There are also a number of major enhancements in this release that we are very excited about:
- Improved Markdown rendering (#4688)
- Add support for tooltips on widgets ([#4130](#4130), #4621, #4643)
- Ensure
.ipynb
and.md
based apps can be used as--index
(#4432) - Add support for selecting
format
andencoding
for Matplotlib image output and implemented responsive Image sizing (#4514) - Add support for icons on
Button
(#4797) - Add generic
Image
pane that auto-detects the image filetype (#4551) - Add support for writing applications in Markdown (#4602)
- Improve support for inline resources for Jupyter (#3013, #4787)
- Add ability to reuse sessions to speed up rendering (#3679, #4658)
- Improve notebook resource and extension loading (#4752)
- Add ability to add global loading spinner to application(s) (#4659)
Documentation
The last major change we want to highlight is a complete overhaul of the documentation, moving from long and difficult-to-navigate user guides to distinct easily applied how-to guides along with separate, longer explanation sections. We also put in significant effort to ensure that most of our documentation can be run interactively in Pyodide or JupyterLite.
- Modernize documentation by using latest pydata-sphinx-theme (#4609, #4701)
- Add upgrade/migration guide (#4693)
- Add Explanation section (#2797, #3168, #4664)
- Migrate user guide to how-to guides (#4244, #4251, #4267, #4290, #4412, #4422, #4759, #4774)
- Completely overhaul App Gallery (#4047, #4565, #4574, #4598, #4683)
- Use pyodide rendering throughout documentation and add JupyterLite links (#4751)
Deprecations & API changes
Compatibility
- Bokeh 3 compatibility (#4098, #4117, #4129, #4140, #4150, #4275, #4467, #4435, #4441, #4449, #4448, #4508)
- Upgrade plotly.js to 2.18.0 (#4320)
- Upgrade Tabulator to 5.4 and optimize rendering ([#4482](#4482))
- Upgrade Echarts to 5.4.1 (#4538)
- Upgrade pyodide (0.23.1) and pyscript versions (#4344)
- Add support for altair and vega-lite v5 (#4488)
- Add support for latest versions of ipywidgets (#4716, #4766, #4779)
Deprecations
- Deprecate
IDOM
pane ([#4293](#4293), #4323) - Deprecate
Viewable.app
([#4293](#4293)) - Deprecate
Viewable.pprint
(#4347) - Deprecate and remove
RGGPlot
- Rename
Ace
toCodeEditor
(#4627)
API changes & Backward Compatibility
- Pandas is now only a (lazy) runtime dependency (#4411)
Tabulator.frozen_rows
now respects the order of rows in the data instead of the order in which thefrozen_rows
were defined ([#4482](#4482))- Make
margin
defaults consistent across widgets and panes (#4528) - Extension calls must specify all required extensions (#4562)
- The
.embed
method now returns a Mimebundle object for rendering (#4791) - Remove
panel examples
CLI command and pyct dependency (#4691) - Expose all layout components in top-level API (#4696)
Other Enhancements
Configuration
- Allow to set the log level of the Admin logger ([#3495](https://github.com/holovi...
Version 0.14.4
This release is a small bug fix release preceding the upcoming major release of Panel 1.0. Many thanks to the contributors to this release which include @MarcSkovMadsen, @maximlt, @hoxbro and @philippjfr.
Bugs
- Fix
Tabulator
client-side string filters by not parsing them as regex (4423) - Fix the RGGPlot pane (#4380)
- Fix
panel examples
command by ensuring examples are correctly packaged (#4484) - Fix event generation by considering NaNs as equal when comparing Numpy arrays (#4481)
- Use cache from previous sessions when using
to_disk
(#4481) - Fix relative imports when running inside Jupyter Kernel (#4489)
- Do not re-create
Vega.selections
object unless selections changed (#4497)
Enhancements
- Add support for altair and vega-lite v5 (#4488)
Misc
- Use latest react-grid from CDN (#4461)
Version 0.14.3
This release introduces a large number of bug fixes and minor enhancements. Due to the upcoming release of Panel 1.0 we have also made the unconventional decision to issue new deprecation in a micro release. Specifically the IDOM
pane and Viewable.app
and Viewable.pprint
methods have been scheduled for deprecation. Many thanks to the contributors to this release which include @wendrul, @droumis and the core team @MarcSkovMadsen, @maximlt, @hoxbro and @philippjfr.
Bugs
Tabulator
- Ensure streamed rows on
Tabulator
can be edited (#4292) - Ensure changes on
Tabulator
formatter
andeditor
models are reflected in frontend (#4296) - Ensure cancelling edit does not clear cell on
Tabulator
(#4343) - Ensure inserting empty data on numeric column in
Tabulator
does not error (#4343)
Notebook
- Fix issues rendering components as ipywidgets for some versions of ipykernel (#4289)
- Add warning if custom resources could not be loaded in notebook (#4329)
- Ensure notifications are enabled even if
hv.extension
has been loaded (#4330) - Ensure global notification object can be used inside notebook callbacks (#4331)
Type definitions
- Fix return type of
Widget.from_param
(#4335) - Ensure type annotation allows
str
andPathLike
objects onpanel.serve
(#4336) - Fix type annotations on
panel.io.convert.convert_app
(s) (#4342)
Misc
- Ensure markdown links render correctly in template sidebar (#4222)
- Improve .applies for
ECharts
andDeckGL
(#4224) - Fix specifying custom
--index
with relative path (#4288) - Skip
on_load
callbacks in liveness check (#4302) - Ensure re-rendered
FileDownload
still fetches live data (#4328) - Fix handling of
panel.cache
on undecoratedParameterized
method (#4332) - Ensure user provided
hash_funcs
are applied inpanel.cache
(#4334) - Fix plotly eventdata undefined val (#4355)
- Ensure
panel convert
respectspanel.config
options (#4359) - Propagate options from HoloViews and Bokeh plots to enclosing Pane (#4360)
- Propagate options from dynamic components such as ParamMethod and Interactive to enclosing layout (#4360)
Minor enhancements
- Allow to set the log level of the Admin logger (#3495)
- Make
refresh_token
available in Auth (#4227) - Simplify determining whether script is executed as application with
pn.state.served
property (#4252) - Add
loading_indicator
to globalconfig
(#4259) - IPython
display
compatibility in pyodide builds (#4270) - Split
PanelJupyterExecutor
into separate module (#4276) - Allow dynamic loading of javascript modules in
ReactiveHTML
(#4319) - Add
Plotly.link_figure
parameter (#4333) - Ensure
CrossSelector
filters apply on each keystroke (#4339) - Improve startup, error handling and shutdown of Jupyter kernels in
jupyter_server_extension
(#4364)
Compatibility and Version Updates
- Upgrade plotly.js to 2.10.1 (#4320)
- Upgrade to pyodide 0.22.1 in
panel convert
(#4334) - Upgrade to pyscript 2022.12.01 in
panel convert
(#4334) - Fix compatibility of Perspective pane with Numpy 1.24 (#4362)
Deprecations
- Add deprecation warning to
IDOM
pane (#4293) - Add deprecation warning for
Viewable.app
andViewable.pprint
methods (#4293, #4347)
Documentation
Version 0.14.2
This release primarily focuses on bug fixes. In particular it resolves various issues with support for rendering ipywidgets
(particularly in ipywidgets>=8.0
) and also fixes a number of issues with the Jupyter Server previews. Many thanks for @govinda18, @joelostblom, @banesullivan, @xeldnahcram, @geronimogoemon, @minasouliman, @peterfpeterson, @jlstevens and the core maintainers @maximlt, @hoxbro, @MarcSkovMadsen and @philippjfr for their contributions to this release.
Enhancements
- Add support for
Tqdm.process_map
(#4093) - Support non-vtkPolyData types in vtk synchronizer (#4124)
- Allow invoking
convert
functions from pyodide (#4135) - Support
step
format in date sliders (#4152) - Add a
Reacton
component to simplify rendering (#4190)
Bugs
- Ensure Jupyter server extension serves resources, extensions and paths correctly (#4083, #4133, #4202)
- Ensure
IPyWidget
comm does not break when new widget is rendered (#4091) - Improving detection of comms in VSCode and Google Colab (#4115)
- Ensure
.js
mimetype is served correctly on Windows (#4118) - Ensure unhiding
Tabulator
columns renders cells correctly (#4119) - Ensure embedded
Slider
widgets initialize with correct default (#4121) - Handle missing event loop in thread gracefully (#4123)
- Ensure
Matplotlib
pane handles explicitwidth
/height
settings correctly (#4128) - Allow
Viewer
to render servable but non-viewable objects (#4131) - Fix regression in tracking sessions in admin interface (#4132)
- Ensure
Tabs
headers do not scroll unncessarily (#4146) - Ensure
Location
model reports as idle (#4159) - Fix auth error template rendering (#4162)
- Fix issues with value on
EditableSlider
when it is outsidefixed_start
/fixed_end
range (#4169) - Ensure
ipywidgets
events are handled the same way as regular events (#4171) - Don't raise
TypeError
for class which contains__panel__
(#4174) - Do not dispatch events if bokeh
Document
is set to hold events (#4178) - Execute
onload
callbacks immediately in pyodide app (#4191) - Improve
IPyWidget
kernel handling in server contexts (#4195) - Fix rendering of
IPyWidget
with child views in the notebook (#4197)
Docs
Version 0.14.1
This release primarily addresses regressions introduced in 0.14.0 and various long standing bugs. Many thanks to external contributors @liu-kan and @KedoKudo and the maintainers @hoxbro, @maximlt and @philippjfr for contributing a number of fixes.
### Minor enhancements
- Improve support for requests
in pyodide (#3973)
- Add option to clear value of DatetimePicker (#3990)
- Add support for hashing dates in pn.cache (#4004)
- Silence EMPTY_LAYOUT
warnings (#4056)
### Compatibility
- Fix Jupyterlite and latest PyScript compatibility (#4040)
### Bugs
#### Webassembly conversion
- Correctly handle resource mode in when converting to WebAssembly (#3967)
### Jupyter and Server
- Correctly handle future exceptions on threads (#3977)
- Fix panel serve
index template (#3980)
- Do not error if curdoc
has been destroyed (#3994)
- Ensure extensions loaded in jupyter kernel are served by StaticHandler (#4000)
- Various fixes for OAuth handling with pn.serve
(#4006)
- Fix bug in on_load
callback exception handling (#4007)
- Ensure periodic callbacks are only started on main thread (#4011)
- Ensure jupyter server extension handles explicit root_dir
(#4029)
- Ensure futures are correctly awaited when executed on thread (#4031)
#### Components
- Ensure Tabulator
handles filtering on edited values correctly if show_index=False
(#3988, #4016)
- Ensure Tabulator
declares numeric sorter for numeric dtypes (#3999)
- Fix regression initializing DiscreteSlider
with non-integer value (#4009)
- Ensure that template.config.raw_css is correctly applied (#4018)
- Fix handling MenuButton
clicks when split=True
(#4021)
- Ensure styling on Tabulator
with empty DataFrame does not error (#4028)
- Allow changing level
on Debugger
widget (#4057
Version 0.14.0
This release focuses on three main themes:
- Support for running Panel apps entirely in the browser using WebAssembly (via Pyodide and PyScript)
- Improvements in the app-user experience by making it easier to build responsive and performant applications
- Improvements in the developer experience through static typing and docstrings.
Many, many thanks to everyone who filed issues or contributed to this release. In particular we would like to thank @janimo, @xavArtley, @thuydotm, @jmosbacher, @dmarx, @2WoLpH, @ipopa144, @sdc50 for contributions and @philippjfr, @hoxbro, @maximlt, and @MarcSkovMadsen for ongoing maintenance and development.
Features
- Add support for converting Panel apps to pyscript/pyodide (#3817, #3830, #3851, #3856, #3857, #3858, #3860, #3861, #3863, #3864, #3868, #3878)
- Manage our own CDN to improve performance and reliability for delivering JS payloads (#3867, #3870)
- Add ability to
defer_load
of components (#3882) - Add
pn.widget
helper function (#1826, #3589) - Add
config.exception_handler
to easily capture, log and notify users about errors (#3893) - Implement
pn.cache
function for memoization support (#2411) - Rewrite server extension to run Panel applications in kernels so that previews run in the same environment as the deployed app (#3763)
- Add ability to define authorization callback (#3777)
- Support memray profiler (#3509)
- Add liveness endpoint (#3832)
- Add ability to configure exception handler (#3896)
Enhancements
- Ensure OAuth redirects to requested app and retains query arguments (#3555)
- Add extension entry point (#3738)
- Update Admin Logs page to use
Tabulator
(#3694) - Ensure
location.unsync
unsets query params (#3806) - Allow None value on numeric sliders and
LiteralInput
(#3174) - Allow serving admin panel with
pn.serve
(#3798) - Improve
ReactiveHTML
loop support and validation (#3813) - Support declaring
Perspective.plugin_config
pane (#3814) - Do not flicker busy indicator during
--autoreload
check (#3804) - Improve robustness of
state.curdoc
in threaded and async contexts (#3776, #3810, #3834) - Support datetime bounds for
DatetimePicker
andDatetimeRangePicker
(#3788) - Allow setting the Oauth provider using environment variables (#3698)
- Implement
Player.value_throttled
(#3756) - Ensure that URL query parameters are preserved during OAuth (#3656)
- Improve
Markdown
code syntax highlighting (#3758) - Ensure components do not re-render if
background
orloading
parameters change (#3599) - Add ability to define admin dashboard plugins (#3668)
- Do not calculate embed state for disabled widgets (#3757)
- Add hard bounds to editable sliders (#3739)
- Add bundling of shared resources (#3894)
- Add
Tabulator
as defaultparam.DataFrame
widget (#3912)
Documentation
- Overhaul documentation (#3568)
- Improve Fast Template docstrings (#3570)
- Reorganize docs and convert static notebooks to Markdown (#3875, #3833)
- Add DevelopingCustomModels to the webpage (#3710)
- Improve typing (#3561, #3562, #3592, #3604, #3714, #3729)
Compatibility & Version updates
- Support ipywidgets>=8.0 (#3782)
- Bump jsoneditor package (#3838)
- Upgrade to Tabulator 5.3.2 (#3784)
- Improve Django compatibility (#3843, #3835)
- Remove all usage of deprecated
Pane
Bugs
Server
- Ensure closed websocket does not cause errors
- Handle session and websocket close cleanly (#3769)
- Fix prefix handling for admin page (#3809)
- Support admin dashboard in multi-process deployments (#3812)
- Improve document cleanup when not invoked using
server_destroy
(#3842) - Ensure
pn.state.execute
dispatches immediately if possible (#3859) - Ensure autoload.js resources are appropriately prefixed (#3873)
Notebook
- Fix support for copying cells and creating new views in JupyterLab (#3652)
- Ensure output renders in VSCode notebook with latest ipywidgets (#3765)
- Resolve issues with Jupyter slowdown due to event_loop patching on Windows (#3770)
Tabulator
- Do not re-render
Tabulator
oncss_classes
orbackground
change (#3598) - Ensure expand icon updates on
Tabulator.expanded
change (#3703) - Update
page
Parameter when pagination is 'local' (#3704) - Do not apply
sorters
onTabulator
cell edits (#3744) - Ensure
Tabulator.controls
renders (#3768) - Ensure correctness of event row and selection indices in
Tabulator
(#3771, #3841) - Fix issues with frontend and backend sorters being out of sync in Tabulator (#3825, #3839)
- Fix default values of a list header filter in
Tabulator
(#3826) - Fix the edit event with a python filter in
Tabulator
(#3829) - Disable client-side date filtering on
Tabulator
(#3849) - Support editing of pandas masked array dtypes in
Tabulator
(#3850) - Fix issues editing a cell when client-side filtering applied (#3852)
- Do not recompute data when local pagination is enabled (#3854)
- Don't skip filtering when the column name is undefined (#3862)
Misc
- Fix
FileInput.save
(#3579) - Fix issues with
Matplotlib.high_dpi
option (#3591, #3594) - Ensure layout recomputes on
HTML
/Markdown
re-rerender (#3616) - Allow overriding all widget parameters on
Param
pane (#3754) - Ensure
DatePicker
start/end are transformed when jslinked (#3759) - Ensure notifications can be enabled without a template ([#3820](https:...
Version 0.13.1
This release is primarily a bug fix release but also includes a number of enhancements. Many thanks to @hoxbro, @joelostblom, @raybellwaves, @pdrok, @tlvu, @govinda18, @MridulS and the core maintainers @MarcSkovMadsen, @maximlt and @philippjfr for contributing to this release.
Enhancements
- Add repr to cell and edit events (#3434)
- Improvements for pyodide handling (#3444, #3508, #3511)
- Add support for
Plotly
animation frames (#3449) - Implement single and multi-selection in Vega pane (#3470, #3499, #3505)
- Add typehints to help developers and users (#3476)
- Add
pn.state.execute
method to run callbacks in the right context (#3550) - Add support for asynchronous
on_edit
/on_click
Tabulator callbacks (#3550) - Add
DatetimeRangeSlider
widget (#3548)
Bug fixes
- Fix pyodide array buffer conversion (#3409)
- Allow
placeholder
to be updated onTextEditor
(#3427) - Fix issues editing data in sorted columns (#3431)
- Ensure bokeh correctly detects whether
HTML
/Markdown
contains latex (#3438) - Ensure notifications work on server created with
pn.serve
and.show
(#3445) - Replace slickgrid background image in custom
FastTemplate
CSS (#3461) - Ensure
param.Array
is synced correctly inReactiveHTML
(#3456) - Ensure selection on filtered
Tabulator
does not raise out-of-bounds error (#3462) - Ensure updating
Tabulator
does not reset scroll position (#3450) - Various fixes for
FastTemplate
CSS (#3464) - Ensure
Tabulator
on_click
andon_edit
events return correct row when paginated (#3410) - Fix broken JupyterLab preview (#3469)
- Skip
Tabulator
row selection when clicking on expand button (#3474) - Ensure overflow in
MaterialTemplate
is not clipped (#3492) - Allow providing
--index
for directory style apps (#3493) - Ensure Tabulator expanded rows are sized correctly after re-render (#3507)
- Make CodeHandler robust to document that has been destroyed (#3510)
- Do not sync
DataFrame
widgetsorters
parameter with bokeh model (#3527) - Ensure that HoloViews callback events are not auto-dispatched (#3528)
- Ensure non-updateable
Pane
can be updated insideTabs
(#3532) - Fix slowdown of JupyterLab on Windows (#3531)
- Fix issue with inverted data when editing a cell in a sorted Tabulator column (#3531)
- Ensure
Tabulator
has correct layout after re-render (#3536) - Do not log events generated by admin page on the admin page (#3539)
- Fix Tabulator events when the original column is not a string (#3541)
Documentation
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)