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.

star

Tip

To upgrade to the latest version of Streamlit, run:

pip install --upgrade streamlit

Release date: October 1, 2024

Highlights

Notable Changes

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 and st.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 in url_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 with st.navigation (#9379).
  • 🦂 Bug fix: Streamlit uses example.com instead of test.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 and st.snow in a React Portal for improved rendering and compatibility with st.dialog (#9335, #9236).
  • 🐛 Bug fix: Option labels are cleanly truncated when st.multiselect is displayed in a narrow container (#9334, #8213).
forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.