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.39.0 (latest)
Release date: October 1, 2024
Highlights
- 🎤 Introducing
st.experimental_audio_input
to let users record with their microphones! - 📍
st.pydeck_chart
can return selection events!
Notable Changes
- 😃
st.button
,st.download_button
,st.form_submit_button
,st.link_button
, andst.popover
each have a new parameter to add an icon. - 🏢
st.logo
has a new parameter to adjust the size of your logo. - 🧭
st.navigation
lets you display an always-expanded or collapsible menu using a newexpanded
parameter. - ↕️ You can set
height
andwidth
forst.map
andst.pydeck_chart
. - ↩️ Form submission behavior can be configured with a new
enter_to_submit
parameter (#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
StreamlitAPIException
class has been extended into more specific exceptions for some of the most common errors (#9318). - 🗺️
st.map
andst.pydeck_chart
have 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.multiselect
placeholder text has the correct color (#9523, #9514). - 🧹 Bug fix:
st.json
scrolls 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.Page
warns 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.showSidebarNavigation
configuration option works correctly withst.navigation
(#9379). - 🦂 Bug fix: Streamlit uses
example.com
instead oftest.com
in a health check to avoid unnecessary warnings (#9371). Thanks, wyattscarpenter! - 🦟 Bug fix:
st.Page
will raise an error if it tries to initialize a page with an empty path (#9374, #8892). - 🦠 Bug fix: An unchanged
st.dialog
can 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.logo
does not flicker when switching pages (#9361, #8815). - 🕷️ Bug fix:
st.data_editor
allows users to re-add a row with the same index after deleting it (#8864, #8854). - 🐞 Bug fix:
st.logo
maintains its aspect ratio when resized to fit within the sidebar width (#9368). - 🐝 Bug fix: Streamlit correctly removes
st.logo
if not called during a rerun (#9337, #9336). - 🐜 Bug fix:
st.logo
does not flicker when the sidebar changes its state (#9338). - 🪲 Bug fix: Streamlit renders
st.balloons
andst.snow
in a React Portal for improved rendering and compatibility withst.dialog
(#9335, #9236). - 🐛 Bug fix: Option labels are cleanly truncated when
st.multiselect
is displayed in a narrow container (#9334, #8213).
Older versions of Streamlit
- 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.