Alert: We’ve discovered an inefficient use of CPU for Streamlit version 1.32.0 and 1.32.1 and blocked their use on Community Cloud. Patch 1.32.2 has been released on PyPi and is available for development and deployment to Community Cloud.
Highlights
Introducing st.popoverto create popover elements in your Streamlit apps. Check out the docs to see how to use it!
Notable Changes
You can now pass subtitles to st.video! Check out our feature demo.
AppTestincludes support forst.expanderandst.status.
AppTest.from_functionaccepts a function that takes arguments and/or returns a value.
The timeout warning for custom components was replaced with an element skeleton to improve the UX for slow-loading components, especially in some cloud-hosted platforms (#8179, #7046).
st.switch_pageandst.page_linkreceived significant improvements to path handling, performance, and visual appearance (see below for details).
Bug fix: Streamlit uses glide-data-gridversion 6.0.4 to fix a variety of dataframe issues (#7779, #6900, #7032, #7727, #6810, #7930, #7949, #7831, #8168).
Bug fix: We’ve plugged a significant memory leak in the coroutine loop. Apps that generate a large number of small messages between client and server will benefit greatly (#8068, #7989, #6510).
Other Changes
Multiple modules are now lazy-loaded to speed up Streamlit’s import time (#8150, #8143, #8134, #8113, #8125, #8111, #8109, #6066).
st.writesupportsPILimages (#8039).
st.radioallows markdown links within the items passed tooptions(#8028, #7992).
The deprecation.showPyplotGlobalUseconfig option is deprecated and will be removed in the subsequent release (#8133).
Streamlit supports AzureOpenAI chat stream (#8107, #8084).
The /healthzendpoint supports the HTTP HEAD method (#8145, #8144). Thanks, rahulmistri1997!
The cacheparameter forst.spinneris now private (_cache) since it’s for internal use (#8118).
Session storage is checked and expired asynchronously to improve performance and efficiency of apps with lower traffic (#8083).
st.write_streamraises a descriptiveExceptionwhen the message cannot be parsed (#8036).
Fixed a typo in the examples for st.switch_pageandst.page_link(#8162). Thanks, t1emp0!
Bug fix: st.helpcorrectly displays conditional members (#8228).
Bug fix: App State fully clears on page change to prevent lingering stale elements (#8208).
Bug fix: st.info,st.success,st.warning, andst.errordon’t overflow with long markdown strings (#8194, #6394).
Bug fix: Streamlit shows a warning that port 3000 is reserved for development when the server port is set to 3000 (#8152, #8149).
Bug fix: st.page_linkandst.switch_pagehave improved path calculation for consistency (#8127).
Bug fix: st.page_linkshows the correct path in browser on hover (#8086, #8080).
Bug fix: st.page_linkandst.switch_pagenormalize paths for correct handling in Windows (#8103, #8070).
Bug fix: Script runner uses a while loop instead of recursion to avoid stack overflows (#8100).
Bug fix: st.page_linkandst.switch_pagecorrectly handle relative paths prefixed with"/"(#8085, #8081).
Bug fix: st.imageparses paths in Windows correctly (#8092, #7271, #6066).
Bug fix: st.switch_pageno longer waits for the current page to finish running before switching pages (#8054, #7954).
Bug fix: st.mapand other simple charts correctly handle color when data is not indexed starting from 0 (#8158, #8079, #8077). Thanks, awhazell!
Bug fix: st.selectbox,st.multiselect,st.select_slider, andst.radiouse shallow copies of their options to prevent unexpected mutations (#8064, #7534).
Bug fix: The selected time in st.time_inputdisplays correctly in dark mode (#8056, #7436).
Bug fix: Dataframe scrollbars display correctly in the latest version of Chrome (#8034).
Bug fix: Casting st.query_paramstostrwill print the content of the query parameters instead of the class description (#8030).




