Change8

Migrating to Streamlit 1.50.0

Version 1.50.0 introduces 5 breaking changes. This guide details how to update your code.

Released: 9/23/2025

5
Breaking Changes
4
Migration Steps
22
Affected Symbols

⚠️ Check Your Code

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

st.plotly_chartst.checkboxst.togglest.writest.number_inputst.text_areast.text_inputst.time_inputst.date_inputst.selectboxst.multiselectst.buttonst.tabsst.tablest.line_chartst.bar_chartst.audio_inputst.graphviz_chartCopyButtonMetricst.dataframest.data_editor

Breaking Changes

Issue #1

Removed support for arbitrary keyword arguments in `st.plotly_chart`; use the new `config` dictionary instead (e.g., `st.plotly_chart(fig, config={...})`).

Issue #2

Widget identity now relies on the `key` parameter for `st.checkbox` and `st.toggle`; ensure you provide a stable `key` to avoid unexpected state changes.

Issue #3

The `st.write` function no longer accepts `**kwargs`; remove any extra keyword arguments and rely on default behavior.

Issue #4

Widget identity for `st.number_input` now uses the `key` parameter; add a consistent `key` to maintain state.

Issue #5

Widget identity for `st.text_area` and `st.text_input` now uses the `key` parameter; provide a `key` to preserve input values.

Migration Steps

  1. 1
    Replace any `**kwargs` passed to `st.plotly_chart` with a `config` dictionary.
  2. 2
    Add a stable `key` argument to `st.checkbox`, `st.toggle`, `st.number_input`, `st.text_area`, `st.text_input`, `st.time_input`, `st.date_input`, `st.selectbox`, `st.multiselect`, and button widgets.
  3. 3
    Remove all `**kwargs` arguments from calls to `st.write`.
  4. 4
    Test widgets after adding `key` to ensure state persists as expected.

Release Summary

Streamlit 1.50.0 introduces widget identity changes using `key`, deprecates `**kwargs` in several APIs, adds extensive theming and layout enhancements, and includes numerous bug fixes and performance improvements.

Need More Details?

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

View Full Changelog