Migrating to Streamlit 1.49.0
Version 1.49.0 introduces 3 breaking changes. This guide details how to update your code.
Released: 8/26/2025
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
st.bokeh_chartListColumnst.data_editorst.dialogst.dataframest.toastst.form_submit_buttonst.file_uploaderst.chat_inputst.metricst.imagest.pyplotst.pdfst.page_linkst.time_inputst.logoSelectboxColumnCheckboxColumngraphvizcache_dataresourcest.logoutBreaking Changes
●Issue #1
Experimental dialog, fragment, and widget replay APIs were removed; update your app to stop using these experimental features.
●Issue #2
`st.bokeh_chart` has been removed; replace it with the `streamlit-bokeh` component.
●Issue #3
`ListColumn` can now be edited via `st.data_editor`, which changes its previous read‑only behavior; adjust any logic that assumed it was immutable.
Migration Steps
- 1Replace any usage of `st.bokeh_chart` with the `streamlit-bokeh` component.
- 2Remove or refactor code that relies on experimental dialog, fragment, or widget replay APIs.
- 3Review logic that treats `ListColumn` as read‑only, as it can now be edited via `st.data_editor`.
- 4Test your app with the new websocket ping interval settings if you experience proxy drops.
- 5Update any custom theming for `st.toast` to align with the new theming support.
Release Summary
Streamlit 1.49.0 introduces configurable websocket ping intervals, new UI components like st.pdf and directory uploads, extensive layout enhancements, and several bug fixes, while removing experimental replay APIs and deprecating st.bokeh_chart.
Need More Details?
View the full release notes and all changes for Streamlit 1.49.0.
View Full Changelog