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:
pip install --upgrade streamlit
Version 1.51.0 (latest)
Release date: October 29, 2025
Highlights
- π§© Announcing custom components, version 2! Easily create frameless custom UI with bidirectional data flow.
- π Introducing custom light and dark theme configuration! You can simultaneously define custom light and dark themes in your app.
- π¨ Announcing reusable themes! You can define a theme in a sharable file and use it as a base in other themes.
- π« Introducing
st.spacefor adding vertical and horizontal spaces in your app.
Notable Changes
- π New configuration options,
theme.codeTextColorandtheme.linkColor, let you configure the color of code and link text. - π
ProgressColumnhas a newcolorparameter. - π You can set
color="auto"inMultiselectColumnto inherit colors fromtheme.chartCategoricalColors. - π
MultiselectColumnhas apinnedparameter to match other column types. - β You can set a
defaultvalue forst.feedback(#12578, #9469). Thanks, andreasntr! - π
st.write_streamhas acursorparameter to set a custom cursor for the typewriter effect. - πΏ
st.popoverhas atypeparameter to matchst.buttonstyling options. - π 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.color_pickerst.segmented_controlst.radiost.audio_inputst.sliderst.select_sliderst.chat_inputst.feedbackst.pills
- βοΈ
st.dataframe,st.data_editor,st.altair_chart,st.pydeck_chart, and all simple charts have height parameters to use with flex containers. - βοΈ
st.plotly_chart,st.vega_lite_chart,st.altair_chart,st.pydeck_chart, and all simple charts have width parameters to use with flex containers. - π Due to end of life, Python 3.9 is no longer supported.
Other Changes
- β‘ If you don't pass a file to
streamlit run, it will trystreamlit_app.pyby default (#12599). - π₯·
st.dataframehides its index column by default when row selections are enabled (#12448, #12237). Thanks, plumol! - π©βπ¨ For compatibility with new theming options, the app settings menu no longer supports theme editing (#12648).
- π The Streamlit hello app preloads its Python packages on its home page for a faster user experience (#12617).
- π Slider thumbs don't extend beyond the edge of their track (#12549, #4284).
- βΉοΈ Material icons and emojis were updated (#12669).
- π¦ Bug fix: Pyplot charts render correctly in fragments, containers, and expanders (#12807, #12678, #12763).
- πͺ° Bug fix: Dataframes correctly resize and align when using
width="content"(#12682). - πͺ³ Bug fix: Fuzzy search in select boxes is case insensitive (#12849, #11724).
- π·οΈ Bug fix: 500 errors display correctly (#12845).
- π Bug fix: Deprecation warnings respect
client.showErrorDetails(#12794, #12743). - π Bug fix: Path handling in the file watcher was improved to prevent a
ValueErrorin Windows environments (#12741, #12731). - π Bug fix:
st.pillsshows its value when disabled (#12555, #12388). Thanks, davidsjoberg1! - πͺ² Bug fix: Plotly charts hide overflow to prevent flickering behavior from scrollbars (#12594).
- π Bug fix: Streamlit's handling of Altair charts was improved for thread safety and prevention of an "Unrecognized data set" race condition (#12673, #11911, #11342, #11906).
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.
