Version 1.39.0

Highlights

Notable Changes

Other Changes

  • :key: Widget keys appear as HTML classes in the DOM with an st-key- prefix (#9295, #5437, #3888).
  • :mag: The StreamlitAPIException class has been extended into more specific exceptions for some of the most common errors (#9318).
  • :world_map: st.map and st.pydeck_chart have a full-screen toggle that matches the dataframe toolbar.
  • :arrow_up: Frontend dependencies for Vega have been upgraded (#9443, #9438).
  • :male_detective: Streamlit is compatible with Watchdog version 5 (#9354). Thanks, RubenVanEldik!
  • :repeat: Streamlit is compatible with Tenacity version 9 (#9348).
  • :1234: Bug fix: Column configuration will override any text or number format from pandas.Styler (#9538, #7329, #7977).
  • :butterfly: Bug fix: Deck GL zoom button has the correct border radius (#9536).
  • :shrimp: Bug fix: Embedded apps have the correct padding to avoid hiding elements (#9524, #9341).
  • :art: Bug fix: The st.multiselect placeholder text has the correct color (#9523, #9514).
  • :broom: Bug fix: st.json scrolls horizontally instead of overflowing its container (#9521, #9520).
  • :wind_face: Bug fix: Bokeh charts (temporarily) don’t have a fullscreen button to prevent horizontal scrolling (#9528, #2358).
  • :blowfish: Bug fix: Users are correctly redirected if they add a trailing slash to a page URL (#9500, #9127).
  • :file_folder: Bug fix: st.Page warns developers against using subdirectories in url_path, which is not supported (#9499).
  • :poop: Bug fix: Streamlit correctly calculates dataframe widths to prevent Minified React error #185: Maximum update depth exceeded (#9490, #7949).
  • :skull_and_crossbones: Bug fix: ScriptRunContext handles the active script hash to avoid a race condition where widgets lose state in a multipage app (#9441, #9100).
  • :worm: Bug fix: PDFs don’t appear as plain text when hosted through static file serving in Streamlit (#9439, #9425).
  • :ghost: Bug fix: Fragment elements don’t disappear when used with custom components and callbacks (#9381, #9389, #9372).
  • :alien: Bug fix: Streamlit watches the correct directory for file changes (#9453, #7467).
  • :crab: Bug fix: The sidebar navigation uses page count to determine when to display a “show more” button for more consistent behavior (#9394).
  • :lizard: 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).
  • :snail: Bug fix: Bold formatting in headers is ignored (#9395, #4248).
  • :spider_web: Bug fix: Streamlit correctly identifies the MIME type of more files to prevent custom components from not rendering (#9390, #9365). Thanks, t0mdavid-m!
  • :cricket: Bug fix: The client.showSidebarNavigation configuration option works correctly with st.navigation (#9379).
  • :scorpion: Bug fix: Streamlit uses example.com instead of test.com in a health check to avoid unnecessary warnings (#9371). Thanks, wyattscarpenter!
  • :mosquito: Bug fix: st.Page will raise an error if it tries to initialize a page with an empty path (#9374, #8892).
  • :microbe: Bug fix: An unchanged st.dialog can be programmatically reopened after a user has dismissed it (#9333, #9323).
  • :fly: Bug fix: Streamlit will not remove underscores from declared page titles in st.Page (#9375, #8890).
  • :cockroach: Bug fix: st.logo does not flicker when switching pages (#9361, #8815).
  • :spider: Bug fix: st.data_editor allows users to re-add a row with the same index after deleting it (#8864, #8854).
  • :lady_beetle: Bug fix: st.logo maintains its aspect ratio when resized to fit within the sidebar width (#9368).
  • :honeybee: Bug fix: Streamlit correctly removes st.logo if not called during a rerun (#9337, #9336).
  • :ant: Bug fix: st.logo does not flicker when the sidebar changes its state (#9338).
  • :beetle: Bug fix: Streamlit renders st.balloons and st.snow in a React Portal for improved rendering and compatibility with st.dialog (#9335, #9236).
  • :bug: Bug fix: Option labels are cleanly truncated when st.multiselect is displayed in a narrow container (#9334, #8213).
13 Likes