v1.9.0
Breaking Changes📦 panelView on GitHub →
⚠ 2 breaking✨ 7 features🐛 10 fixes⚡ 2 deprecations🔧 14 symbols
Summary
Panel 1.9.0 introduces full typing compatibility with Param 2.4.0 and adds support for wildcard routing in `pn.serve`. This release also modernizes the widget API by canonicalizing the label parameter and renaming button style attributes.
⚠️ Breaking Changes
- Support for Bokeh 3.7 has been dropped. Users must upgrade to a newer version of Bokeh.
- The parameter `button_type` on buttons has been renamed to `color`. Update code referencing `button_type` to use `color` instead.
Migration Steps
- If you were using `widget.name`, change it to `widget.label`.
- If you were using `button.button_type`, rename it to `button.color`.
- If you were using `button.button_style`, rename it to `button.variant`.
- Ensure your Bokeh dependency is greater than 3.7.
✨ New Features
- Full typing compatibility with Param 2.4.0 is now implemented.
- Support for wildcard routes in `pn.serve` has been added, enabling dynamic routing.
- Introduced `Widget.label` as the canonical display label parameter for widgets.
- Renamed `button_type` to `color` and `button_style` to `variant` for better alignment with `panel-material-ui`.
- Made `Feed` type configurable on `ChatFeed`.
- Added `selection` and `value_input` properties to the `TextEditor` widget.
- Added dark theme support for the `JSONEditor` widget.
🐛 Bug Fixes
- Fixed `widget.disabled` getting stuck after rapid toggling.
- Fixed `Trend` indicator not working correctly with `date_range` x-axis.
- Fixed `ReactComponent` initialization issues.
- Fixed `DataFrame` comparison logic in `Tabulator.from_param`.
- Fixed `Tabulator` scroll position resetting incorrectly when filtering on patch updates.
- Prevented `Tabulator` from overwriting scroll position during style updates.
- Fixed `Gauge`/`ECharts` crashing if the ECharts library was not yet loaded.
- Made OAuth token refreshes more robust.
- Sanitized JavaScript string replacement tokens in Python code to prevent injection.
- Fixed string formatting in `NotImplementedError` messages.
Affected Symbols
⚡ Deprecations
- `Widget.name` is deprecated; use `Widget.label` instead.
- `Button.button_style` is deprecated; use `Button.variant` instead.