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.53.0 (latest)
Release date: January 14, 2026
Highlights
- βοΈ You can create session-scoped caller's rights connections in Streamlit in Snowflake and other Snowpark Container Services environments.
- β Announcing experimental support for running Streamlit with Starlette with the new
server.useStarletteconfiguration option. - π Introducing
st.App, an experimental ASGI-compatible entry point that enables custom HTTP routes, middleware, lifecycle hooks, and integration with Python web frameworks like FastAPI and Starlette (#13537). - π You can expose OIDC ID and access tokens in
st.user.tokens(#12044). Thanks, velochy!
Note
To comment on the Starlette and ASGI support, see the discussion on GitHub.
Notable Changes
- πͺ
st.logoutlogs users out of your identity provider, if supported by your OIDC setup (#12693). Thanks, velochy! - π To prevent unwanted stale elements, especially in chat layouts, Streamlit treats spinners as transient elements and doesn't include them in the element refresh that happens with reruns (#12826, #9239, #10199, #13166).
- π§© For custom components v2, style isolation is set in
st.components.v2.componentinstead of when an instance is mounted (#13518). - π¨ To access heading font size and weights in custom components without using JavaScript to parse an array, CSS custom properties in an app include individual properties for each heading font size and weight (#13268).
- βοΈ For custom components v2,
html,js, andcssare all fully optional (#13511). - π
BaseConnectionhas a new class method to scope connections globally or by session (#13506). - πΎ
st.cache_dataandst.cache_resourcecan be scoped to a session (#13482, #6703). - π§Ή
st.cache_resourcehas a new parameteron_releaseto use to clean up resources, like closing connections (#13439, #8674). - π·οΈ
st.multiselectdoesn't includeoptionsin widget identity when akeyis provided (#13448, #7855). - π’
st.number_inputdoesn't includeminandmaxin widget identity when akeyis provided (#13512, #11277). - π
st.selectboxdoesn't includeoptionsin widget identity when akeyis provided (#13383, #6352, #8496, #4854). - ποΈ You can format values for
st.sliderwith a newformatparameter (#13392, #13243). - πΌοΈ
st.dialoghas a newiconparameter to add an icon next to the dialog title (#13244, #13202). Thanks, KaranPradhan266! - βοΈ You can configure
st.data_editorto allow only adding or only deleting rows (#13228, #7091). - β‘οΈ You can display a button icon on the right instead of the left with a new
icon_positionparameter (#13150, #13069). Thanks, SiddhantSadangi! - βοΈ
st.columns,st.container, andst.spacesupport larger and smallergapandsizevalues (#13345). - π¦ You can configure the maximum file size for
st.file_uploaderandst.chat_inputwith a new parameter that overrides theserver.maxUploadSizeconfiguration option (#12816, #12692, #12579). Thanks, rishabhjain1712! - π You can configure the default width of the sidebar with
st.set_page_config(#12154, #11980). Thanks, jose-mindwayai! - π The
optionsparameter inst.select_slidersupports Markdown (#12960, #11774). Thanks, jensonjohnathon! - π The
deltaandvalueparameters inst.metricsupport Markdown (#13094, #11773). Thanks, jensonjohnathon! - π£ You can configure number format in
st.metric(#13193, #12229, #6951). - π You can set the color of
st.metricdelta indicators from the basic color palette (#13153, #4052, #6665).
Other Changes
- π You can exclude the port from your Streamlit auth redirect URI to use the current port (#12251, #12249). Thanks, velochy!
- π Various custom components v2 types were semantically renamed (#13515).
- π When an item is removed from
st.multiselect, the scroll position of the drop down is preserved (#13384, #13317). Thanks, kagawa0710! - π Pydantic sequences are treated as dataframe-like by Streamlit commands (#13348, #13344).
- π The logo displayed by
st.logolinks to the app's homepage (#13222, #13155). - β¨οΈ For improved accessibility, tooltips are keyboard focusable (#13379, #13330).
- β For improved accessibility, anchor links are keyboard focusable (#13378, #13329).
- πΊοΈ
st.jsondisplays a tooltip on hover for each element to show its full path (#13113, #13057). - π¬
st.chat_inputwas redesigned for improved style and accessibility (#13088, #13223, #13364, #13532, #13556, #13546, #13542, #13535, #13554, #13553, #13555, #13547). - π Various style updates for consistency (#13536, #13557).
- π
st.authis compatible with Authlib version 1.6.6 (#13333, #13335, #13424). - π½ Bug fix: Embedded apps respect the theme embedding option when they are configured with a custom theme (#13498, #13496). Thanks, ranmocy!
- π» Bug fix:
st.number_inputaccounts for floating point precision when incrementing and decrementing its value (#13484). - π¦ Bug fix:
st.altair_chartcorrectly displays HConcat and VConcat charts (#13423, #13410). - π¦ Bug fix:
st.selectboxis initialized correctly when its value is set from Session State (#13438, #13435). - π¦ Bug fix:
st.htmlindents list items correctly (#13437, #13426). - π Bug fix: A logger message for
SnowflakeConnectionreferences the correct URL to the Snowflake docs (#13363, #13361). - πΈοΈ Bug fix: Tooltip text with newlines renders correctly (#13365, #13339).
- π¦ Bug fix: The DOM elements within
st.spinnerare properly aligned when showing elapsed time (#13388, #13387). - π¦ Bug fix: Custom components v2 have the same cross-origin behavior as other elements in the app (#13376).
- π¦ Bug fix: CSS custom properties in custom components handle null or unset values correctly (#13240).
- π¦ Bug fix: Theme preference is persisted into new app sessions (#13306, #13280).
- πͺ° Bug fix:
st.dialogdoesn't show stale elements from a previous dialog (#13297, #10907). - πͺ³ Bug fix:
st.data_editorbehaves correctly when starting with a column ofNonevalues (#13309, #13305). - π·οΈ Bug fix: To correctly reflect edits to the theme configuration during development, theme settings are properly hashed (#13173).
- π Bug fix: In v2 custom components, app-level keyboard shortcuts (like
Rfor rerun) are disabled in typing contexts to prevent unintentional usage (#13264). - π Bug fix: Custom component v2 includes default values in component identity, unless a key is provided (#13266).
- π Bug fix: The sidebar navigation is correctly hidden when topbar navigation is used (#13227, #13224).
- πͺ² Bug fix:
st.logodisplays the logo correctly when an app uses top navigation (#13226, #13225). - π Bug fix: Error messages are clearer when width or height are invalidly set to
0(#13206, #12868).
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.