Update dependency panel to v1.9.4 #105

Open
renovate[bot] wants to merge 1 commit from renovate/panel-1.x into main
renovate[bot] commented 2026-09-02 03:30:33 +00:00 (Migrated from github.com)

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
panel ==1.7.0 → ==1.9.4 age adoption passing confidence

Release Notes

holoviz/panel (panel)

v1.9.4

Compare Source

Panel 1.9.4 is a patch release focused on rendering robustness for ESM/React components, several Tabulator and Pipeline fixes, OAuth hardening, and stylesheet/loading reliability improvements. It also adds support for movable Tabulator columns. Many thanks to @​TheoMathurin, @​rimsha152007-dotcom, @​ebarkhordar, @​SimonHeybrock, @​ahuang11, @​Kkkakania, @​EltonChang1, @​hoxbro, @​MarcSkovMadsen, @​Coderambling, @​SuMayaBee, @​youdie006, @​kyo5uke, @​ghostiee-11 and @​philippjfr for contributing to this release.

🚀 Features
  • Support movable Tabulator columns (#​8685)
🎨 UI Improvements
  • Align loading spinner with panel-material-ui (#​8686)
🐛 Bug Fixes
  • Report the pre-edit value on Tabulator value events (#​8714)
  • Raise a clear type error for unsupported Perspective objects (#​8720)
  • Fix Tabulator starts and ends header filters (#​8719)
  • Ensure ESM component child views aren't created concurrently (#​8713)
  • Inline versioned stylesheets on the notebook update path (#​8708)
  • Resolve invisible slider title font color in Fast theme's light mode (#​8704)
  • Various ESM component robustness fixes (#​8702)
  • Reveal markup panes when their stylesheets fail to load or are replaced (#​8700)
  • Drain held events once connected (#​8698)
  • Fix Tabulator row_content in panel-material-ui dynamic Tabs (#​8697)
  • Claim the Document thread before running app code (#​8693)
  • Ensure explicitly set sizing options are respected (#​8687)
  • Fix Feed rendering all objects at once (#​8667)
  • Fix repeated Location sync mappings (#​8660)
  • Fix Tabulator page size handling (#​8657)
  • Fix Fast theme Progress indicator height (#​8652)
  • Return a clean 403 for unauthenticated WebSocket connections (#​8639)
  • Set Cache-Control: no-store on the Bokeh document page (#​8636)
  • Forward additional oauth_extra_params to the OAuth authorization endpoint (#​8635)
  • Ensure Pipeline ready parameter and next button stay in sync after using the previous button (#​8633)
  • Ensure Pipeline previous button sets the correct stage in the graph (#​8630)
📚 Documentation
  • Add panel-live-server to docs Extensions gallery (#​8703)
  • Clarify FileDropper upload progress indicator documentation (#​8684)
  • Fix reactive row count in interactivity tutorial (#​8683)
  • Expand layout sizing controls documentation (#​8682)
  • Add Spacer reference notebook (#​8681)
  • Add ESM components card to explanation Components section (#​8673)
  • Fix typo and optimize phrasing (#​8665)
  • Fix the "Could not open websocket" / multiple-accounts OAuth troubleshooting guide (#​8637)
  • Document that JSON embed files must be served over HTTP (#​8632)

v1.9.3

Compare Source

Panel 1.9.3 is a patch release addressing several bug fixes for ReactiveESM components, OAuth handling, and dev mode document cleanup. Many thanks to @​CodeRambling, @​Hoxbro and @​philippjfr for contributing to this release.

🐛 Bug Fixes
  • Ensure property changes do not boomerang on ReactiveESM (#​8617)
  • Fix regression when cleaning up documents in dev mode (#​8616)
  • Ensure OAuth expiry value is cast to number (#​8611)
  • Ensure ESM components only check rendered children for readiness (#​8609)
  • Fix hold context manager in threaded mode (#​8619)
  • Ensure pyodide pyrender function does not use globals() as context potentially breaking itself during execution (#​8620)
  • Clean up dangling write tasks on session destroy (#​8621)
📚 Documentation
  • Add links to related API docs and include pn.rx in Functions vs. Classes guide (#​8592)
  • Enable edit button in docs (#​8612)

v1.9.2

Compare Source

A patch release addressing a small regression on ReactComponent causing the Document never to register as idle. Also fixes a memory leak related to tracking components in non-server contexts. Thank you to @​philippjfr for his contributions to this release.

🐛 Bug Fixes
  • Ensure ESM components mark view as finished (#​8606)
  • Ensure state._views does not leak memory (#​8607)

v1.9.1

Compare Source

A quick patch release addressing regressions in 1.9.0, fixing Button color styling and resolves several issues with ESM and React component lifecycle handling. Many thanks to @​philippjfr and @​hoxbro for their contributions to this release.

🐛 Bug Fixes
  • Fix Button color not being respected (#​8600)
  • Fix ESM component ready and has_finished compliance (#​8602)
  • Improve ReactComponent ready promise handling (#​8603)
  • Avoid hacky IconMixin rename override (#​8604)
📚 Documentation

v1.9.0

Compare Source

Panel 1.9.0 delivers full typing compatibility with Param 2.4.0, finally ensuring that all parameters are fully typed. Additionally this release makes it possible to provide wildcard routes to pn.serve making it possible to support dynamic routing. It also includes a significant modernization of the widget API, introducing Widget.label as the canonical display label parameter and renaming button_type/button_style to color/variant for better alignment with panel-material-ui, which will be integrated within Panel in upcoming releases. The release also includes a range of Tabulator improvements, chat enhancements, security updates, and numerous bug fixes. Lastly, this release drops support for Bokeh 3.7.

Many thanks to the contributors to this release including: @​philippjfr, @​hoxbro, @​ghostiee-11, @​ahuang11, @​AtharvaJaiswal005, @​SKlerk, @​TheoMathurin, @​chucklay, @​zhangdomi, @​mvanhorn, @​SuMayaBee, @​forman, and @​omyaaa1.

🚀 Features
  • Add type compatibility for param 2.4.0 (#​8573)
  • Add support for wildcard route handling (#​8588)
✨ Enhancements
  • Introduce Widget.label parameter and treat name as an alias (#​8328)
  • Rename button_type -> color and button_style -> variant (#​8577)
  • Make Feed type configurable on ChatFeed (#​8582)
  • Add selection and value_input to TextEditor widget (#​8560)
  • Add dark theme support for JSONEditor widget (#​8444)
🐛 Bug Fixes
  • Fix widget.disabled getting stuck after rapid toggling (#​8507)
  • Fix Trend indicator not working with date_range x-axis (#​8509)
  • Fix ReactComponent initialization issues (#​8552)
  • Fix DataFrame comparison in Tabulator.from_param (#​8539)
  • Fix Tabulator scroll reset when filtering on patch (#​8531)
  • Prevent Tabulator from overwriting scroll position on style update (#​8420)
  • Fix Gauge/ECharts crash when the ECharts library is not yet loaded (#​8515)
  • Make OAuth token refreshes more robust (#​8518)
  • Sanitize JavaScript string replacement tokens in Python code (#​8566)
  • Fix string formatting in NotImplementedError message (#​8536)
🎨 UI Improvements
  • Update Tabulator to version 6.4 (#​8568)
  • Optimize Tabulator resize events (#​8528)
  • Improve Pyodide badge appearance (#​8519)
  • General rendering and performance optimizations (#​8547)
⚠️ Deprecations
  • Widget.name was renamed to Widget.label
  • Button.button_type was renamed to Button.color
  • Button.button_style was renamed to Button.variant
  • Dropped support for Bokeh 3.7
📚 Documentation
  • Update reference gallery to use panel-material-ui (#​8596)
  • Add Outerbounds deployment guide (#​8587)
  • Add Functions vs Classes explanation (#​8581)
  • Add Panel extensions documentation page (#​8529)
  • Document pn.state.sync_busy in the busy indicator how-to guide (#​8564)
🔒 Security
  • Switch HTML sanitization from bleach to nh3 (#​8503)
  • Add zizmor for GitHub Actions security scanning (#​8584)
  • Validate next_url for basic auth and raise an error if invalid (#​8575)

v1.8.10

Compare Source

Panel 1.8.10 focuses on stability improvements across widgets, plotting integrations, and server behavior. It includes fixes for Tabulator serialization, Param widget updates, Plotly and Vega regressions, and several UI issues. This release also improves compatibility with Bokeh 3.9, enhances error reporting when serving apps, and addresses a security issue in panel.js.

Many thanks to the contributors to this release including:
@​philippjfr, @​SuMayaBee, @​AtharvaJaiswal005, @​hoxbro, @​ghostiee-11, and @​tmoulignier.

✨ Enhancements
  • Improve Python error messages displayed when serving apps (#​8478)
  • Improve state.busy logic to avoid mismatches in busy state tracking (#​8498)
  • Allow configuring the Panel CDN with the PANEL_CDN_ROOT environment variable or pn.config.cdn_root (#​8512)
🐛 Bug Fixes
  • Prevent spacebar in Card header inputs from toggling collapse (#​8442)
  • Fix DateRangeSlider incorrectly modifying both values with timezone-aware timestamps (#​8455)
  • Preserve slider bar color when Accordion panels are collapsed or expanded (#​8460)
  • Fix datetime axis type mismatch in link_axes after scroll and plot update (#​8468)
  • Fix JSON serialization errors in Tabulator when using mixed NaT datetime columns (#​8491)
  • Fix Param widget values not updating when changed inside their own callback (#​8492)
  • Fix missing validation in _imgshape for image panes (#​8485)
  • Fix Vega pane not updating when using inline data (#​8495)
  • Fix Plotly regressions introduced in earlier 1.8 releases (#​8471, #​8476)
  • Ensure all ReactiveESM children render correctly (#​8473)
  • Ensure CodeEditor annotations are not overridden (#​8505)
  • Fix Modal objects update rendering inline instead of in dialog (#​8508)
  • Prevent ValueError when EditableFloatSlider input is cleared (#​8511)
🔒 Security
  • Address XSS and prototype overwrite issues in panel.js (#​8501)
📦 Compatibility & Dependency Updates
  • Add compatibility with Bokeh 3.9 (#​8475)
📚 Documentation
  • Recommend using bound function references instead of watch=True in the bind_component guide (#​8479)
🧪 Tests & Maintenance

v1.8.9

Compare Source

Many thanks to @​philippjfr and @​hoxbro for their contributions.

🐛 Bug Fixes
  • Only serialize ESM model definition if session is already loaded (#​8462)
⚙️ Compatibility
  • Compatibility with VTK 9.6.0 (#​8464)

v1.8.8

Compare Source

Panel 1.8.8 focuses on stability, event handling correctness, Pyodide improvements, ESM robustness, and multiple UI fixes. It also introduces a new experimental freeze option for hold() to improve performance during batch updates.
Many thanks to @​AR21SM (first contribution), @​AtharvaJaiswal005 (first contribution), @​danielalanbates (first contribution), @​DevilSpecial (first contribution), @​emunsing (first contribution), @​nojaf (first contribution), @​SimonHeybrock (first contribution), @​SuMayaBee (first contribution), @​ahuang11, @​Coderambling, @​philippjfr, and @​hoxbro for their contributions.

✨ Enhancements
  • Allow list handling improvements (#​8405)
  • Add additional safety guards to custom models (#​8410)
  • Experimental freeze support in hold()
    Add a freeze=True option to defer expensive Bokeh model graph recomputation until the hold context exits. This can significantly improve performance when batch-updating many models.
    (Marked experimental.) (#​8417)
  • Add missing Callback.unwatch() method with tests (#​8453)
  • Ensure ESM model definitions can be loaded dynamically (#​8432)
  • Improve widget.link() to properly support HoloViews streams (#​8450)
🐛 Bug Fixes
  • Ensure ReactComponent children render even when view initialization is slow (#​8406)
  • Fix CDN resolution issues in server mode for loading.css and es-module-shims (#​8408)
  • Fix LaTeX rendering in Markdown pane under Pyodide (#​8424)
  • Fix resource resolution when pathname changes (#​8433)
  • Ensure only param value events are deduplicated (#​8436)
  • Fix OAuth user data being overwritten during updates (#​8447)
  • Fix pipeline "Next" button disabled state when navigating back (#​8443)
  • Fix Video pane rejecting URLs with query parameters (#​8440)
  • Fix Number and String indicators defaulting to black in dark theme (#​8441)
  • Ensure embedding works correctly with .from_param() (#​8445)
📦 Dependency Updates
📚 Documentation
  • Update ChatFeed OpenAI examples to SDK v1.0+ format (#​8426)
  • Documentation link updates (croniter README) (#​8401)
🧪 Tests & Maintenance
  • Use direct html.escape import for clarity (#​8409)
  • Add tests for Button on_click parameter (#​8435)

v1.8.7

Compare Source

This patch release reverts two changes that were made in 1.8.6 that turned out to be more disruptive than expected. Additionally it ensures that Tabulator automatically recalculates page sizes on resize and resolves issues with patched versions of Plotly.

🐛 Bug fixes
  • Rerun Tabulator page size calculation on resize (#​8395)
  • Fix issues with monkey-patched versions of Plotly ([#​8397]](#​8397))
⏪ Reverted
  • Ensure edit_readonly resets both class- and instance-level parameters (#​8371)
  • Validate ReactiveHTML missing id errors (#​8382)

v1.8.6

Compare Source

This patch release includes several ESM and React-related fixes, UI behavior improvements, and enhanced robustness in form inputs and file handling. It also bumps key dependencies and improves support for custom deployments. Thanks to @​philippjfr, @​maximlt, @​emunsing, @​TheoMathurin, @​dalthviz and @​hoxbro for their contributions to this release!

✨ Enhancements
  • Add placeholder parameter on FloatInput and IntInput (#​8360)
  • Support for file extensions in FileDropper.accepted_filetypes (#​8380)
  • Accept 2D arrays for stereo Audio (#​8381)
🐛 Bug Fixes
  • Ensure collapsed Card still renders components to avoid child render issues (#​8274)
  • ESM & React Components:
    • Fix errors when renamed parameters are linked on ESM components (#​8357)
    • Fix rel_path resolution in ESM components (#​8375)
    • Fix autoreload watcher setup for ESM apps (#​8361)
    • Delay removal of ReactComponent children until new ones are mounted (#​8358)
  • Ensure PathLike is accepted for requirements in pyodide conversion calls (#​8366)
  • Ensure edit_readonly resets both class- and instance-level parameters (#​8371)
  • Fix guest endpoint validation at root path (#​8370)
  • Don't attempt to refresh access token if there is no active user session (#​8384)
  • Ensure OAuth state for user is reset after failing to refresh access token (#​8389)
  • Ensure config.design value is respected by Template (#​8388)
  • Improve robustness of Tabulator.page_size inference (#​8390)
⚠️ Compatibility & Deprecations
  • Added compatibility for pandas 3.0 (#​8385)
📚 Documentation
  • Update Plotly example to prevent flicker on load (#​8362)
🧪 Maintenance
  • Bump bokeh to 3.8.2 in Django example app (#​8376)
  • Bump preact to 10.26.10 (#​8367)
  • Update pre-commit hooks (#​8363)

v1.8.5

Compare Source

This release includes several fixes and enhancements for notebook stability, Tabulator behavior, ESM/ReactiveComponent handling, and Markdown rendering. It also adds documentation updates for FastAPI integration, app conversion guides, and the Panel roadmap.

🐛 Bug Fixes
  • Fix error in notebook environments causing failure to run apps (#​8334)
  • Prevent Tabulator from unintentionally reverting show_index=False back to True (#​8333)
  • Ensure transformed param values are inherited by ESM components (#​8338)
  • Ensure DataFrame objects can be referenced in Vega datasets (#​8330)
  • Improve handling of code highlighting in Markdown pane (#​8331)
  • Allow replacing child models inside ReactiveESM components (#​8348)
📚 Documentation
  • Add how-to guides for converting Panel apps to desktop and mobile apps (#​8349)
  • Update FastAPI integration instructions (#​8337)
  • Publish updated Roadmap for Panel v2 and beyond (#​8339)
🧪 Maintenance & Build
  • Use trusted publisher setup for NPM release
  • Bump Node.js version used in build

v1.8.4

Compare Source

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_content to 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.Action only triggers one event (#​8305)
  • Fix conflict when using both ipywidgets and Tabulator extensions (#​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 --prefix is set (#​8321)
  • Ensure non-active Tabs are not clickable (#​8324)
🧪 Maintenance & Infrastructure
  • Update Python/JS dependencies (#​8318)
  • Fix type checking errors (#​8314)
  • Pin jupyterlite-core temporarily (#​8315)
  • Clean up pixi.toml project config (#​8303)
⚠️ Compatibility & Deprecations
  • Heads up: Starting with Panel 1.9.0, pandas will no longer be installed by default. If your code depends on pandas and you were relying on Panel to install it implicitly, you’ll need to add it as an explicit dependency in your environment or project configuration.

v1.8.3

Compare Source

This patch release brings targeted UI fixes, improves Python and Django compatibility, and enhances the developer and contributor experience. It also includes fixes for Tabulator, Pyodide, templates, and app interactivity, along with several documentation and robustness improvements. Many thanks to @​ahuang11, @​hoxbro, @​maximlt, @​MarcSkovMadsen, @​Coderambling and @​philippjfr for their contributions to this release.

✨ Enhancements
  • Align CSS variables between default and dark themes (#​8248)
  • Ensure behavior of dynamically served apps is aligned with file based apps (#​8249)
  • Add export() method to Vega pane (#​8266)
  • Add official support for Python 3.14 (#​8241)
  • Add render_policy="manual" option for JSComponent (#​8285)
  • Disable text selection when editing in EditableTemplate (#​8286)
  • Prevent full text selection when replacing input values on CodeEditor (#​8262)
🐛 Bug Fixes
  • Fix FastAPI bug where pn.state.location wasn’t retained (#​8283)
  • Fix Tabulator popup container rendering issues (#​8247)
  • Resolve issues with pipeline next/previous buttons (#​8273)
  • Ensure ESM compilation uses _esm path (#​8245)
  • Fix CORS issue with turbine data URL in Pyodide (#​8272)
  • Ensure ParamRef, ParamFunction, and ParamMethod do not override styling (#​8264)
  • Fix toggle behavior in BootstrapTemplate sidebar (#​8268)
  • Minor robustness improvements for Bokeh model interop (#​8270)
📚 Documentation
🧪 Infrastructure & Developer Experience
  • Remove Bokeh metadata workaround related to Tornado (#​8243)

  • Bump Django versions in example apps:

    • 4.2.22 → 4.2.25 (#​8226)
    • 4.2.22 → 4.2.26 in multi-apps example (#​8282)
  • Add setup-dev command for easier local development (#​8277)

  • Improve internal _descendents resolution for parameterized classes (#​8284)

  • Add __panel__ stub method to PyComponent (#​8271)

v1.8.2

Compare Source

This patch release focuses on polishing the user experience, fixing regressions, and improving documentation, particularly around app deployment and Tabulator interactivity. It includes several frontend and CSS tweaks, pyodide compatibility fixes, and two new deployment guides for Anaconda Notebooks and PythonAnywhere. Thanks to @​philippjfr, @​maximlt, @​etihwo, @​MarcSkovMadsen, and @​Coderambling for their contributions to this release.

✨ Enhancements
  • Allow custom control over Tabulator editable rows using JSCode (#​8204)
  • Improve UI discoverability on EditableTemplate (#​8206)
  • Set pointer cursor on "Connection Lost" toast notification (#​8209)
  • Serve index.html automatically when serving a static directory (#​8222)
🐛 Bug Fixes
  • Ensure Tabulator does not break if other components don't correctly initialize (#​8212)
  • Fix Pyodide jsnull value conversion in Bokeh JSON patches (#​8217)
  • Fix regression causing column headers not to stretch properly across layout (#​8219)
  • Ensure config.npm_cdn is respected (#​8233)
  • Ensure bundled pyodide resources use correct path separator (#​8230)
  • Ensure pyodide resource bundle is only generated if necessary (#​8234)
  • Ensure pyodide session is registered as loaded (#​8235)
📚 Documentation

v1.8.1

Compare Source

Many thanks to @​ATL2001 (first contribution), @​Coderambling, @​philippjfr, and @​hoxbro for their contributions.

Enhancements
  • Add configuration to disable container popup (#​8200)
Bug Fixes
  • Ensure Tabulator empty column has no width (#​8193)
  • Add UTC timezone to default time for croniter (#​8199)
Documentation
  • Update indicators_performance.md to fix typo (#​8192)

v1.8.0

Compare Source

This release brings a wide range of new features, enhancements, and compatibility improvements. Highlights include support for JSCode in ECharts and Tabulator, reworked WebSocket reconnection, and the ability to bundle resources into WASM apps, and numerous bug fixes to improve stability across components and templates. It also includes compatibility updates for Bokeh 3.8 and several improvements for use in Pyodide, JupyterLite, and authentication-based deployments. Many thanks to our returning contributors @​dalthviz and @​etihwo, a very warm welcome to our new contributors @​c-meier and @​flxmr and as usual many thanks to our core team including @​maximlt, @​hoxbro, @​ahuang11, @​MarcSkovMadsen and @​philippjfr.

🚀 Features
  • Support for inline JavaScript functions in ECharts and Tabulator via JSCode wrapper (#​8162)
  • Add support for reconnecting to a session after network disruption (#​8120)
  • Add support for AVIF images (#​8164)
  • Add support for bundling local resources into WASM apps (#​8181)
✨ Enhancements
  • Improve .from_param() behavior and error messages (#​8047, #​8079)
  • Add --reuse-sessions warm option to reduce session cold starts (#​8087)
  • Enable event dispatch immediately after WebSocket connect (#​8101)
  • Improve error message display in LiteralInput (#​8102)
  • Allow hold usage from a thread (#​8113)
  • Improve uniformity and consistency in Tabulator column configuration (#​8127)
  • Trigger param.Event correctly on value change (#​8148)
  • Allow registering external extension_cdn for JS resources (#​8175)
  • Allow overriding the default_widgets on HoloViews pane (#​8186)
🐛 Bug Fixes
  • Ensure Terminal resizes correctly (#​8109)
  • Bundle correct AceEditor version (#​8111)
  • Remove bokeh-sampledata dependency from Pyodide builds (#​8138)
  • Correct resource handling when resources are symlinked (#​8143)
  • Correct behavior when FileDownload resets cursor before reading (#​8154)
  • Fix handling of NaT values (#​8156)
  • Apply template design after rendering template (#​8155)
  • Prevent select-all checkbox from being hidden in Material theme (#​8147)
  • Fix handling of exclusive bounds in Param widgets (#​8165)
  • Fix layout of Card headers with row flex mode (#​8166)
  • Uncap height of children in scrollable Column layouts (#​8167)
  • Fix errors in ECharts when chart has already been destroyed (#​8168)
  • Fix Tabulator filter behavior with list-based filters (#​8169)
  • Allow Card to overflow container (#​8170)
  • Fix pyodide model syncing (#​8174)
⚠️ Deprecations
  • Removed panel.io.model.hold (was moved to panel.io.document.hold in 1.6.0) (#​8188)
  • Deprecated panel.chat.langchain.PanelCallbackHandler (to be removed in 1.9.0) (#​8188)
📦 Compatibility & Infrastructure
  • Update component versions (#​7447)
    • DeckGL version from 9.0.20 to 9.1.14
    • ECharts version from 5.6.0 to 6.0.0
    • KaTeX version from 0.6.0 to 0.16.22
    • Perspective version from 3.6.1 to 3.8.0
    • Plotly version from 3.0.1 to 3.1.0
    • Vega version from 5 to 6.1.2 and vega-lite dependency from 5 to 6.3.0
    • Vizzu version from 0.15 to 0.17.1
  • Drop support for Bokeh 3.5 and 3.6 (#​8116)
  • Full compatibility with Bokeh 3.8 (#​8160)
📚 Documentation
  • Add guide for using WebSocket comms (#​7952)
  • Update links for Tabulator (#​8126)
  • Align component parameter reference documentation (#​8152)

v1.7.5

Compare Source

This patch release brings a number of important bug fixes and refinements, including improved modal behavior, Param integration fixes for ESM, and security hardening of authentication templates. Thanks to @​harmvanderheijden, @​marcskovmadsen, @​maximlt, and @​philippjfr for their contributions.

Enhancements
  • Improve .from_param() error messages (#​8047)
  • Add --reuse-sessions warm option to preload and cache apps before first use (#​8087)
Security
  • Fix XSS vulnerabilities in login and OAuth error templates by escaping user-controlled input (#​8049)
Bug Fixes
  • Fix value_throttled handling in Param panes (#​8057)
  • Prevent AutocompleteInput from resetting when restrict=False (#​8056)
  • Fix callback cleanup for --reuse_sessions mode (#​8052)
  • Reset param.Event state on ESM components (#​8054)
  • Allow Player components to start upon initialization (#​8058)
  • Fix modal dialog stacking and focus behavior in VanillaTemplate (#​8059, #​8060)
  • Avoid errors in Tabulator when editing DataFrames with pd.NA values (#​8068)
  • Add guard for undefined url in ImportedStyleSheet (#​8071)
  • Ensure session token payload is correctly updated when reusing sessions (#​8072)
  • Ensure --reuse-sessions caches the --index app correctly (#​8073)
  • Add debounce logic to ModelChanged events in Pyodide to improve performance and prevent redundant updates (#​8077)
  • Ensure Layoutable params propagate to HoloViews plots (#​8078)
  • Fix regression in handling param.Action in .from_param() utility (#​8079)
  • Ensure LoadingSpinner.visible correctly hides the component (#​8081)
  • Ensure JSONEditor triggers on re-ordering of nodes (#​8086)
  • Fix JSONEditor menu option to improve usability (#​8085)
Documentation
  • Add websocket communication how-to guide to documentation (#​7952)
  • Add note about increasing proxy buffer size for OAuth behind reverse proxies (#​8084)
Maintenance
  • Fix gallery deployment automation (#​8055)

v1.7.4

Compare Source

This patch release introduces small but impactful security, compatibility, and usability improvements. It enhances OAuth behavior, adds byte support for the PDF pane, and fixes several rendering and import issues across backends and components. Thanks to @​ahuang11, @​dalthviz, @​MarcSkovMadsen, and @​philippjfr for their contributions.

Enhancements
  • Add support for bytes input to the PDF pane (#​8044)
  • Add logout_url for Auth0 to OAuth error page template (#​8036)
Security
  • Add authentication to files served from --static-dirs (#​8042)
  • Escape error messages shown on the OAuth error page fixing XSS vulnerability (#​8043)
Bug Fixes
  • Ensure ReactComponent forces a re-render after render step (#​8037)
  • Fix this.mouse bug in ECharts implementation (#​8041)
  • Fix incorrect import path in Django integration docs (bokehjsdir → bokehjs_path) (#​8040)
  • Update Bokeh/FastAPI extra dependency pin to ensure compatibility (#​8039)

v1.7.3

Compare Source

This patch release includes several critical stability improvements, JavaScript race condition fixes, and developer experience enhancements. It also introduces small but helpful UI features such as exception copying and better error feedback in CLI and ESM workflows. Many thanks to contributors @​etihwo, @​bsdz, @​Coderambling, @​hoxbro, @​philippjfr, and @​MarcSkovMadsen.

Enhancements
  • Add “Copy to Clipboard” button for exceptions in the UI (#​8034)
  • Enable MathJax rendering if the extension is available (#​8004)
  • Allow setting a custom title for Tabulator multi-index columns (#​8008)
  • Improve feedback in panel compile and reactive ESM workflows (#​8012, #​8010)
  • Ensure exceptions are printed to the command line in development mode (#​8022)
Bug Fixes
  • Guard against race conditions in DeckGL during resize (#​8031)
  • Prevent errors when client_comm is undefined in som

❗ Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

> ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [panel](https://redirect.github.com/holoviz/panel) | `==1.7.0` → `==1.9.4` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/panel/1.9.4?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/panel/1.9.4?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/panel/1.7.0/1.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/panel/1.7.0/1.9.4?slim=true) | --- ### Release Notes <details> <summary>holoviz/panel (panel)</summary> ### [`v1.9.4`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-194) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.9.3...v1.9.4) Panel 1.9.4 is a patch release focused on rendering robustness for ESM/React components, several `Tabulator` and `Pipeline` fixes, OAuth hardening, and stylesheet/loading reliability improvements. It also adds support for movable `Tabulator` columns. Many thanks to [@&#8203;TheoMathurin](https://redirect.github.com/TheoMathurin), [@&#8203;rimsha152007-dotcom](https://redirect.github.com/rimsha152007-dotcom), [@&#8203;ebarkhordar](https://redirect.github.com/ebarkhordar), [@&#8203;SimonHeybrock](https://redirect.github.com/SimonHeybrock), [@&#8203;ahuang11](https://redirect.github.com/ahuang11), [@&#8203;Kkkakania](https://redirect.github.com/Kkkakania), [@&#8203;EltonChang1](https://redirect.github.com/EltonChang1), [@&#8203;hoxbro](https://redirect.github.com/hoxbro), [@&#8203;MarcSkovMadsen](https://redirect.github.com/MarcSkovMadsen), [@&#8203;Coderambling](https://redirect.github.com/Coderambling), [@&#8203;SuMayaBee](https://redirect.github.com/SuMayaBee), [@&#8203;youdie006](https://redirect.github.com/youdie006), [@&#8203;kyo5uke](https://redirect.github.com/kyo5uke), [@&#8203;ghostiee-11](https://redirect.github.com/ghostiee-11) and [@&#8203;philippjfr](https://redirect.github.com/philippjfr) for contributing to this release. ##### 🚀 Features - Support movable `Tabulator` columns ([#&#8203;8685](https://redirect.github.com/holoviz/panel/pull/8685)) ##### 🎨 UI Improvements - Align loading spinner with `panel-material-ui` ([#&#8203;8686](https://redirect.github.com/holoviz/panel/pull/8686)) ##### 🐛 Bug Fixes - Report the pre-edit value on `Tabulator` value events ([#&#8203;8714](https://redirect.github.com/holoviz/panel/pull/8714)) - Raise a clear type error for unsupported `Perspective` objects ([#&#8203;8720](https://redirect.github.com/holoviz/panel/pull/8720)) - Fix `Tabulator` `starts` and `ends` header filters ([#&#8203;8719](https://redirect.github.com/holoviz/panel/pull/8719)) - Ensure ESM component child views aren't created concurrently ([#&#8203;8713](https://redirect.github.com/holoviz/panel/pull/8713)) - Inline versioned stylesheets on the notebook update path ([#&#8203;8708](https://redirect.github.com/holoviz/panel/pull/8708)) - Resolve invisible slider title font color in Fast theme's light mode ([#&#8203;8704](https://redirect.github.com/holoviz/panel/pull/8704)) - Various ESM component robustness fixes ([#&#8203;8702](https://redirect.github.com/holoviz/panel/pull/8702)) - Reveal markup panes when their stylesheets fail to load or are replaced ([#&#8203;8700](https://redirect.github.com/holoviz/panel/pull/8700)) - Drain held events once connected ([#&#8203;8698](https://redirect.github.com/holoviz/panel/pull/8698)) - Fix `Tabulator` `row_content` in `panel-material-ui` dynamic `Tabs` ([#&#8203;8697](https://redirect.github.com/holoviz/panel/pull/8697)) - Claim the Document thread before running app code ([#&#8203;8693](https://redirect.github.com/holoviz/panel/pull/8693)) - Ensure explicitly set sizing options are respected ([#&#8203;8687](https://redirect.github.com/holoviz/panel/pull/8687)) - Fix `Feed` rendering all objects at once ([#&#8203;8667](https://redirect.github.com/holoviz/panel/pull/8667)) - Fix repeated `Location` sync mappings ([#&#8203;8660](https://redirect.github.com/holoviz/panel/pull/8660)) - Fix `Tabulator` page size handling ([#&#8203;8657](https://redirect.github.com/holoviz/panel/pull/8657)) - Fix Fast theme `Progress` indicator height ([#&#8203;8652](https://redirect.github.com/holoviz/panel/pull/8652)) - Return a clean 403 for unauthenticated WebSocket connections ([#&#8203;8639](https://redirect.github.com/holoviz/panel/pull/8639)) - Set `Cache-Control: no-store` on the Bokeh document page ([#&#8203;8636](https://redirect.github.com/holoviz/panel/pull/8636)) - Forward additional `oauth_extra_params` to the OAuth authorization endpoint ([#&#8203;8635](https://redirect.github.com/holoviz/panel/pull/8635)) - Ensure `Pipeline` `ready` parameter and next button stay in sync after using the previous button ([#&#8203;8633](https://redirect.github.com/holoviz/panel/pull/8633)) - Ensure `Pipeline` previous button sets the correct stage in the graph ([#&#8203;8630](https://redirect.github.com/holoviz/panel/pull/8630)) ##### 📚 Documentation - Add `panel-live-server` to docs Extensions gallery ([#&#8203;8703](https://redirect.github.com/holoviz/panel/pull/8703)) - Clarify `FileDropper` upload progress indicator documentation ([#&#8203;8684](https://redirect.github.com/holoviz/panel/pull/8684)) - Fix reactive row count in interactivity tutorial ([#&#8203;8683](https://redirect.github.com/holoviz/panel/pull/8683)) - Expand layout sizing controls documentation ([#&#8203;8682](https://redirect.github.com/holoviz/panel/pull/8682)) - Add `Spacer` reference notebook ([#&#8203;8681](https://redirect.github.com/holoviz/panel/pull/8681)) - Add ESM components card to explanation Components section ([#&#8203;8673](https://redirect.github.com/holoviz/panel/pull/8673)) - Fix typo and optimize phrasing ([#&#8203;8665](https://redirect.github.com/holoviz/panel/pull/8665)) - Fix the "Could not open websocket" / multiple-accounts OAuth troubleshooting guide ([#&#8203;8637](https://redirect.github.com/holoviz/panel/pull/8637)) - Document that JSON embed files must be served over HTTP ([#&#8203;8632](https://redirect.github.com/holoviz/panel/pull/8632)) ### [`v1.9.3`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-193) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.9.2...v1.9.3) Panel 1.9.3 is a patch release addressing several bug fixes for ReactiveESM components, OAuth handling, and dev mode document cleanup. Many thanks to [@&#8203;CodeRambling](https://redirect.github.com/CodeRambling), [@&#8203;Hoxbro](https://redirect.github.com/Hoxbro) and [@&#8203;philippjfr](https://redirect.github.com/philippjfr) for contributing to this release. ##### 🐛 Bug Fixes - Ensure property changes do not boomerang on `ReactiveESM` ([#&#8203;8617](https://redirect.github.com/holoviz/panel/pull/8617)) - Fix regression when cleaning up documents in dev mode ([#&#8203;8616](https://redirect.github.com/holoviz/panel/pull/8616)) - Ensure OAuth expiry value is cast to number ([#&#8203;8611](https://redirect.github.com/holoviz/panel/pull/8611)) - Ensure ESM components only check rendered children for readiness ([#&#8203;8609](https://redirect.github.com/holoviz/panel/pull/8609)) - Fix `hold` context manager in threaded mode ([#&#8203;8619](https://redirect.github.com/holoviz/panel/pull/8619)) - Ensure pyodide `pyrender` function does not use `globals()` as context potentially breaking itself during execution ([#&#8203;8620](https://redirect.github.com/holoviz/panel/pull/8620)) - Clean up dangling write tasks on session destroy ([#&#8203;8621](https://redirect.github.com/holoviz/panel/issues/8621)) ##### 📚 Documentation - Add links to related API docs and include `pn.rx` in Functions vs. Classes guide ([#&#8203;8592](https://redirect.github.com/holoviz/panel/pull/8592)) - Enable edit button in docs ([#&#8203;8612](https://redirect.github.com/holoviz/panel/pull/8612)) ### [`v1.9.2`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-192) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.9.1...v1.9.2) A patch release addressing a small regression on `ReactComponent` causing the Document never to register as idle. Also fixes a memory leak related to tracking components in non-server contexts. Thank you to [@&#8203;philippjfr](https://redirect.github.com/philippjfr) for his contributions to this release. ##### 🐛 Bug Fixes - Ensure ESM components mark view as finished ([#&#8203;8606](https://redirect.github.com/holoviz/panel/pull/8606)) - Ensure state.\_views does not leak memory ([#&#8203;8607](https://redirect.github.com/holoviz/panel/pull/8607)) ### [`v1.9.1`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-191) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.9.0...v1.9.1) A quick patch release addressing regressions in 1.9.0, fixing `Button` color styling and resolves several issues with ESM and React component lifecycle handling. Many thanks to [@&#8203;philippjfr](https://redirect.github.com/philippjfr) and [@&#8203;hoxbro](https://redirect.github.com/hoxbro) for their contributions to this release. ##### 🐛 Bug Fixes - Fix `Button` color not being respected ([#&#8203;8600](https://redirect.github.com/holoviz/panel/pull/8600)) - Fix ESM component `ready` and `has_finished` compliance ([#&#8203;8602](https://redirect.github.com/holoviz/panel/pull/8602)) - Improve `ReactComponent` ready promise handling ([#&#8203;8603](https://redirect.github.com/holoviz/panel/pull/8603)) - Avoid hacky `IconMixin` rename override ([#&#8203;8604](https://redirect.github.com/holoviz/panel/pull/8604)) ##### 📚 Documentation - Update gallery environment ([#&#8203;8601](https://redirect.github.com/holoviz/panel/pull/8601)) ### [`v1.9.0`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-190) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.10...v1.9.0) Panel 1.9.0 delivers full typing compatibility with Param 2.4.0, finally ensuring that all parameters are fully typed. Additionally this release makes it possible to provide wildcard routes to `pn.serve` making it possible to support dynamic routing. It also includes a significant modernization of the widget API, introducing `Widget.label` as the canonical display label parameter and renaming `button_type`/`button_style` to `color`/`variant` for better alignment with `panel-material-ui`, which will be integrated within Panel in upcoming releases. The release also includes a range of `Tabulator` improvements, chat enhancements, security updates, and numerous bug fixes. Lastly, this release drops support for Bokeh 3.7. Many thanks to the contributors to this release including: [@&#8203;philippjfr](https://redirect.github.com/philippjfr), [@&#8203;hoxbro](https://redirect.github.com/hoxbro), [@&#8203;ghostiee-11](https://redirect.github.com/ghostiee-11), [@&#8203;ahuang11](https://redirect.github.com/ahuang11), [@&#8203;AtharvaJaiswal005](https://redirect.github.com/AtharvaJaiswal005), [@&#8203;SKlerk](https://redirect.github.com/SKlerk), [@&#8203;TheoMathurin](https://redirect.github.com/TheoMathurin), [@&#8203;chucklay](https://redirect.github.com/chucklay), [@&#8203;zhangdomi](https://redirect.github.com/zhangdomi), [@&#8203;mvanhorn](https://redirect.github.com/mvanhorn), [@&#8203;SuMayaBee](https://redirect.github.com/SuMayaBee), [@&#8203;forman](https://redirect.github.com/forman), and [@&#8203;omyaaa1](https://redirect.github.com/omyaaa1). ##### 🚀 Features - Add type compatibility for param 2.4.0 ([#&#8203;8573](https://redirect.github.com/holoviz/panel/pull/8573)) - Add support for wildcard route handling ([#&#8203;8588](https://redirect.github.com/holoviz/panel/pull/8588)) ##### ✨ Enhancements - Introduce `Widget.label` parameter and treat `name` as an alias ([#&#8203;8328](https://redirect.github.com/holoviz/panel/pull/8328)) - Rename `button_type` -> `color` and `button_style` -> `variant` ([#&#8203;8577](https://redirect.github.com/holoviz/panel/pull/8577)) - Make `Feed` type configurable on `ChatFeed` ([#&#8203;8582](https://redirect.github.com/holoviz/panel/pull/8582)) - Add `selection` and `value_input` to `TextEditor` widget ([#&#8203;8560](https://redirect.github.com/holoviz/panel/pull/8560)) - Add dark theme support for `JSONEditor` widget ([#&#8203;8444](https://redirect.github.com/holoviz/panel/pull/8444)) ##### 🐛 Bug Fixes - Fix `widget.disabled` getting stuck after rapid toggling ([#&#8203;8507](https://redirect.github.com/holoviz/panel/pull/8507)) - Fix `Trend` indicator not working with `date_range` x-axis ([#&#8203;8509](https://redirect.github.com/holoviz/panel/pull/8509)) - Fix `ReactComponent` initialization issues ([#&#8203;8552](https://redirect.github.com/holoviz/panel/pull/8552)) - Fix `DataFrame` comparison in `Tabulator.from_param` ([#&#8203;8539](https://redirect.github.com/holoviz/panel/pull/8539)) - Fix `Tabulator` scroll reset when filtering on patch ([#&#8203;8531](https://redirect.github.com/holoviz/panel/pull/8531)) - Prevent `Tabulator` from overwriting scroll position on style update ([#&#8203;8420](https://redirect.github.com/holoviz/panel/pull/8420)) - Fix `Gauge`/`ECharts` crash when the ECharts library is not yet loaded ([#&#8203;8515](https://redirect.github.com/holoviz/panel/pull/8515)) - Make OAuth token refreshes more robust ([#&#8203;8518](https://redirect.github.com/holoviz/panel/pull/8518)) - Sanitize JavaScript string replacement tokens in Python code ([#&#8203;8566](https://redirect.github.com/holoviz/panel/pull/8566)) - Fix string formatting in `NotImplementedError` message ([#&#8203;8536](https://redirect.github.com/holoviz/panel/pull/8536)) ##### 🎨 UI Improvements - Update Tabulator to version 6.4 ([#&#8203;8568](https://redirect.github.com/holoviz/panel/pull/8568)) - Optimize `Tabulator` resize events ([#&#8203;8528](https://redirect.github.com/holoviz/panel/pull/8528)) - Improve Pyodide badge appearance ([#&#8203;8519](https://redirect.github.com/holoviz/panel/pull/8519)) - General rendering and performance optimizations ([#&#8203;8547](https://redirect.github.com/holoviz/panel/pull/8547)) ##### ⚠️ Deprecations - `Widget.name` was renamed to `Widget.label` - `Button.button_type` was renamed to `Button.color` - `Button.button_style` was renamed to `Button.variant` - Dropped support for Bokeh 3.7 ##### 📚 Documentation - Update reference gallery to use `panel-material-ui` ([#&#8203;8596](https://redirect.github.com/holoviz/panel/pull/8596)) - Add Outerbounds deployment guide ([#&#8203;8587](https://redirect.github.com/holoviz/panel/pull/8587)) - Add Functions vs Classes explanation ([#&#8203;8581](https://redirect.github.com/holoviz/panel/pull/8581)) - Add Panel extensions documentation page ([#&#8203;8529](https://redirect.github.com/holoviz/panel/pull/8529)) - Document `pn.state.sync_busy` in the busy indicator how-to guide ([#&#8203;8564](https://redirect.github.com/holoviz/panel/pull/8564)) ##### 🔒 Security - Switch HTML sanitization from `bleach` to `nh3` ([#&#8203;8503](https://redirect.github.com/holoviz/panel/pull/8503)) - Add `zizmor` for GitHub Actions security scanning ([#&#8203;8584](https://redirect.github.com/holoviz/panel/pull/8584)) - Validate `next_url` for basic auth and raise an error if invalid ([#&#8203;8575](https://redirect.github.com/holoviz/panel/pull/8575)) ### [`v1.8.10`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-1810) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.9...v1.8.10) Panel 1.8.10 focuses on stability improvements across widgets, plotting integrations, and server behavior. It includes fixes for Tabulator serialization, Param widget updates, Plotly and Vega regressions, and several UI issues. This release also improves compatibility with **Bokeh 3.9**, enhances error reporting when serving apps, and addresses a security issue in `panel.js`. Many thanks to the contributors to this release including: [@&#8203;philippjfr](https://redirect.github.com/philippjfr), [@&#8203;SuMayaBee](https://redirect.github.com/SuMayaBee), [@&#8203;AtharvaJaiswal005](https://redirect.github.com/AtharvaJaiswal005), [@&#8203;hoxbro](https://redirect.github.com/hoxbro), [@&#8203;ghostiee-11](https://redirect.github.com/ghostiee-11), and [@&#8203;tmoulignier](https://redirect.github.com/tmoulignier). ##### ✨ Enhancements - Improve Python error messages displayed when serving apps ([#&#8203;8478](https://redirect.github.com/holoviz/panel/pull/8478)) - Improve `state.busy` logic to avoid mismatches in busy state tracking ([#&#8203;8498](https://redirect.github.com/holoviz/panel/pull/8498)) - Allow configuring the Panel CDN with the PANEL\_CDN\_ROOT environment variable or `pn.config.cdn_root` ([#&#8203;8512](https://redirect.github.com/holoviz/panel/pull/8512)) ##### 🐛 Bug Fixes - Prevent spacebar in `Card` header inputs from toggling collapse ([#&#8203;8442](https://redirect.github.com/holoviz/panel/pull/8442)) - Fix `DateRangeSlider` incorrectly modifying both values with timezone-aware timestamps ([#&#8203;8455](https://redirect.github.com/holoviz/panel/pull/8455)) - Preserve slider bar color when `Accordion` panels are collapsed or expanded ([#&#8203;8460](https://redirect.github.com/holoviz/panel/pull/8460)) - Fix datetime axis type mismatch in `link_axes` after scroll and plot update ([#&#8203;8468](https://redirect.github.com/holoviz/panel/pull/8468)) - Fix JSON serialization errors in `Tabulator` when using mixed `NaT` datetime columns ([#&#8203;8491](https://redirect.github.com/holoviz/panel/pull/8491)) - Fix Param widget values not updating when changed inside their own callback ([#&#8203;8492](https://redirect.github.com/holoviz/panel/pull/8492)) - Fix missing validation in `_imgshape` for image panes ([#&#8203;8485](https://redirect.github.com/holoviz/panel/pull/8485)) - Fix Vega pane not updating when using inline data ([#&#8203;8495](https://redirect.github.com/holoviz/panel/pull/8495)) - Fix Plotly regressions introduced in earlier 1.8 releases ([#&#8203;8471](https://redirect.github.com/holoviz/panel/pull/8471), [#&#8203;8476](https://redirect.github.com/holoviz/panel/pull/8476)) - Ensure all `ReactiveESM` children render correctly ([#&#8203;8473](https://redirect.github.com/holoviz/panel/pull/8473)) - Ensure `CodeEditor` annotations are not overridden ([#&#8203;8505](https://redirect.github.com/holoviz/panel/pull/8505)) - Fix Modal objects update rendering inline instead of in dialog ([#&#8203;8508](https://redirect.github.com/holoviz/panel/pull/8508)) - Prevent ValueError when `EditableFloatSlider` input is cleared ([#&#8203;8511](https://redirect.github.com/holoviz/panel/pull/8511)) ##### 🔒 Security - Address XSS and prototype overwrite issues in `panel.js` ([#&#8203;8501](https://redirect.github.com/holoviz/panel/pull/8501)) ##### 📦 Compatibility & Dependency Updates - Add compatibility with **Bokeh 3.9** ([#&#8203;8475](https://redirect.github.com/holoviz/panel/pull/8475)) ##### 📚 Documentation - Recommend using bound function references instead of `watch=True` in the `bind_component` guide ([#&#8203;8479](https://redirect.github.com/holoviz/panel/pull/8479)) ##### 🧪 Tests & Maintenance - Improve test robustness ([#&#8203;8502](https://redirect.github.com/holoviz/panel/pull/8502)) - Fix JupyterLite CI workflow ([#&#8203;8494](https://redirect.github.com/holoviz/panel/pull/8494), [#&#8203;8496](https://redirect.github.com/holoviz/panel/pull/8496)) ### [`v1.8.9`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-189) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.8...v1.8.9) Many thanks to [@&#8203;philippjfr](https://redirect.github.com/philippjfr) and [@&#8203;hoxbro](https://redirect.github.com/hoxbro) for their contributions. ##### 🐛 Bug Fixes - Only serialize ESM model definition if session is already loaded ([#&#8203;8462](https://redirect.github.com/holoviz/panel/pull/8462)) ##### ⚙️ Compatibility - Compatibility with VTK 9.6.0 ([#&#8203;8464](https://redirect.github.com/holoviz/panel/pull/8464)) ### [`v1.8.8`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-188) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.7...v1.8.8) Panel 1.8.8 focuses on stability, event handling correctness, Pyodide improvements, ESM robustness, and multiple UI fixes. It also introduces a new experimental `freeze` option for `hold()` to improve performance during batch updates. Many thanks to [@&#8203;AR21SM](https://redirect.github.com/AR21SM) (first contribution), [@&#8203;AtharvaJaiswal005](https://redirect.github.com/AtharvaJaiswal005) (first contribution), [@&#8203;danielalanbates](https://redirect.github.com/danielalanbates) (first contribution), [@&#8203;DevilSpecial](https://redirect.github.com/DevilSpecial) (first contribution), [@&#8203;emunsing](https://redirect.github.com/emunsing) (first contribution), [@&#8203;nojaf](https://redirect.github.com/nojaf) (first contribution), [@&#8203;SimonHeybrock](https://redirect.github.com/SimonHeybrock) (first contribution), [@&#8203;SuMayaBee](https://redirect.github.com/SuMayaBee) (first contribution), [@&#8203;ahuang11](https://redirect.github.com/ahuang11), [@&#8203;Coderambling](https://redirect.github.com/Coderambling), [@&#8203;philippjfr](https://redirect.github.com/philippjfr), and [@&#8203;hoxbro](https://redirect.github.com/hoxbro) for their contributions. ##### ✨ Enhancements - Allow list handling improvements ([#&#8203;8405](https://redirect.github.com/holoviz/panel/pull/8405)) - Add additional safety guards to custom models ([#&#8203;8410](https://redirect.github.com/holoviz/panel/pull/8410)) - **Experimental `freeze` support in `hold()`** Add a `freeze=True` option to defer expensive Bokeh model graph recomputation until the hold context exits. This can significantly improve performance when batch-updating many models. *(Marked experimental.)* ([#&#8203;8417](https://redirect.github.com/holoviz/panel/pull/8417)) - Add missing `Callback.unwatch()` method with tests ([#&#8203;8453](https://redirect.github.com/holoviz/panel/pull/8453)) - Ensure ESM model definitions can be loaded dynamically ([#&#8203;8432](https://redirect.github.com/holoviz/panel/pull/8432)) - Improve `widget.link()` to properly support HoloViews streams ([#&#8203;8450](https://redirect.github.com/holoviz/panel/pull/8450)) ##### 🐛 Bug Fixes - Ensure `ReactComponent` children render even when view initialization is slow ([#&#8203;8406](https://redirect.github.com/holoviz/panel/pull/8406)) - Fix CDN resolution issues in server mode for `loading.css` and `es-module-shims` ([#&#8203;8408](https://redirect.github.com/holoviz/panel/pull/8408)) - Fix `LaTeX` rendering in `Markdown` pane under Pyodide ([#&#8203;8424](https://redirect.github.com/holoviz/panel/pull/8424)) - Fix resource resolution when `pathname` changes ([#&#8203;8433](https://redirect.github.com/holoviz/panel/pull/8433)) - Ensure only param *value* events are deduplicated ([#&#8203;8436](https://redirect.github.com/holoviz/panel/pull/8436)) - Fix OAuth user data being overwritten during updates ([#&#8203;8447](https://redirect.github.com/holoviz/panel/pull/8447)) - Fix pipeline "Next" button disabled state when navigating back ([#&#8203;8443](https://redirect.github.com/holoviz/panel/pull/8443)) - Fix `Video` pane rejecting URLs with query parameters ([#&#8203;8440](https://redirect.github.com/holoviz/panel/pull/8440)) - Fix `Number` and `String` indicators defaulting to black in dark theme ([#&#8203;8441](https://redirect.github.com/holoviz/panel/pull/8441)) - Ensure embedding works correctly with `.from_param()` ([#&#8203;8445](https://redirect.github.com/holoviz/panel/pull/8445)) ##### 📦 Dependency Updates - Bump `pyodide` to 0.29.3 ([#&#8203;8446](https://redirect.github.com/holoviz/panel/pull/8446)) ##### 📚 Documentation - Update ChatFeed OpenAI examples to SDK v1.0+ format ([#&#8203;8426](https://redirect.github.com/holoviz/panel/pull/8426)) - Documentation link updates (croniter README) ([#&#8203;8401](https://redirect.github.com/holoviz/panel/pull/8401)) ##### 🧪 Tests & Maintenance - Use direct `html.escape` import for clarity ([#&#8203;8409](https://redirect.github.com/holoviz/panel/pull/8409)) - Add tests for Button `on_click` parameter ([#&#8203;8435](https://redirect.github.com/holoviz/panel/pull/8435)) ### [`v1.8.7`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-187) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.6...v1.8.7) This patch release reverts two changes that were made in 1.8.6 that turned out to be more disruptive than expected. Additionally it ensures that Tabulator automatically recalculates page sizes on resize and resolves issues with patched versions of Plotly. ##### 🐛 Bug fixes - Rerun Tabulator page size calculation on resize ([#&#8203;8395](https://redirect.github.com/holoviz/panel/pull/8395)) - Fix issues with monkey-patched versions of Plotly (\[[#&#8203;8397](https://redirect.github.com/holoviz/panel/issues/8397)]]\([#&#8203;8397](https://redirect.github.com/holoviz/panel/pull/8397))) ##### ⏪ Reverted - Ensure `edit_readonly` resets both class- and instance-level parameters ([#&#8203;8371](https://redirect.github.com/holoviz/panel/pull/8371)) - Validate ReactiveHTML missing id errors ([#&#8203;8382](https://redirect.github.com/holoviz/panel/pull/8382)) ### [`v1.8.6`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-186) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.5...v1.8.6) This patch release includes several ESM and React-related fixes, UI behavior improvements, and enhanced robustness in form inputs and file handling. It also bumps key dependencies and improves support for custom deployments. Thanks to [@&#8203;philippjfr](https://redirect.github.com/philippjfr), [@&#8203;maximlt](https://redirect.github.com/maximlt), [@&#8203;emunsing](https://redirect.github.com/emunsing), [@&#8203;TheoMathurin](https://redirect.github.com/TheoMathurin), [@&#8203;dalthviz](https://redirect.github.com/dalthviz) and [@&#8203;hoxbro](https://redirect.github.com/hoxbro) for their contributions to this release! ##### ✨ Enhancements - Add `placeholder` parameter on `FloatInput` and `IntInput` ([#&#8203;8360](https://redirect.github.com/holoviz/panel/pull/8360)) - Support for file extensions in `FileDropper.accepted_filetypes` ([#&#8203;8380](https://redirect.github.com/holoviz/panel/pull/8380)) - Accept 2D arrays for stereo `Audio` ([#&#8203;8381](https://redirect.github.com/holoviz/panel/pull/8381)) ##### 🐛 Bug Fixes - Ensure collapsed `Card` still renders components to avoid child render issues ([#&#8203;8274](https://redirect.github.com/holoviz/panel/pull/8274)) - **ESM & React Components**: - Fix errors when renamed parameters are linked on ESM components ([#&#8203;8357](https://redirect.github.com/holoviz/panel/pull/8357)) - Fix `rel_path` resolution in ESM components ([#&#8203;8375](https://redirect.github.com/holoviz/panel/pull/8375)) - Fix `autoreload` watcher setup for ESM apps ([#&#8203;8361](https://redirect.github.com/holoviz/panel/pull/8361)) - Delay removal of `ReactComponent` children until new ones are mounted ([#&#8203;8358](https://redirect.github.com/holoviz/panel/pull/8358)) - Ensure `PathLike` is accepted for `requirements` in pyodide conversion calls ([#&#8203;8366](https://redirect.github.com/holoviz/panel/pull/8366)) - Ensure `edit_readonly` resets both class- and instance-level parameters ([#&#8203;8371](https://redirect.github.com/holoviz/panel/pull/8371)) - Fix `guest` endpoint validation at root path ([#&#8203;8370](https://redirect.github.com/holoviz/panel/pull/8370)) - Don't attempt to refresh access token if there is no active user session ([#&#8203;8384](https://redirect.github.com/holoviz/panel/pull/8384)) - Ensure OAuth state for user is reset after failing to refresh access token ([#&#8203;8389](https://redirect.github.com/holoviz/panel/pull/8389)) - Ensure `config.design` value is respected by `Template` ([#&#8203;8388](https://redirect.github.com/holoviz/panel/pull/8388)) - Improve robustness of `Tabulator.page_size` inference ([#&#8203;8390](https://redirect.github.com/holoviz/panel/pull/8390)) ##### ⚠️ Compatibility & Deprecations - Added compatibility for pandas 3.0 ([#&#8203;8385](https://redirect.github.com/holoviz/panel/pull/8385)) ##### 📚 Documentation - Update `Plotly` example to prevent flicker on load ([#&#8203;8362](https://redirect.github.com/holoviz/panel/pull/8362)) ##### 🧪 Maintenance - Bump `bokeh` to 3.8.2 in Django example app ([#&#8203;8376](https://redirect.github.com/holoviz/panel/pull/8376)) - Bump `preact` to 10.26.10 ([#&#8203;8367](https://redirect.github.com/holoviz/panel/pull/8367)) - Update pre-commit hooks ([#&#8203;8363](https://redirect.github.com/holoviz/panel/pull/8363)) ### [`v1.8.5`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-185) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.4...v1.8.5) This release includes several fixes and enhancements for notebook stability, Tabulator behavior, ESM/ReactiveComponent handling, and Markdown rendering. It also adds documentation updates for FastAPI integration, app conversion guides, and the Panel roadmap. ##### 🐛 Bug Fixes - Fix error in notebook environments causing failure to run apps ([#&#8203;8334](https://redirect.github.com/holoviz/panel/pull/8334)) - Prevent `Tabulator` from unintentionally reverting `show_index=False` back to `True` ([#&#8203;8333](https://redirect.github.com/holoviz/panel/pull/8333)) - Ensure transformed param values are inherited by ESM components ([#&#8203;8338](https://redirect.github.com/holoviz/panel/pull/8338)) - Ensure DataFrame objects can be referenced in Vega `datasets` ([#&#8203;8330](https://redirect.github.com/holoviz/panel/pull/8330)) - Improve handling of code highlighting in `Markdown` pane ([#&#8203;8331](https://redirect.github.com/holoviz/panel/pull/8331)) - Allow replacing child models inside `ReactiveESM` components ([#&#8203;8348](https://redirect.github.com/holoviz/panel/pull/8348)) ##### 📚 Documentation - Add **how-to guides** for converting Panel apps to **desktop and mobile apps** ([#&#8203;8349](https://redirect.github.com/holoviz/panel/pull/8349)) - Update **FastAPI integration instructions** ([#&#8203;8337](https://redirect.github.com/holoviz/panel/pull/8337)) - Publish updated **Roadmap for Panel v2 and beyond** ([#&#8203;8339](https://redirect.github.com/holoviz/panel/pull/8339)) ##### 🧪 Maintenance & Build - Use **trusted publisher** setup for NPM release - Bump Node.js version used in build ### [`v1.8.4`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-184) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.3...v1.8.4) 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 [@&#8203;philippjfr](https://redirect.github.com/philippjfr), [@&#8203;hoxbro](https://redirect.github.com/hoxbro), [@&#8203;maximlt](https://redirect.github.com/maximlt), [@&#8203;ahuang11](https://redirect.github.com/ahuang11), [@&#8203;MarcSkovMadsen](https://redirect.github.com/MarcSkovMadsen), [@&#8203;TheoMathurin](https://redirect.github.com/TheoMathurin), [@&#8203;ruoyu0088](https://redirect.github.com/ruoyu0088), and [@&#8203;dieterweber](https://redirect.github.com/dieterweber) for your contributions to this release! ##### ✨ Enhancements - Add config toggle to disable Bokeh validation ([#&#8203;8294](https://redirect.github.com/holoviz/panel/pull/8294)) - Allow `Tabulator.row_content` to be an async function ([#&#8203;8309](https://redirect.github.com/holoviz/panel/pull/8309)) - Improve documentation and validation of `patch_value` ([#&#8203;8312](https://redirect.github.com/holoviz/panel/pull/8312)) - Propagate layout-related parameters to `NestedSelect` ([#&#8203;8317](https://redirect.github.com/holoviz/panel/pull/8317)) ##### 🐛 Bug Fixes - Fix crash when emptying a `DataFrame` ([#&#8203;8256](https://redirect.github.com/holoviz/panel/pull/8256)) - Ensure new Panel instance is always loaded ([#&#8203;8293](https://redirect.github.com/holoviz/panel/pull/8293)) - Improve robustness of Bokeh/Panel notebook integration ([#&#8203;8289](https://redirect.github.com/holoviz/panel/pull/8289)) - Fix notebook reading errors by explicitly using UTF-8 encoding ([#&#8203;8304](https://redirect.github.com/holoviz/panel/pull/8304)) - Ensure `param.Action` only triggers one event ([#&#8203;8305](https://redirect.github.com/holoviz/panel/pull/8305)) - Fix conflict when using both `ipywidgets` and `Tabulator` extensions ([#&#8203;8308](https://redirect.github.com/holoviz/panel/pull/8308)) - Ensure discrete events (e.g. button clicks) are scheduled after change events ([#&#8203;8311](https://redirect.github.com/holoviz/panel/pull/8311), [#&#8203;8319](https://redirect.github.com/holoviz/panel/pull/8319)) - Reinstate application name as default index page title ([#&#8203;8313](https://redirect.github.com/holoviz/panel/pull/8313)) - Redirect requests to the prefixed root when `--prefix` is set ([#&#8203;8321](https://redirect.github.com/holoviz/panel/pull/8321)) - Ensure non-active `Tabs` are not clickable ([#&#8203;8324](https://redirect.github.com/holoviz/panel/pull/8324)) ##### 🧪 Maintenance & Infrastructure - Update Python/JS dependencies ([#&#8203;8318](https://redirect.github.com/holoviz/panel/pull/8318)) - Fix type checking errors ([#&#8203;8314](https://redirect.github.com/holoviz/panel/pull/8314)) - Pin `jupyterlite-core` temporarily ([#&#8203;8315](https://redirect.github.com/holoviz/panel/pull/8315)) - Clean up `pixi.toml` project config ([#&#8203;8303](https://redirect.github.com/holoviz/panel/pull/8303)) ##### ⚠️ Compatibility & Deprecations - Heads up: Starting with Panel 1.9.0, pandas will no longer be installed by default. If your code depends on pandas and you were relying on Panel to install it implicitly, you’ll need to add it as an explicit dependency in your environment or project configuration. ### [`v1.8.3`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-183) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.2...v1.8.3) This patch release brings targeted UI fixes, improves Python and Django compatibility, and enhances the developer and contributor experience. It also includes fixes for Tabulator, Pyodide, templates, and app interactivity, along with several documentation and robustness improvements. Many thanks to [@&#8203;ahuang11](https://redirect.github.com/ahuang11), [@&#8203;hoxbro](https://redirect.github.com/hoxbro), [@&#8203;maximlt](https://redirect.github.com/maximlt), [@&#8203;MarcSkovMadsen](https://redirect.github.com/MarcSkovMadsen), [@&#8203;Coderambling](https://redirect.github.com/Coderambling) and [@&#8203;philippjfr](https://redirect.github.com/philippjfr) for their contributions to this release. ##### ✨ Enhancements - Align CSS variables between default and dark themes ([#&#8203;8248](https://redirect.github.com/holoviz/panel/pull/8248)) - Ensure behavior of dynamically served apps is aligned with file based apps ([#&#8203;8249](https://redirect.github.com/holoviz/panel/pull/8249)) - Add `export()` method to `Vega` pane ([#&#8203;8266](https://redirect.github.com/holoviz/panel/pull/8266)) - Add official support for **Python 3.14** ([#&#8203;8241](https://redirect.github.com/holoviz/panel/pull/8241)) - Add `render_policy="manual"` option for `JSComponent` ([#&#8203;8285](https://redirect.github.com/holoviz/panel/pull/8285)) - Disable text selection when editing in `EditableTemplate` ([#&#8203;8286](https://redirect.github.com/holoviz/panel/pull/8286)) - Prevent full text selection when replacing input values on `CodeEditor` ([#&#8203;8262](https://redirect.github.com/holoviz/panel/pull/8262)) ##### 🐛 Bug Fixes - Fix FastAPI bug where `pn.state.location` wasn’t retained ([#&#8203;8283](https://redirect.github.com/holoviz/panel/pull/8283)) - Fix Tabulator popup container rendering issues ([#&#8203;8247](https://redirect.github.com/holoviz/panel/pull/8247)) - Resolve issues with pipeline `next/previous` buttons ([#&#8203;8273](https://redirect.github.com/holoviz/panel/pull/8273)) - Ensure ESM compilation uses `_esm` path ([#&#8203;8245](https://redirect.github.com/holoviz/panel/pull/8245)) - Fix CORS issue with `turbine` data URL in Pyodide ([#&#8203;8272](https://redirect.github.com/holoviz/panel/pull/8272)) - Ensure `ParamRef`, `ParamFunction`, and `ParamMethod` do not override styling ([#&#8203;8264](https://redirect.github.com/holoviz/panel/pull/8264)) - Fix toggle behavior in `BootstrapTemplate` sidebar ([#&#8203;8268](https://redirect.github.com/holoviz/panel/pull/8268)) - Minor robustness improvements for Bokeh model interop ([#&#8203;8270](https://redirect.github.com/holoviz/panel/pull/8270)) ##### 📚 Documentation - Minor enhancements to the [Panel Gallery](https://panel.holoviz.org/gallery/) deployment ([#&#8203;8240](https://redirect.github.com/holoviz/panel/pull/8240)) - Update Django integration docs ([#&#8203;8252](https://redirect.github.com/holoviz/panel/pull/8252)) - Clarify setup instructions ([#&#8203;8255](https://redirect.github.com/holoviz/panel/pull/8255)) - Fix typo and layout issue in `README.md` ([#&#8203;8287](https://redirect.github.com/holoviz/panel/pull/8287)) - Fix unclosed code block in `convert.md` ([#&#8203;8280](https://redirect.github.com/holoviz/panel/pull/8280)) ##### 🧪 Infrastructure & Developer Experience - Remove Bokeh metadata workaround related to Tornado ([#&#8203;8243](https://redirect.github.com/holoviz/panel/pull/8243)) - Bump Django versions in example apps: - `4.2.22` → `4.2.25` ([#&#8203;8226](https://redirect.github.com/holoviz/panel/pull/8226)) - `4.2.22` → `4.2.26` in multi-apps example ([#&#8203;8282](https://redirect.github.com/holoviz/panel/pull/8282)) - Add `setup-dev` command for easier local development ([#&#8203;8277](https://redirect.github.com/holoviz/panel/pull/8277)) - Improve internal `_descendents` resolution for parameterized classes ([#&#8203;8284](https://redirect.github.com/holoviz/panel/pull/8284)) - Add `__panel__` stub method to `PyComponent` ([#&#8203;8271](https://redirect.github.com/holoviz/panel/pull/8271)) ### [`v1.8.2`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-182) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.1...v1.8.2) This patch release focuses on polishing the user experience, fixing regressions, and improving documentation, particularly around app deployment and Tabulator interactivity. It includes several frontend and CSS tweaks, pyodide compatibility fixes, and two new deployment guides for **Anaconda Notebooks** and **PythonAnywhere**. Thanks to [@&#8203;philippjfr](https://redirect.github.com/philippjfr), [@&#8203;maximlt](https://redirect.github.com/maximlt), [@&#8203;etihwo](https://redirect.github.com/etihwo), [@&#8203;MarcSkovMadsen](https://redirect.github.com/MarcSkovMadsen), and [@&#8203;Coderambling](https://redirect.github.com/Coderambling) for their contributions to this release. ##### ✨ Enhancements - Allow custom control over Tabulator editable rows using `JSCode` ([#&#8203;8204](https://redirect.github.com/holoviz/panel/pull/8204)) - Improve UI discoverability on `EditableTemplate` ([#&#8203;8206](https://redirect.github.com/holoviz/panel/pull/8206)) - Set pointer cursor on "Connection Lost" toast notification ([#&#8203;8209](https://redirect.github.com/holoviz/panel/pull/8209)) - Serve `index.html` automatically when serving a static directory ([#&#8203;8222](https://redirect.github.com/holoviz/panel/pull/8222)) ##### 🐛 Bug Fixes - Ensure Tabulator does not break if other components don't correctly initialize ([#&#8203;8212](https://redirect.github.com/holoviz/panel/pull/8212)) - Fix Pyodide `jsnull` value conversion in Bokeh JSON patches ([#&#8203;8217](https://redirect.github.com/holoviz/panel/pull/8217)) - Fix regression causing column headers not to stretch properly across layout ([#&#8203;8219](https://redirect.github.com/holoviz/panel/pull/8219)) - Ensure `config.npm_cdn` is respected ([#&#8203;8233](https://redirect.github.com/holoviz/panel/issues/8233)) - Ensure bundled pyodide resources use correct path separator ([#&#8203;8230](https://redirect.github.com/holoviz/panel/pull/8230)) - Ensure pyodide resource bundle is only generated if necessary ([#&#8203;8234](https://redirect.github.com/holoviz/panel/pull/8234)) - Ensure pyodide session is registered as loaded ([#&#8203;8235](https://redirect.github.com/holoviz/panel/pull/8234)) ##### 📚 Documentation - Add how-to guide on deploying Panel apps on [**Anaconda Notebooks**](https://notebooks.anaconda.cloud) ([#&#8203;8207](https://redirect.github.com/holoviz/panel/pull/8207)) - Add how-to guide on deploying Panel apps on [**PythonAnywhere**](https://www.pythonanywhere.com/) ([#&#8203;8216](https://redirect.github.com/holoviz/panel/pull/8216)) - Update `Plotly.ipynb` to reflect current Plotly version and correct doc URLs ([#&#8203;8214](https://redirect.github.com/holoviz/panel/pull/8214), [#&#8203;8203](https://redirect.github.com/holoviz/panel/pull/8203)) - Add missing Anaconda logo to documentation ([#&#8203;8208](https://redirect.github.com/holoviz/panel/pull/8208)) - Add how-to guide on using `uv` to distribute Panel apps and dependencies ([#&#8203;8205](https://redirect.github.com/holoviz/panel/pull/8205)) ### [`v1.8.1`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-181) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.8.0...v1.8.1) Many thanks to [@&#8203;ATL2001](https://redirect.github.com/ATL2001) (first contribution), [@&#8203;Coderambling](https://redirect.github.com/Coderambling), [@&#8203;philippjfr](https://redirect.github.com/philippjfr), and [@&#8203;hoxbro](https://redirect.github.com/hoxbro) for their contributions. ##### Enhancements - Add configuration to disable container popup ([#&#8203;8200](https://redirect.github.com/holoviz/panel/pull/8200)) ##### Bug Fixes - Ensure Tabulator empty column has no width ([#&#8203;8193](https://redirect.github.com/holoviz/panel/pull/8193)) - Add UTC timezone to default time for croniter ([#&#8203;8199](https://redirect.github.com/holoviz/panel/pull/8199)) ##### Documentation - Update indicators\_performance.md to fix typo ([#&#8203;8192](https://redirect.github.com/holoviz/panel/pull/8192)) ### [`v1.8.0`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-180) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.7.5...v1.8.0) This release brings a wide range of new features, enhancements, and compatibility improvements. Highlights include support for `JSCode` in ECharts and Tabulator, reworked WebSocket reconnection, and the ability to bundle resources into WASM apps, and numerous bug fixes to improve stability across components and templates. It also includes compatibility updates for **Bokeh 3.8** and several improvements for use in **Pyodide**, **JupyterLite**, and **authentication-based deployments**. Many thanks to our returning contributors [@&#8203;dalthviz](https://redirect.github.com/dalthviz) and [@&#8203;etihwo](https://redirect.github.com/etihwo), a very warm welcome to our new contributors [@&#8203;c-meier](https://redirect.github.com/c-meier) and [@&#8203;flxmr](https://redirect.github.com/flxmr) and as usual many thanks to our core team including [@&#8203;maximlt](https://redirect.github.com/maximlt), [@&#8203;hoxbro](https://redirect.github.com/hoxbro), [@&#8203;ahuang11](https://redirect.github.com/ahuang11), [@&#8203;MarcSkovMadsen](https://redirect.github.com/MarcSkovMadsen) and [@&#8203;philippjfr](https://redirect.github.com/philippjfr). ##### 🚀 Features - Support for inline JavaScript functions in `ECharts` and `Tabulator` via `JSCode` wrapper ([#&#8203;8162](https://redirect.github.com/holoviz/panel/pull/8162)) - Add support for reconnecting to a session after network disruption ([#&#8203;8120](https://redirect.github.com/holoviz/panel/pull/8120)) - Add support for `AVIF` images ([#&#8203;8164](https://redirect.github.com/holoviz/panel/pull/8164)) - Add support for bundling local resources into WASM apps ([#&#8203;8181](https://redirect.github.com/holoviz/panel/pull/8181)) ##### ✨ Enhancements - Improve `.from_param()` behavior and error messages ([#&#8203;8047](https://redirect.github.com/holoviz/panel/pull/8047), [#&#8203;8079](https://redirect.github.com/holoviz/panel/pull/8079)) - Add `--reuse-sessions warm` option to reduce session cold starts ([#&#8203;8087](https://redirect.github.com/holoviz/panel/pull/8087)) - Enable event dispatch immediately after WebSocket connect ([#&#8203;8101](https://redirect.github.com/holoviz/panel/pull/8101)) - Improve error message display in `LiteralInput` ([#&#8203;8102](https://redirect.github.com/holoviz/panel/pull/8102)) - Allow `hold` usage from a thread ([#&#8203;8113](https://redirect.github.com/holoviz/panel/pull/8113)) - Improve uniformity and consistency in `Tabulator` column configuration ([#&#8203;8127](https://redirect.github.com/holoviz/panel/pull/8127)) - Trigger `param.Event` correctly on value change ([#&#8203;8148](https://redirect.github.com/holoviz/panel/pull/8148)) - Allow registering external `extension_cdn` for JS resources ([#&#8203;8175](https://redirect.github.com/holoviz/panel/pull/8175)) - Allow overriding the `default_widgets` on `HoloViews` pane ([#&#8203;8186](https://redirect.github.com/holoviz/panel/pull/8186)) ##### 🐛 Bug Fixes - Ensure `Terminal` resizes correctly ([#&#8203;8109](https://redirect.github.com/holoviz/panel/pull/8109)) - Bundle correct `AceEditor` version ([#&#8203;8111](https://redirect.github.com/holoviz/panel/pull/8111)) - Remove `bokeh-sampledata` dependency from Pyodide builds ([#&#8203;8138](https://redirect.github.com/holoviz/panel/pull/8138)) - Correct resource handling when resources are symlinked ([#&#8203;8143](https://redirect.github.com/holoviz/panel/pull/8143)) - Correct behavior when `FileDownload` resets cursor before reading ([#&#8203;8154](https://redirect.github.com/holoviz/panel/pull/8154)) - Fix handling of `NaT` values ([#&#8203;8156](https://redirect.github.com/holoviz/panel/pull/8156)) - Apply template design after rendering template ([#&#8203;8155](https://redirect.github.com/holoviz/panel/pull/8155)) - Prevent `select-all` checkbox from being hidden in Material theme ([#&#8203;8147](https://redirect.github.com/holoviz/panel/pull/8147)) - Fix handling of exclusive bounds in `Param` widgets ([#&#8203;8165](https://redirect.github.com/holoviz/panel/pull/8165)) - Fix layout of `Card` headers with `row` flex mode ([#&#8203;8166](https://redirect.github.com/holoviz/panel/pull/8166)) - Uncap height of children in scrollable `Column` layouts ([#&#8203;8167](https://redirect.github.com/holoviz/panel/pull/8167)) - Fix errors in `ECharts` when chart has already been destroyed ([#&#8203;8168](https://redirect.github.com/holoviz/panel/pull/8168)) - Fix `Tabulator` filter behavior with list-based filters ([#&#8203;8169](https://redirect.github.com/holoviz/panel/pull/8169)) - Allow `Card` to overflow container ([#&#8203;8170](https://redirect.github.com/holoviz/panel/pull/8170)) - Fix `pyodide` model syncing ([#&#8203;8174](https://redirect.github.com/holoviz/panel/pull/8174)) ##### ⚠️ Deprecations - Removed `panel.io.model.hold` (was moved to `panel.io.document.hold` in 1.6.0) ([#&#8203;8188](https://redirect.github.com/holoviz/panel/pull/8188)) - Deprecated `panel.chat.langchain.PanelCallbackHandler` (to be removed in 1.9.0) ([#&#8203;8188](https://redirect.github.com/holoviz/panel/pull/8188)) ##### 📦 Compatibility & Infrastructure - Update component versions ([#&#8203;7447](https://redirect.github.com/holoviz/panel/pull/7447)) - `DeckGL` version from 9.0.20 to 9.1.14 - `ECharts` version from 5.6.0 to 6.0.0 - `KaTeX` version from 0.6.0 to 0.16.22 - `Perspective` version from 3.6.1 to 3.8.0 - `Plotly` version from 3.0.1 to 3.1.0 - `Vega` version from 5 to 6.1.2 and vega-lite dependency from 5 to 6.3.0 - `Vizzu` version from 0.15 to 0.17.1 - Drop support for Bokeh 3.5 and 3.6 ([#&#8203;8116](https://redirect.github.com/holoviz/panel/pull/8116)) - Full compatibility with **Bokeh 3.8** ([#&#8203;8160](https://redirect.github.com/holoviz/panel/pull/8160)) ##### 📚 Documentation - Add guide for using WebSocket comms ([#&#8203;7952](https://redirect.github.com/holoviz/panel/pull/7952)) - Update links for Tabulator ([#&#8203;8126](https://redirect.github.com/holoviz/panel/pull/8126)) - Align component parameter reference documentation ([#&#8203;8152](https://redirect.github.com/holoviz/panel/pull/8152)) ### [`v1.7.5`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-175) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.7.4...v1.7.5) This patch release brings a number of important bug fixes and refinements, including improved modal behavior, Param integration fixes for ESM, and security hardening of authentication templates. Thanks to [@&#8203;harmvanderheijden](https://redirect.github.com/harmvanderheijden), [@&#8203;marcskovmadsen](https://redirect.github.com/marcskovmadsen), [@&#8203;maximlt](https://redirect.github.com/maximlt), and [@&#8203;philippjfr](https://redirect.github.com/philippjfr) for their contributions. ##### Enhancements - Improve `.from_param()` error messages ([#&#8203;8047](https://redirect.github.com/holoviz/panel/pull/8047)) - Add `--reuse-sessions warm` option to preload and cache apps before first use ([#&#8203;8087](https://redirect.github.com/holoviz/panel/pull/8087)) ##### Security - Fix XSS vulnerabilities in login and OAuth error templates by escaping user-controlled input ([#&#8203;8049](https://redirect.github.com/holoviz/panel/pull/8049)) ##### Bug Fixes - Fix `value_throttled` handling in Param panes ([#&#8203;8057](https://redirect.github.com/holoviz/panel/pull/8057)) - Prevent `AutocompleteInput` from resetting when `restrict=False` ([#&#8203;8056](https://redirect.github.com/holoviz/panel/pull/8056)) - Fix callback cleanup for `--reuse_sessions` mode ([#&#8203;8052](https://redirect.github.com/holoviz/panel/pull/8052)) - Reset `param.Event` state on ESM components ([#&#8203;8054](https://redirect.github.com/holoviz/panel/pull/8054)) - Allow `Player` components to start upon initialization ([#&#8203;8058](https://redirect.github.com/holoviz/panel/pull/8058)) - Fix modal dialog stacking and focus behavior in VanillaTemplate ([#&#8203;8059](https://redirect.github.com/holoviz/panel/pull/8059), [#&#8203;8060](https://redirect.github.com/holoviz/panel/pull/8060)) - Avoid errors in `Tabulator` when editing DataFrames with `pd.NA` values ([#&#8203;8068](https://redirect.github.com/holoviz/panel/pull/8068)) - Add guard for undefined `url` in `ImportedStyleSheet` ([#&#8203;8071](https://redirect.github.com/holoviz/panel/pull/8071)) - Ensure session token payload is correctly updated when reusing sessions ([#&#8203;8072](https://redirect.github.com/holoviz/panel/pull/8072)) - Ensure `--reuse-sessions` caches the `--index` app correctly ([#&#8203;8073](https://redirect.github.com/holoviz/panel/pull/8073)) - Add debounce logic to `ModelChanged` events in Pyodide to improve performance and prevent redundant updates ([#&#8203;8077](https://redirect.github.com/holoviz/panel/pull/8077)) - Ensure `Layoutable` params propagate to HoloViews plots ([#&#8203;8078](https://redirect.github.com/holoviz/panel/pull/8078)) - Fix regression in handling `param.Action` in `.from_param()` utility ([#&#8203;8079](https://redirect.github.com/holoviz/panel/pull/8079)) - Ensure `LoadingSpinner.visible` correctly hides the component ([#&#8203;8081](https://redirect.github.com/holoviz/panel/pull/8081)) - Ensure `JSONEditor` triggers on re-ordering of nodes ([#&#8203;8086](https://redirect.github.com/holoviz/panel/pull/8086)) - Fix `JSONEditor` menu option to improve usability ([#&#8203;8085](https://redirect.github.com/holoviz/panel/pull/8085)) ##### Documentation - Add **websocket communication how-to guide** to documentation ([#&#8203;7952](https://redirect.github.com/holoviz/panel/pull/7952)) - Add note about increasing proxy buffer size for OAuth behind reverse proxies ([#&#8203;8084](https://redirect.github.com/holoviz/panel/pull/8084)) ##### Maintenance - Fix gallery deployment automation ([#&#8203;8055](https://redirect.github.com/holoviz/panel/pull/8055)) ### [`v1.7.4`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-174) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.7.3...v1.7.4) This patch release introduces small but impactful security, compatibility, and usability improvements. It enhances OAuth behavior, adds byte support for the PDF pane, and fixes several rendering and import issues across backends and components. Thanks to [@&#8203;ahuang11](https://redirect.github.com/ahuang11), [@&#8203;dalthviz](https://redirect.github.com/dalthviz), [@&#8203;MarcSkovMadsen](https://redirect.github.com/MarcSkovMadsen), and [@&#8203;philippjfr](https://redirect.github.com/philippjfr) for their contributions. ##### Enhancements - Add support for `bytes` input to the `PDF` pane ([#&#8203;8044](https://redirect.github.com/holoviz/panel/pull/8044)) - Add `logout_url` for Auth0 to OAuth error page template ([#&#8203;8036](https://redirect.github.com/holoviz/panel/pull/8036)) ##### Security - Add authentication to files served from `--static-dirs` ([#&#8203;8042](https://redirect.github.com/holoviz/panel/pull/8042)) - Escape error messages shown on the OAuth error page fixing XSS vulnerability ([#&#8203;8043](https://redirect.github.com/holoviz/panel/pull/8043)) ##### Bug Fixes - Ensure `ReactComponent` forces a re-render after render step ([#&#8203;8037](https://redirect.github.com/holoviz/panel/pull/8037)) - Fix `this.mouse` bug in `ECharts` implementation ([#&#8203;8041](https://redirect.github.com/holoviz/panel/pull/8041)) - Fix incorrect import path in Django integration docs (`bokehjsdir` → `bokehjs_path`) ([#&#8203;8040](https://redirect.github.com/holoviz/panel/pull/8040)) - Update Bokeh/FastAPI extra dependency pin to ensure compatibility ([#&#8203;8039](https://redirect.github.com/holoviz/panel/pull/8039)) ### [`v1.7.3`](https://redirect.github.com/holoviz/panel/blob/HEAD/CHANGELOG.md#Version-173) [Compare Source](https://redirect.github.com/holoviz/panel/compare/v1.7.2...v1.7.3) This patch release includes several critical stability improvements, JavaScript race condition fixes, and developer experience enhancements. It also introduces small but helpful UI features such as exception copying and better error feedback in CLI and ESM workflows. Many thanks to contributors [@&#8203;etihwo](https://redirect.github.com/etihwo), [@&#8203;bsdz](https://redirect.github.com/bsdz), [@&#8203;Coderambling](https://redirect.github.com/Coderambling), [@&#8203;hoxbro](https://redirect.github.com/hoxbro), [@&#8203;philippjfr](https://redirect.github.com/philippjfr), and [@&#8203;MarcSkovMadsen](https://redirect.github.com/MarcSkovMadsen). ##### Enhancements - Add “Copy to Clipboard” button for exceptions in the UI ([#&#8203;8034](https://redirect.github.com/holoviz/panel/pull/8034)) - Enable MathJax rendering if the extension is available ([#&#8203;8004](https://redirect.github.com/holoviz/panel/pull/8004)) - Allow setting a custom title for `Tabulator` multi-index columns ([#&#8203;8008](https://redirect.github.com/holoviz/panel/pull/8008)) - Improve feedback in `panel compile` and reactive ESM workflows ([#&#8203;8012](https://redirect.github.com/holoviz/panel/pull/8012), [#&#8203;8010](https://redirect.github.com/holoviz/panel/pull/8010)) - Ensure exceptions are printed to the command line in development mode ([#&#8203;8022](https://redirect.github.com/holoviz/panel/pull/8022)) ##### Bug Fixes - Guard against race conditions in `DeckGL` during resize ([#&#8203;8031](https://redirect.github.com/holoviz/panel/pull/8031)) - Prevent errors when `client_comm` is undefined in som > ❗ **Important** > > ✂ PR body was truncated to here. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/sarumaj/rag-agent). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC40OS4wIiwidXBkYXRlZEluVmVyIjoiNDQuOTMuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/panel-1.x:renovate/panel-1.x
git switch renovate/panel-1.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/panel-1.x
git switch renovate/panel-1.x
git rebase main
git switch main
git merge --ff-only renovate/panel-1.x
git switch renovate/panel-1.x
git rebase main
git switch main
git merge --no-ff renovate/panel-1.x
git switch main
git merge --squash renovate/panel-1.x
git switch main
git merge --ff-only renovate/panel-1.x
git switch main
git merge renovate/panel-1.x
git push origin main
Sign in to join this conversation.
No description provided.