This release primarily introduces improvements for ESM and React components and refactoring to make it easy to subclass existing components. This is an effort to make it easier to provide alternative implementations for Panel components. Additionally this release includes compatibility for Bokeh 3.7, bug fixes for TextEditor and a variety of other bug fixes. Many thanks to our new contributor @s-alexey, our returning contributors @Coderambling and the core maintainer team including @hoxbro, @ahuang11 and @philippjfr.
Enhancements
- Make it easier to subclass components (#7730, #7744, #7785)
- Allow
model.useStateinReactComponents to reference nested parameter values (#7743) - Allow providing shared ESM modules (#7757)
- Allow defining root node for
ReactComponent(#7787) - Improve pretty printing in
HoloViewspane (#7775) - Allow serializing joint dict/Parameterized types on
DataModel(#7789) - Improve ListLike and NamedListLike to better match Python list behavior (#7794)
- Improve rendering of ReactComponent children (#7802)
- Allow overriding Param input widgets (#7813)
Performance
Bug fixes
- Correctly handle empty source files (#7732)
- Add extra guard around
get_ipythoncheck (#7734) - Ensure
ReactComponentchildren are sized correctly (#7741) - Ensure
ChatStepdoes not toggle from failed to success (#7742) - Ensure
Feedand scrollable layout children heights are not fixed (#7747) - Declare more
Childparameters on various components (#7749) - Do not sync parameters mapped to None on on ESM components (#7750, #7753)
- Always include esm.css for ESM components (#7752)
- Do not duplicate stylesheets (d133eb9)
- Ensure
ChatSteptext does not overflow container (#7770) - Refactor
ChatFeedpost hook ensuring it processes correct message (#7722) - Ensure hooks are applied to root components with
Fastdesign (#7777) - Ensure resource mode is set in notebooks (#7776)
- Clear state cookie if OAuth access token expired and can't be refreshed (#7780)
- Fix formatting in
TextEditorwidget (#7739) - Use Ace version with no require.js dependency (#7781)
- Ensure multiple sequential notifications render (#7790)
- Style correct column when frozen
Tabulatorcolumn is an index (#7792) - Ensure IconButton tooltip timer is cleared on multiple mouseenter events (#7798)
- Ensure pre-processors are applied to ESM children (#7799)
- Ensure outputs are laid out correctly after initial render of
EditableTemplate(#7816) - Fix regressiong related to providing Path to ESM component stylesheets (#7809)
Compatibility
- Compatibility with Bokeh 3.7 (#7724, #7815)
- Update
TextEditorwidget to Quill.js 2.0.2 (#7739) - Update
Plotlypane to Plotly.js 3.0.1 (#7731)