Change8

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

3
Breaking Changes
5
Migration Steps
22
Affected Symbols

⚠️ 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.logout

Breaking 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

  1. 1
    Replace any usage of `st.bokeh_chart` with the `streamlit-bokeh` component.
  2. 2
    Remove or refactor code that relies on experimental dialog, fragment, or widget replay APIs.
  3. 3
    Review logic that treats `ListColumn` as read‑only, as it can now be edited via `st.data_editor`.
  4. 4
    Test your app with the new websocket ping interval settings if you experience proxy drops.
  5. 5
    Update 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