Change8

Panel

Data & ML

Panel: The powerful data exploration & web app framework for Python

Latest: v1.8.718 releases1 breaking changes9 common errorsView on GitHub

Release History

v1.8.72 fixes
Jan 28, 2026

This patch release reverts two disruptive changes from version 1.8.6 and resolves issues related to Tabulator resizing and patched Plotly versions.

v1.8.612 fixes3 features
Jan 26, 2026

This patch release addresses several bugs related to ESM and React components, improves UI robustness, and updates key dependencies like Bokeh and Preact.

v1.8.56 fixes
Dec 30, 2025

This release adds several stability and rendering fixes for notebooks, Tabulator, ESM components, Vega datasets, and Markdown, along with new documentation for FastAPI integration and app conversion guides.

v1.8.410 fixes4 features
Dec 2, 2025

Panel 1.8.4 introduces async support for Tabulator, new configuration toggles, enhanced validation, and numerous bug fixes improving notebook integration and event ordering.

v1.8.38 fixes7 features
Nov 10, 2025

This patch release adds Python 3.14 support, several UI enhancements, a new export capability for Vega panes, and numerous bug fixes and documentation updates.

v1.8.27 fixes4 features
Oct 7, 2025

This patch release adds several UI enhancements, improves static serving and pyodide handling, and fixes regressions, while also providing new deployment guides for Anaconda Notebooks and PythonAnywhere.

v1.8.12 fixes1 feature
Sep 16, 2025

This release adds a configuration option to disable the container popup and includes bug fixes for Tabulator column width handling and croniter default timezone, plus a documentation typo correction.

v1.8.0Breaking15 fixes4 features
Sep 9, 2025

This release adds JSCode support for inline JavaScript, WebSocket reconnection, AVIF images, and resource bundling for WASM, while dropping Bokeh 3.5/3.6 support and updating many component versions.

v1.7.516 fixes5 features
Jul 22, 2025

This patch release adds several enhancements such as improved `.from_param()` errors and a warm reuse‑sessions option, while fixing numerous bugs and addressing XSS security issues.

v1.7.44 fixes3 features
Jul 15, 2025

This patch release adds bytes support for the PDF pane, Auth0 logout URL, static‑dir authentication, and includes several security hardening and bug fixes.

v1.7.36 fixes5 features
Jul 9, 2025

This patch release adds UI copy‑to‑clipboard for exceptions, MathJax support, Tabulator title customization, and improved CLI/ESM feedback, while fixing several JavaScript race conditions and widget rendering bugs.

v1.7.29 fixes7 features
Jun 26, 2025

This patch release adds several new features such as byte support for media panes and header tooltips for Tabulator, along with numerous bug fixes and performance improvements.

v1.7.12 fixes1 feature
May 28, 2025

This patch adds a disable‑preview option for FileDropper and fixes a Bokeh<3.7 Column update regression, along with logger interface and documentation improvements.

v1.7.09 fixes7 features
May 16, 2025

This minor release adds new UI options, a secondary sidebar for FastListTemplate, and several quality‑of‑life improvements, while fixing numerous bugs and bumping key JS dependencies.

v1.6.313 fixes4 features
Apr 23, 2025

This release adds performance enhancements for Column and ReactComponent rendering, introduces new CodeEditor options, and fixes numerous bugs across widgets, OAuth, and ESM handling.

v1.6.222 fixes9 features
Mar 28, 2025

Panel 1.x introduces easier subclassing, enhanced ReactComponent capabilities, ESM improvements, and full compatibility with Bokeh 3.7 along with numerous bug fixes.

v1.6.112 fixes4 features
Feb 14, 2025

The patch adds new features such as ChatFeed.scroll_to, a watch mode for panel compile, and ESM CSS bundle support, while fixing numerous bugs and adding compatibility with Plotly 6.0 and updated pyodide/PyScript versions.

v1.6.017 fixes4 features
Jan 23, 2025

This release adds a standalone Modal component, PAM authentication, a new Widget.from_values method, and edit capabilities for ChatMessage/ChatFeed, along with numerous styling enhancements and a long list of bug fixes.

Common Errors

UnboundLocalError2 reports

The UnboundLocalError occurs when a variable is referenced before it has been assigned a value within its scope, often inside a function. Ensure the variable is assigned a value before being used, especially within conditional statements or loops, by initializing it to a default value like None or an empty list before the conditional block containing its use.

RuntimeError2 reports

The "RuntimeError: no running event loop" in Panel often arises when asynchronous operations (like callbacks) are initiated outside of a running `asyncio` event loop, particularly after reloading or during multi-threaded execution. Ensure all Panel apps and their asynchronous callbacks are initialized and executed within the main thread's event loop by using `panel.serve` or `panel.show` correctly, and avoid creating new loops within threads or reload contexts. If running asynchronous code outside the main thread, explicitly set the default event loop using `asyncio.set_event_loop` within that thread.

ModuleNotFoundError2 reports

The "ModuleNotFoundError" in Panel usually arises from missing dependencies or incorrect import paths, especially when packaging for environments like Pyodide. Resolve this by ensuring all necessary packages are listed in your environment file (e.g., requirements.txt) and that import statements correctly reflect the module's location within the installed package. For environments like Pyodide, verify package availability and consider using Panel's specific packaging tools for compatible deployment.

AtrributeError1 report

The "AttributeError" in Panel often arises when a widget's underlying model hasn't been fully initialized, particularly when using `.from_param` or saving to HTML. Ensure all necessary parameters, especially those required by the widget's `__init__` method or model properties, are provided during widget creation or before saving. Explicitly set default values or use `param.parameterized.parameter_kwargs` to preemptively populate missing attributes.

SyntaxError1 report

SyntaxError in panel often arises from code incompatible with Python's syntax, frequently due to IPython magic commands (e.g., `%run`) used outside of IPython environments. To fix this, either remove the non-Python syntax or ensure the code is executed within an environment that supports it, such as a Jupyter Notebook or IPython interactive session. If running a script, rewrite the code to avoid IPython specific commands.

TypeError1 report

TypeError in Panel often stems from passing an object to a Panel pane that isn't directly displayable or compatible (e.g., a Matplotlib figure without a suitable display method). Fix this by ensuring the object is either a native Panel component, a supported type like a Bokeh plot, or by using `pn.panel(object)` to automatically convert it to a displayable Panel object, potentially specifying custom rendering options if needed. Alternatively, explore explicitly converting the object to a compatible format (e.g., matplotlib to a static image).

Related Data & ML Packages

Subscribe to Updates

Get notified when new versions are released

RSS Feed