Releases: holoviz/panel
Version 1.2.1
This micro-release focuses on a small number of enhancements and rendering related bug fixes. Specifically it adds support for notifying users when the page is ready and when the Websocket disconnects using corresponding config options and upgrades the Vizzu version, thereby adding support for tooltips and enabling animations when the data is updated. The bug fixes are primarily focused on ensuring components such as GridStack
and Tabulator
render correctly and do not unnecessarily re-render or reload stylesheets. Many thanks and welcome to @owenlamont, @Sciemon, @DGLaurits, @ciemarr and @Kislovskiy for their first contributions to Panel and the maintainers @MarcSkovMadsen, @hoxbro and @philippjfr for contributing to this release.
Enhancements
- Add
config.disconnect_notification
andconfig.ready_notification
(#5244) - Add
Vizzu
tooltip support and allow animations when data is updated (#5258) - Style tweaks for
Card
andSelect
components (#5280)
Bug fixes
- Ensure
GridStack
children are sized correctly after render (#5242) - Fix
Tabulator
expanded row rendering (#5253) - Fix bug where local
PDF
pane is rendered as base64 string (#5264) - Avoid full re-rendering when updating
HTML
based components (#5275) - Ensure that
Design
does not trigger unnecessary updates to stylesheets (#5278) - Treat
Tabulator
row_contents
as real children ensuring layout behaves correctly (#5292) - Fix
Video
min_height
andmax_height
(#5296) - Make
TextEditor
invisible until CSS is loaded (#5297) - Fix
disabled
parameter on editable sliders (#5319
Compatibility
- Update pyodide and pyscript versions and switch to compiled build (#5309)
Documentation
- Add VS Code How To Guide (#5196)
- Fix binder (#5257)
- Various smaller documentation fixes ([#4821], #5249, #5266)
- Tweak example in the Build an App section of Getting Started (#5302)
- Update pyodide documentation with latest versions (#5234, #5308)
- Remove MyST inline directives from JupyterLite notebooks (#5311)
Version 1.2.0
This release primarily aims at providing compatibility with Bokeh 3.2 and the upcoming Param 2.0 release. Additionally it includes a number of improvements including the ability to generate multiple outputs from a generator using the new 'append'
mode and updates and fixes for Tabulator. We are also excited about the new Streamlit migration guide and a number of bug fixes. Many thanks to @sdc50, @xiaoyang-sde and the core team including @ahuang11, @MarcSkovMadsen, @hoxbro, @maximlt and @philippjfr for contributing to this release.
Enhancements
- Add
append
mode for reactive generator output (#5129) - Upgrade to
Tabulator
5.5 (#5182) - Add support for
LoadingSpinner
label (#5194) - Add the
editable
parameter toPerspective
(#5211) - Add support for setting
theme_classes
onTabulator
(#5216) - Move resource handling onto
BaseTemplate
(#5228)
Bug fixes
- Correctly process fields on
Vega
(and altair) selections (#5164) - Fix for resource handling particularly when working with Django (#5175)
- Fix
ChatBox
bubble width (#5172) - Fix
Tabulator.visible
handling (#5182) - Fix programmatic updates to
Tabulator.page
(#5187) - Ensure bokeh events generated in pyodide convert
None
tonull
(#5191) - Improve notebook detection (#5201)
- Reduce priority of
_repr_<img>_
to ensure_repr_html_
takes precedence (#5217) - Ensure we do not modify
Tabulator.hidden_columns
inplace (#5218) - Alignment and styling fixes for text input and button widgets (#5219)
- Fix updates to
Plotly
nested properties such as selections (#5227)
Documentation
Compatibility
Version 1.1.1
The first micro-release in the 1.1.x series brings a large number of bug fixes and some minor enhancements. The most important fixes include compatibility with JupyterLab 4 and improved support for updating ipywidgets. This release saw a lot of contributors and we welcome @TBym, @Glatzli, @theyashi, and @enismaxim1 to the Panel developer community and thank our existing contributors and maintainers @ahuang11, @hoxbro, @sophiamyang, @maximlt, @MarcSkovMadsen, and @philippjfr for their continued contributions.
Enhancements
- Implement
per_session
cache (#5117) - Enhancements for
ChatBox
including methods to update rows and hide names (#5118, #5118)
Bug fixes
- Fix
Progress
indicatorsizing_mode
(#5051) - Fix various
ChatBox
issues (#5065, #5101, #5101) - Ensure kernel shutdown futures are not collected in Jupyter server extension (#5069)
- Add bokeh version check for notebook to better support bokeh dev versions (#5071, #5093)
- Fix false warning emitted when constructing a Param pane with
throttled
oronkeyup
(#5078) - Allow to updating/clearing
enabled_dates
onDatetimePicker
(#5089) - Ensure session arguments are correctly parsed by Jupyter executor (#5106)
- Fix
defer_load
handling (#5107) - Fix styling with filters in
Tabulator
(#5110) - Fix issues when using
in
filter with single value on Tabulator (#5125) - Add fallback if
ReactiveHTML
shadow DOM lookup fails (#5126) - Allow automatic loading of extensions during launch and warn about missing extensions (#5144)
- Correctly process fields on
Vega
(and altair) selections (#5145) - Immediately dispatch
ColumnDataChangedEvent
fixingPlotly
plots not updating (#5147)
Documentation
- Overhaul Perspective reference page (#5087)
- Add new HuggingFace deployment documentation (#5158)
- Enable and document mathjax extension in Markdown reference (#5158)
Compatibility
- Correctly serialize new IPyWidget models on creation (#5114)
- Ensure we handle JupyterLab 4 comm messages correctly (#5140)
Backward compatibility
- Renamed Trend parameter title to name (#5092)
Version 1.1.0
This is the first minor release in the 1.x series with a number of new features and small bug fixes. The main features we are excited about are the new ChatBox
widget added by @ahuang11 and support for reactive generators. Many thanks to @ahuang11, @philippjfr and @hoxbro for contributing to this release and our amazing community for reporting issues.
Features
- Add the
ChatBox
widget (#4702) - Add a standalone
TooltipIcon
indicator (#4909) - Implement support for reactive generator functions (#5019)
- Allow setting
on_*
handlers in constructor (#5026) - Allow controlling initial
Template
sidebar state (#5033)
Bug fixes
- Handle height responsiveness of
HoloViews
layout correctly (#5009) - Apply
Plotly
toolbar colors depending on template (#5012) - Fix Fast
Design
style variables (#5015) - Allow reactive updates to override constant parameters (#5032)
- Fix
Tabulator
header filter styling (#5038) - Ensure Jupyter extensions warns users if app has no contents (#5041)
Version 1.0.4
Another micro-release in the 1.0.x series addressing small issues reported by our engaged community. Many thanks to @ahuang11, @simzer, @alexmilowski and the core contributors @droumis, @hoxbro and @philippjfr for contributing to this release.
- Fix global loading spinner (#4936)
- Fix issues resolving
IPyWidget
model (#4939) - Fix recursive and inplace updates on reactive panes (#4946, #4958)
- Fix issues with single
Select
widget (#4947) - Ensure CSS
config
parameters can be passed toTemplate
constructor (#4948) - Fixed vizzu data series type conversion for datetime (#4955)
- Small documentation fixes (#4943, #4960)
- Fix
icon
onToggle
andButton
widget (#4961) - Fix Volume definition on
Video
pane - Ensure icon renders on
Toggle
button (#4969) (#4970) - Ensure
Card.header_color
is correctly applied (#4971) - Update
param.List
signatures to suppress warnings (#4973) - Fix font loading in
VanillaTemplate
(#4975) - Guard is_file check on Windows (#4985)
- Fix serialization of
Plotly.selection_data
(#4987) - Speed up dynamic layout updates (#4989)
Version 1.0.3
Another micro-release in the 1.0.x series with a number of smaller bug fixes. Most importantly this resolves issues with loading indicators and with apps converted to the pyodide-worker
target. Many thanks to @n3011, @hoxbro and @philippjfr for contributing to this release.
- Resolve
_repr_jpeg_
methods correctly (#4904) - Fix handling of queued events in pyodide worker (#4913)
- Various fixes for loading indicator (#4915)
- Allow
-1
inTabs.active
and allow recovering from closed tabs (#4920) - Ensure
HoloViews
layout is correctly initialized whencenter
is set (#4921) - Ensure VSCode editor does not apply white background to Panel output (#4923)
- Do not error on deserialization errors in notebooks (#4927)
- Ensure basic auth provider works when dynamically starting server (#4926)
- Ensure
Param
panename
is updated when object changes (#4928) - Align functionality and styling of
FileDownload
withButton
(#4929) - Fix equality comparisons of parameter values when updating a
Pane
(#4934) - Warn about ignored widget parameters on
Param
pane (#4934)
Version 1.0.2
A micro-release in the 1.0.x series with a number of bug fixes and documentation tweaks. Many thanks to @jbednar and @philippjfr for contributing to this release.
Bug fixes
- Ensure
Design
stylesheets are not replaced when updating component stylesheets (#4883) - Ensure tooltips are rendered correctly as HTML (#4887)
- Fix loading of index page resources (#4891)
- Ensure
FloatPanel
can be rendered in classic notebooks (#4892) - Attempt rendering output in notebooks even if not all resources have been initialized (#4893)
- Do not load large bokeh-mathjax bundle in notebooks by default (#4895)
- Make Fast template sidebar opening transition smoother (#4898)
- Ensure new items added to
Card
layout are rendered (#4899) - Fix logo rendering in BasicAuth template (#4900)
Documentation
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)