Highlights
-
Introducing
@st.cache_data
and@st.cache_resource
— two new caching commands to replacest.cache
! Check out our blog post and documentation for more information.
Notable Changes
-
st.columns
supports up to one level of column nesting (i.e., columns inside columns) in the main area of the app. -
st.progress
supports adding a message to display above the progress bar with thetext
keyword parameter. -
↔️
st.button
has an optionaluse_container_width
parameter to allow you to stretch buttons across the full container width. -
We formally added support for Python 3.11.
-
Save your app as a PDF via the “Print” option in your app’s hamburger menu.
-
Apps can serve small, static media files via the
enableStaticServing
config option. See our documentation on how to use this feature and our demo app for an example.
Other Changes
-
All Streamlit endpoints (including
/healthz
) have been renamed to have a consistent pattern and avoid any clashes with reserved endpoints of GCP (notably Cloud Run and App Engine) (#5534). -
Improved caching performance when multiple sessions access an uncomputed cached value simultaneously (#6017).
-
Streamlit only displays deprecation warnings in the browser when the
client.showErrorDetails
config option is set toTrue
. Deprecation warnings always get logged to the console, regardless of whether they’re displayed in-browser (#5945). -
Refactored the
st.dataframe
internals to improve dataframe handling and conversion, such as detecting more types, converting key-value dicts to dataframes, and more (#6026, #6023). -
The behavior of widget labels when they are passed unsupported Markdown elements is documented (#5978).
-
Bug fix: Plotly improvements — upgraded multiple frontend dependencies, including Plotly, to the latest version to properly redraw cached charts, make Plotly mapbox animations work, and allow users to update the figure layout when using the Streamlit theme (#5885, #5967, #6055).
-
Bug fix: allow browser tabs that transiently disconnect (due to a network blip, load balancer timeout, etc.) to avoid losing all of their state (#5856).
-
Bug fix: the keyboard is hidden on mobile when
st.selectbox
andst.multiselect
have less than 10 options (#5979). -
Bug fix: design tweaks to
st.metric
,st.multiselect
,st.tabs
, and menu items to prevent label overflow and scrolling issues, especially with small viewport sizes (#5933, #6034). -
Bug fix: switched to a functioning Twemoji URL from which page favicons are loaded in
st.set_page_config
(#5943).