Highlights
Introducing st.experimental_audio_inputto let users record with their microphones!
st.pydeck_chartcan return selection events!
Notable Changes
st.button,st.download_button,st.form_submit_button,st.link_button, andst.popovereach have a new parameter to add an icon.
st.logohas a new parameter to adjust the size of your logo.
st.navigationlets you display an always-expanded or collapsible menu using a newexpandedparameter.
You can set heightandwidthforst.mapandst.pydeck_chart.
Form submission behavior can be configured with a new enter_to_submitparameter (#9480, #7538, #9406, #8042).
A new config option, server.disconnectedSessionTTL, lets you set a minimum time before a disconnected session is cleaned up (#9179).
Dataframes support multi-index headers (#9483, #6319).
Other Changes
Widget keys appear as HTML classes in the DOM with an st-key-prefix (#9295, #5437, #3888).
The StreamlitAPIExceptionclass has been extended into more specific exceptions for some of the most common errors (#9318).
st.mapandst.pydeck_charthave a full-screen toggle that matches the dataframe toolbar.
Frontend dependencies for Vega have been upgraded (#9443, #9438).
Streamlit is compatible with Watchdog version 5 (#9354). Thanks, RubenVanEldik!
Streamlit is compatible with Tenacity version 9 (#9348).
Bug fix: Column configuration will override any text or number format from pandas.Styler(#9538, #7329, #7977).
Bug fix: Deck GL zoom button has the correct border radius (#9536).
Bug fix: Embedded apps have the correct padding to avoid hiding elements (#9524, #9341).
Bug fix: The st.multiselectplaceholder text has the correct color (#9523, #9514).
Bug fix: st.jsonscrolls horizontally instead of overflowing its container (#9521, #9520).
Bug fix: Bokeh charts (temporarily) donโt have a fullscreen button to prevent horizontal scrolling (#9528, #2358).
Bug fix: Users are correctly redirected if they add a trailing slash to a page URL (#9500, #9127).
Bug fix: st.Pagewarns developers against using subdirectories inurl_path, which is not supported (#9499).
Bug fix: Streamlit correctly calculates dataframe widths to prevent Minified React error #185: Maximum update depth exceeded (#9490, #7949).
Bug fix: ScriptRunContext handles the active script hash to avoid a race condition where widgets lose state in a multipage app (#9441, #9100).
Bug fix: PDFs donโt appear as plain text when hosted through static file serving in Streamlit (#9439, #9425).
Bug fix: Fragment elements donโt disappear when used with custom components and callbacks (#9381, #9389, #9372).
Bug fix: Streamlit watches the correct directory for file changes (#9453, #7467).
Bug fix: The sidebar navigation uses page count to determine when to display a โshow moreโ button for more consistent behavior (#9394).
Bug fix: The internal script hash is updated at the beginning of a script run instead of the end for correct page routing when a script run is interrupted (#9408, #8975).
Bug fix: Bold formatting in headers is ignored (#9395, #4248).
Bug fix: Streamlit correctly identifies the MIME type of more files to prevent custom components from not rendering (#9390, #9365). Thanks, t0mdavid-m!
Bug fix: The client.showSidebarNavigationconfiguration option works correctly withst.navigation(#9379).
Bug fix: Streamlit uses example.cominstead oftest.comin a health check to avoid unnecessary warnings (#9371). Thanks, wyattscarpenter!
Bug fix: st.Pagewill raise an error if it tries to initialize a page with an empty path (#9374, #8892).
Bug fix: An unchanged st.dialogcan be programmatically reopened after a user has dismissed it (#9333, #9323).
Bug fix: Streamlit will not remove underscores from declared page titles in st.Page(#9375, #8890).
Bug fix: st.logodoes not flicker when switching pages (#9361, #8815).
Bug fix: st.data_editorallows users to re-add a row with the same index after deleting it (#8864, #8854).
Bug fix: st.logomaintains its aspect ratio when resized to fit within the sidebar width (#9368).
Bug fix: Streamlit correctly removes st.logoif not called during a rerun (#9337, #9336).
Bug fix: st.logodoes not flicker when the sidebar changes its state (#9338).
Bug fix: Streamlit renders st.balloonsandst.snowin a React Portal for improved rendering and compatibility withst.dialog(#9335, #9236).
Bug fix: Option labels are cleanly truncated when st.multiselectis displayed in a narrow container (#9334, #8213).