Panel 1.8.4 includes key bug fixes and behavior improvements around event ordering, Tabulator interop, and Jupyter/Notebook usage. It also improves support for async usage, validation, and app routing—plus quality-of-life enhancements for both developers and users. Thanks to @philippjfr, @hoxbro, @maximlt, @ahuang11, @MarcSkovMadsen, @TheoMathurin, @ruoyu0088, and @dieterweber for your contributions to this release!
✨ Enhancements
- Add config toggle to disable Bokeh validation (#8294)
- Allow
Tabulator.row_contentto be an async function (#8309) - Improve documentation and validation of
patch_value(#8312) - Propagate layout-related parameters to
NestedSelect(#8317)
🐛 Bug Fixes
- Fix crash when emptying a
DataFrame(#8256) - Ensure new Panel instance is always loaded (#8293)
- Improve robustness of Bokeh/Panel notebook integration (#8289)
- Fix notebook reading errors by explicitly using UTF-8 encoding (#8304)
- Ensure
param.Actiononly triggers one event (#8305) - Fix conflict when using both
ipywidgetsandTabulatorextensions (#8308) - Ensure discrete events (e.g. button clicks) are scheduled after change events (#8311, #8319)
- Reinstate application name as default index page title (#8313)
- Redirect requests to the prefixed root when
--prefixis set (#8321) - Ensure non-active
Tabsare not clickable (#8324)