Release notes

This page lists highlights, bug fixes, and known issues for the latest release of Streamlit. If you're looking for information about nightly releases or experimental features, see Pre-release features.

star

Tip

To upgrade to the latest version of Streamlit, run:

Terminal
pip install --upgrade streamlit

Release date: February 4, 2026

Notable Changes

  • 🎨 The color parameter of st.area_chart, st.bar_chart, st.line_chart, and st.scatter_chart supports the basic color palette which can be configured with theming (#13739, #12694).
  • ☯️ You can use the new theme.chartDivergingColors to set default diverging colors for Plotly, Altair, and Vega-Lite charts.
  • πŸ”— You can configure the display of error help links with a new configuration option, client.showErrorLinks (#13472, #11238). Thanks, karubian!
  • πŸ˜ƒ st.logo supports Material icons and emojis (#13416). Thanks, rahuld109!
  • πŸ₯· To prevent widgets from resetting when you change a parameter, widgets are transitioning to an identity based only on their keys (if provided). The following widgets use only their key for their identity:
    • st.dataframe (with selections)
    • st.area_chart
    • st.bar_chart
    • st.line_chart
    • st.scatter_chart
    • st.altair_chart
    • st.vegalite_chart
    • st.pydeck_chart
    • st.date_input
    • st.datetime_input
    • st.radio
    • st.select_slider
  • πŸ‘† ListColumn and MultiselectColumn let users select the text of their pills for copying (#13663).
  • πŸ‘» st.experimental_get_query_params and st.experimental_set_query_params have been removed. Use st.query_params instead.
  • ☠️ st.experimental_user has been removed. Use st.user instead.

Other Changes

  • πŸ‘½ The warning about the proposed removal of .add_rows() shows in the browser. Please leave feedback (#13063).
  • 🦎 When a .streamlit/config.toml file is created after a Streamlit app is running, the file watcher will recognize it without restarting the Streamlit server (#13625, #11296).
  • πŸ” Bug fix: Path security validation improves protection against Server-Side Request Forgery (SSRF) and path traversal vulnerabilities (#13733).
  • πŸ•ΈοΈ Bug fix: Wildcard URLs display as localhost in the browser URL and console output (#13720, #13712).
  • πŸ¦— Bug fix: Modals and drop-down menus don't collapse the sidebar (#13653).
  • πŸ¦‚ Bug fix: st.bar_chart doesn't raise a KeyError when sorting melted data (#13695).
  • 🦟 Bug fix: st.multiselect and st.selectbox don't clear state when a custom class object is selected (#13648, #13646).
  • 🦠 Bug fix: Transient nodes used for spinners will correctly anchor themselves in the Streamlit DOM to avoid an empty delta path (#13674).
  • πŸͺ° Bug fix: Snowflake connections will re-initialize if closed (#13665).
  • πŸͺ³ Bug fix: Nested containers under a spinner don't raise a Bad delta path index error (#13659, #13658).
  • πŸ•·οΈ Bug fix: SnowflakeConnection.query() correctly passes the params argument to caching (#13652, #13644).
  • 🐞 Bug fix: client.toolbarMode="viewer" correctly hides developer options from the settings menu (#13623).
  • 🐝 Bug fix: When using the experimental Starlette configuration, Streamlit auth can log users out of your identity provider and surface user tokens, consistent with recent updates (#13571).
  • 🐜 Bug fix: Streamlit will defensively not load packaged components with missing or invalid component names in their manifests (#13612).
  • πŸͺ² Bug fix: The width of file chips in st.chat_input was increased to reduce filename truncation (#13589).
  • πŸ› Bug fix: st.bar_chart doesn't raise an error about y-axis minimum and maximum when the bars have all the same value (#13590, #13584).
forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.