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:

Terminal
pip install --upgrade streamlit

Release date: October 2, 2026

Highlights

Notable Changes

Other Changes

  • πŸ’‘ Mistyped or removed st.* commands raise an AttributeError that suggests the correct name or replacement (#16912).
  • πŸ’¬ Session State mutation errors show the exact st.session_state[key] expression and how to fix it (#17016).
  • πŸ“¦ Streamlit can be installed alongside websockets 17.x (#17113, #17097).
  • πŸ› Bug fix: st.query_params follows the URL when browser back/forward changes only the query string on the same page (#16989, #13963).
  • πŸ¦‹ Bug fix: Widgets bound to query parameters restore their values from the URL on browser back/forward (#16998, #13853).
  • πŸͺ² Bug fix: Ctrl+C and SIGTERM stop the server even when an app script is stuck in a loop (#17022, #2975).
  • 🐜 Bug fix: Dialogs opened from a fragment stay responsive when that fragment reruns (#17039, #17011).
  • 🐝 Bug fix: Keyed widgets that first appear after a Session State write show the stored value instead of their default (#17106, #17093).
  • 🐞 Bug fix: st.data_editor keeps leading decimals, so typing .07 commits 0.07 instead of 7 (#16920, #16909).
  • πŸ•·οΈ Bug fix: Clearing a dataframe selection through Session State a second time also unchecks the rows in the grid (#17224, #17195).
  • πŸͺ³ Bug fix: LinkColumn shows the :material/open_in_new: icon in narrow columns instead of truncated text (#17090, #14782).
  • πŸͺ° Bug fix: st.chat_input placed in st.bottom no longer triggers scroll-to-bottom for the app (#16980, #16977).
  • 🦠 Bug fix: Pressing Enter in a form submits with the correct button when the first submit button is disabled (#17171).
  • 🦟 Bug fix: Synchronous st.cache_data and st.cache_resource functions that return an awaitable raise a clear error instead of a confusing serialization failure (#16921).
  • πŸ¦‚ Bug fix: st.image accepts the removed use_column_width parameter with a warning instead of raising a TypeError (#16999).
  • πŸ¦— Bug fix: st.image and st.pyplot no longer use list indexes as alt text, and st.image links with unsafe URL schemes render as plain images (#17136).
  • πŸ•ΈοΈ Bug fix: Element toolbar buttons include the element's alt text in their accessible names and have a 24px minimum target size (#17211, #17225, #16148, #17127).
  • 🐌 Bug fix: Range-mode st.date_input validation errors say the date is outside the allowed range instead of naming the wrong field (#16983).
  • 🦎 Bug fix: Range-mode st.date_input cancels a half-finished calendar selection when the app changes its value (#16984).
  • πŸ¦€ Bug fix: st.date_input clears partly typed dates when a clear_on_submit form resets (#16985).
  • πŸ‘½ Bug fix: st.date_input and st.datetime_input keep their clear and error icons visible in narrow layouts (#16986).
  • πŸ‘» Bug fix: Unchecked st.checkbox and st.radio options show a hover state again, matching secondary buttons (#17034, #17035).
  • πŸ› Bug fix: A custom theme.borderColor no longer fills the off track of st.toggle or the main menu's auto-rerun toggle (#17079, #17083).
  • πŸ¦‹ Bug fix: The visible sidebar border gets stronger on hover when theme.showSidebarBorder is enabled (#17071, #12803).
  • πŸͺ² Bug fix: Keyboard events without a key no longer throw errors in global hotkeys or non-dismissible dialogs (#17105, #17111, #17082, #17107).
  • 🐜 Bug fix: CacheReplayClosureError names the layout block instead of showing a $THING placeholder (#17065).
  • 🐝 Bug fix: AppTest form widgets commit their values only when the form is submitted, matching the browser (#16972).
  • 🐞 Bug fix: AppTest.get() accepts the same element names as AppTest attributes, such as datetime_input and pills (#17000).
  • πŸ•·οΈ Bug fix: AppTest lists st.expander elements with an icon under at.expander instead of at.status (#17162).
  • πŸͺ³ Bug fix: AppTest supports st.space through at.space (#17208).
forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.