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
⚠️ 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 AriaPyArrowBreaking 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
- 1Update `server.maxWidgetStateSize` configuration if you were previously relying on larger widget state sizes.
- 2Review 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