Change8

Migrating to Streamlit 1.60.0

Version 1.60.0 introduces 2 breaking changes. This guide details how to update your code.

Released: 7/21/2026

2
Breaking Changes
2
Migration Steps
15
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

server.maxWidgetStateSizest.data_editorst.tabsst.metricst.dataframest.selectboxst.link_buttonst.imagest.echost.number_inputGraphvizpydeckhttpxReact AriaPyArrow

Breaking Changes

Issue #1

Limit client-supplied query string size and field count. This may break applications that rely on very large or complex query strings.

Issue #2

Reject spoofed host messages from child frames and scripts. This change enhances security and may break applications that were inadvertently sending such messages.

Migration Steps

  1. 1
    Update `server.maxWidgetStateSize` configuration if you were previously relying on larger widget state sizes.
  2. 2
    Review applications that send large or complex query strings to ensure they comply with the new size and field count limits.

Release Summary

This release introduces several new features including native toolbars for Vega-Lite charts, integer pixel values for the `gap` parameter, and improved handling of `st.data_editor` keys. It also includes numerous bug fixes for stability and security, alongside breaking changes that limit query string sizes and reject spoofed host messages.

Need More Details?

View the full release notes and all changes for Streamlit 1.60.0.

View Full Changelog