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.
Upgrade Streamlit
Tip
To upgrade to the latest version of Streamlit, run:
Terminal
pip install --upgrade streamlit
Version 1.55.0 (latest)
Release date: March 3, 2026
Highlights
- 🍿 Introducing dynamic containers:
st.tabs,st.popover, andst.expandercan rerun the app when they are opened or closed by setting theon_changeparameter. If a key is also provided, you can programmatically open and close them, too. - 🖇️ Announcing widget binding! Most non-trigger widgets have a
bindparameter to simplify syncing widget state with query parameters.
Notable Changes
- 🔗
st.imagehas alinkparameter to make images clickable with HTTP/HTTPS URLs (#14139, #9836). - 🥷
st.Pagehas avisibilityparameter that lets you hide pages in the navigation menu while keeping them routable (#13905, #10738). - 🎨 Markdown supports arbitrary CSS colors for text foreground and background (#14041, #7808).
- 📐
st.metrichas adelta_descriptionparameter to display descriptive text next to delta values (#13848, #13690). - 📏 You can configure the font weight and size for
st.metricwith the newmetricValueFontWeightandmetricValueFontSizeconfiguration options (#13550, #12300). Thanks, kagawa0710! - 🏓
st.tablehasheightandwidthparameters (#13850, #10775, #10820). - 📈
st.altair_chartandst.vega_lite_chartsupport selections on multi-view charts (#13591, #8643). - 🔑 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.markdownacceptswidth="auto"to adapt its default behavior depending on the flex layout of its container (#13841). - 🌐 Added a new
client.allowedOriginsconfig option to let you customize which origins can send cross-originpostMessage(#13829, #6389).
Other Changes
- 🖋️ Page titles in
st.Pageand section labels inst.navigationsupport Markdown (#14053, #14010, #11771). - 🧹 Common block elements in widget labels are auto-escaped for convenience (#13887, #7359).
- 🏄♂️
st.multiselectlets users select all options or all currently filtered options with a single click (#13795, #4714). - 💅 Improved the design of
st.multiselectandst.selectbox(#13004). Thanks, rishi-kumar0612! - ‼️ All widget drop-downs were restyled for consistency (#13796, #13797, #13798).
- ↔️ For better accessibility,
st.tabsdisplays navigation arrows when the tabs overflow their container horizontally (#13987, #5552). - 📝 The app menu was redesigned (#14101):
- 🔍 Improved
streamlit config showoutput to better distinguish theme value sources (#13761). - ♥️ To improve behavior in hosted environments, the Streamlit server acknowledges client heartbeats (#13810).
- 🔣 Extended
sprintfto support,as a thousands separator inNumberColumn,ProgressColumn,st.number_input,st.slider, andst.metric(#13284, #1301). - ⬆️ Added support for cachetools 7.x (#13839, #13801).
- ☠️ Added a deprecation notice to
SnowparkConnectionfor better visibility (#14125). - 🦀 Bug fix:
st.spinneravoids a race condition when used right before a cache miss (#13849, #13634). - 🦎 Bug fix:
st.date_inputvalues are normalized in Session State to prevent a type error (#14123, #14109). - 🐌 Bug fix:
st.metricwith sparklines display correctly in horizontal flex containers (#14110, #13785). - 🕸️ Bug fix:
SQLConnection.query()caches results at the instance level instead of the class level (#14094, #14077). - 🦗 Bug fix:
st.segmented_controlhas consistent border styling on hover (#14067, #12802). - 🦂 Bug fix:
st.date_inputandst.datetime_inputremove validation marks when they are cleared (#14066, #14052). - 🦟 Bug fix: Fixed a rendering regression for
vconcatcharts in Altair with faceted children (#14065, #14050). - 🦠 Bug fix:
st.Pageraised an exception if it's passed a URL path of only slashes (#14005, #13952). Thanks, nileshhadalgi016! - 🪰 Bug fix: The code block copy button was moved into a toolbar to prevent text overlap (#14024, #12958).
- 🪳 Bug fix:
st.tabsretain their state when rendered after a transitional element likest.spinner(#14023, #14018). - 🕷️ Bug fix: Treemap and sunburst Plotly charts support selections (#13935, #9001).
- 🐞 Bug fix: Fixed a width regression for layered
vconcatcharts in Altair (#13980, #13974). - 🐝 Bug fix:
st.multiselectraises an exception whenmax_selectionsisn't positive (#13966, #13965). - 🐜 Bug fix: When a user adds a row to
st.data_editor, all columns, including hidden ones, are initialized (#13916, #13915). - 🪲 Bug fix:
st.select_sliderdoesn't apply its format function twice inAppTest(#13837, #13832). - 🐛 Bug fix: Content in collapsed expanders is not included in page search (#13818).
Older versions of Streamlit
- 2025 release notes
- 2024 release notes
- 2023 release notes
- 2022 release notes
- 2021 release notes
- 2020 release notes
- 2019 release notes
Still have questions?
Our forums are full of helpful information and Streamlit experts.