Hello there πŸ‘‹

Thanks for stopping by! We use cookies to help us understand how you interact with our website.

By clicking β€œAccept all”, you consent to our use of cookies. For more information, please see our privacy policy.

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: July 16, 2025

Highlights

  • 🎨 Streamlit has additional theming configuration options!
    • theme.baseFontWeight: Set the root font weight of text in the app.
    • theme.chartCategoricalColors: Configure default categorical colors for Plotly, Altair, and Vega-Lite charts.
    • theme.chartSequentialColors: Configure default sequential colors for Plotly, Altair, and Vega-Lite charts.
    • theme.codeFontWeight: Set the font weight of code text.
    • theme.dataframeHeaderBackgroundColor: Set the background color of dataframe headers.
    • theme.headingFontSizes: Set the font sizes of headings.
    • theme.headingFontWeights: Set the font weights of headings.
    • theme.linkUnderline: Configure whether to underline links.

Notable Changes

Other Changes

  • 🧭 Section labels in the sidebar navigation widget are collapsible (#11863).
  • πŸ“‚ The "Deploy" button is hidden when the "File change" notification is visible in the app chrome (#11834).
  • πŸ” When using top navigation in an app, the header has more padding (#11836).
  • πŸͺœ In NumberColumn, the precision from step will override the display precision from format, unless format is a printf string (#11835).
  • πŸ“… When st.date_input accepts a date range, the widget displays a quick-select option below the calendar for common date ranges (#10166, #11108).
  • πŸ‹οΈ Dataframes support font weight defined in pandas Styler objects (#11705, #6461).
  • πŸ«₯ The about dialog does not show by default in the app menu. The current Streamlit version is displayed in the settings dialog (#10091).
  • πŸ’… st.metric uses a background color for the delta value, like st.badge (#11678).
  • πŸ’» IDEs can give type hints for .clear() on cached functions (#11793, #11821). Thanks, whitphx!
  • πŸ”„ Bug swap: To prevent a multipage app regression, st.context.theme does not automatically rerun the app on first load. In some cases, st.context.theme may not be correct until the first rerun (#11870, #11797).
  • 🧹 Bug fix: st.chat_input displays correctly at the bottom of the screen in mobile view (#11896, #11722, #11891).
  • ⏳ Bug fix: When a WebSocket reconnects, the app will fully rerun to prevent missing fragments (#11890, #11660).
  • πŸͺ± Bug fix: To reduce No such file or directory errors, the file watcher has more robust exception handling and clearer logging (#11871, #11841, #11809, #11728).
  • πŸ’© Bug fix: Vega-Lite facet charts do not flicker (#11833).
  • ☠️ Bug fix: When the initial sidebar state is set to "collapsed", the sidebar correctly loads in a collapsed state without flickering open (#11861, #11848).
  • πŸ‘½ Bug fix: To prevent apps from being out of sync with their current code at a later time, Streamlit clears the script cache when all file watchers disconnect (#11876, #11739). Thanks, diwu-sf!
  • πŸ‘» Bug fix: Inline code in tooltips has the same relative size as inline code in other Markdown text (#11877).
  • πŸ¦€ Bug fix: st.multiselect and st.selectbox display the correct placeholder text when accept_new_options=True (#11623, #11609).
  • πŸ¦‹ Bug fix: The column visibility menu can be closed by toggling the toolbar icon (#11857, #11801).
  • 🦎 Bug fix: Progress bar columns in dataframes have the correct padding between the bar and its label (#11685).
  • 🐌 Bug fix: The warning indicator in a dataframe cell adapts to theme configuration (#11682).
  • πŸ•ΈοΈ Bug fix: To fix multiple visual and UX bugs in dataframe, glide-data-grid was updated (#11677, #8310, #9498, #9471).
  • πŸ¦— Bug fix: In the sidebar navigation widget, font spacing and weight were adjust for visual clarity (#11814).
  • πŸ¦‚ Bug fix: Altair charts correctly resize in width to match their container (#11807, #11802).
  • 🦟 Bug fix: The running-man icon matches the theme configuration (#11461, #11371). Thanks, TreavVasu!
  • 🦠 Bug fix: The top header background is correctly opaque when it contains elements (#11787, #11785).
  • πŸͺ° Bug fix: Extra top padding is removed when printing (#11798).
  • πŸͺ³ Bug fix: Markdown inline code displays correctly when unsafe_allow_html=True (#11817, #11800). Thanks, bajajku!
  • πŸ•·οΈ Bug fix: The WebSocket ping interval does not exceed the timeout interval (#11693, #11670).
  • 🐞 Bug fix: The sidebar state initialized correctly on Community Cloud and page content slides and resizes correctly in response to the sidebar (#11732, #11702, #11710).
  • 🐝 Bug fix: The timer in st.spinner uses system time to prevent pausing when the user focuses on another browser tab (#11756, #11720).
  • 🐜 Bug fix: Empty containers with borders and empty expanders are visible before elements are added to them (#11669).
  • πŸͺ² Bug fix: st.audio_input and st.camera_input have consistent appearances (#11699, #11700).
  • πŸ› Bug fix: To prevent a race condition, the file watcher correctly applies a lock to watched paths (#11692, #11691).
forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.