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.48.0 (latest)
Release date: August 5, 2025
Highlights
- πͺ Announcing horizontal flex containers! Configure the alignment, direction, and gap of containers to create dynamic layouts.
Notable Changes
- πͺ΅
st.logout
will log the user out of their identity provider if the server metadata includesend_session_endpoint
(#11901, #11900). Thanks, velochy! - π¬ You can configure the dismissibility of
st.dialog
and set callback functions (#9504, #12034). Thanks, souvikmaji! - βοΈ You can set a
width
parameter for buttons and popovers. - π§βπ»
codeFontWeight
can be configured separately in the sidebar. - πΆ You can configure the WebSocket ping interval with the
server.websocketPingInterval
configuration option (#12117, #12108).
Other Changes
- π The spinner design was unified across Streamlit commands (#12031).
- π Design and style tweaks (#12032, #11989, #11986, #11999, #12015, #11995, #11981, #11964).
- π Error logic and logging was improved to reduce confusion from
asyncio
runtime errors when unrelated errors are raised (#12008). - πͺ§ Dataframe column menus include an icon to show the column type and a button to copy the column name (#11303).
- π½ For convenience, there are additional "extras" installation options (#11760, #8233).
- π Additional checks are performed to validate the extension of uploaded files, but app developers are still responsible for checking and handling the security of uploaded files (#11884, #11883).
- π Button group widgets are identified by their command name in error messages (#11769, #11753). Thanks, bajajku!
- βοΈ For
st.snow
,st.balloons
, chat avatars, and media elements, thecrossorigin
property can be configured by hosts (#12087, #11948). - π¦ Bug fix: Ctrl+C will stop a Streamlit server in Windows, even if there is no active session (#12049, #6855).
- π¦ Bug fix:
st.line_chart
uses the column order in the chart data instead of reordering them alphabetically (#12092, #12071). - π¦ Bug fix: Menu items set in
st.set_page_config
are not hidden whenclient.toolbarMode
is set to"minimal"
(#12091, #12083). - π¦ Bug fix:
theme.codeFontWeight
does not interfere with bold inline code (#12074, #11976). - πͺ° Bug fix: To allow fractional pixel values, heading font sizes in theming configuration aren't rounded (#12077, #11963).
- πͺ³ Bug fix: Altair 5.4.0 and 5.4.1 have been excluded to prevent an upstream bug with reading dataframes (#12066, #12064).
- π·οΈ Bug fix: Dataframe scrollbars have been tweaked to avoid sizing problems (#11936, #11921, #12053, #11985).
- π Bug fix: Linting accepts lists in addition to tuples for callback arguments in widgets (#12039).
- π Bug fix: To fix a deprecation warning, Altair theme syntax was updated (#12050).
- π Bug fix:
st.navigation
does not hide the menu when a single section is used withposition="top"
(#12025, #12029). - πͺ² Bug fix: The sidebar state does not reset when the window is resized (#12024, #12016).
- π Bug fix:
st.pills
andst.segmented_control
don't raise unintendedStreamlitDuplicateElementId
errors (#11982, #11975).
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.