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:
Terminal
pip install --upgrade streamlit
Version 1.63.0 (latest)
Release date: September 1, 2026
Highlights
- π― Introducing event-scoped fragment reruns, which let a widget callback rerun just one named fragment:
- Name a fragment with
@st.fragment(key=β¦)and target it withst.rerun("filters")orst.rerun(["alpha", "beta"])from anon_changeoron_clickcallback (#16161). st.rerun()andst.switch_page()now take effect inside widget callbacks instead of being discarded with a warning; apps that relied on the previous no-op will now rerun (#16158).
- Name a fragment with
- β¨ Introducing
on_change="ignore", a new mode that updates a widget in the browser without rerunning your app. Your script receives the buffered value on the next rerun, such as a button click, and the mode is available onst.sliderandst.text_input(#14828, #16605). - πΏ Introducing
type="step"forst.expanderandst.status, which renders containers as a connected timeline β well suited to showing an agent's or a pipeline's progress (#16558, #13248).
Notable Changes
- π The
wrapparameter introduced in 1.62.0 extends to more commands:st.pillsandst.segmented_controlacceptwrapto keep options on one horizontally scrollable row (#16369, #13516).st.markdown,st.title,st.header,st.subheader,st.caption, andst.textacceptwrap=Falseto keep long copy on one ellipsized line (#16617, #12583).- Controls placed directly in
st.columnsnow default to no wrapping so neighboring controls keep the same height; passwrap=Trueto restore wrapping (#16578).
- π’
st.multiselecthas a newselect_allparameter to always show, never show, or threshold the "Select all" bulk action, and pressing Enter now selects the first row (#16673, #16537). - πΌ
st.title,st.header, andst.subheaderhave a newiconparameter that renders a leading emoji or Material Symbol scaled to the heading (#16418, #11752). - π§ͺ
AppTestis more robust: apps using unimplemented commands stay inspectable, interacting with a disabled widget raises, container keys are exposed throughat.container(key=β¦)andat.get_by_key(), andswitch_page()resolves pages registered byst.navigation(#16711, #9814, #12844, #13163, #16611). - β The new
runner.cacheBackgroundRefreshTTLMultiplierconfig option widens or narrows the stale-while-revalidate window forrefresh_mode="background"caches (#16599).
Other Changes
- π¨ Invalid API usage raises specific
StreamlitAPIExceptionsubclasses for missing, incompatible, out-of-range, and wrongly typed parameters instead of generic Streamlit,TypeError, orValueErrorfailures (#16508, #16637, #16656, #16668, #16690, #16701, #16707). - π
st.spinnerkeeps animating at a slower rate underprefers-reduced-motionand exposes its label as an accessible status, so paused motion is not mistaken for a hung app (#16620, #16598). - π
st.contextsupports key notation sost.context["timezone"]matchesst.context.timezone,st.user.is_logged_inis typed asbool, and the documentedst.user.tokensnames surface in autocompletion (#16710). - π Bug fix: The install-skills prompt shown with local error messages sizes its action labels to match the card's text (#16482).
- π¦ Bug fix:
st.coderenders very long inputs instead of failing with a call-stack error, by skipping syntax highlighting past a line-count threshold (#16567, #11996). - πͺ² Bug fix:
st.date_inputandst.datetime_inputno longer crash for values near Python's minimum and maximum dates when no explicit bounds are given (#16582, #7427). - π Bug fix:
st.menu_buttondropdowns and JSON path tooltips stay interactive insidest.dialog(#16583). - π Bug fix: Pressing Cmd/Ctrl+C no longer opens the clear-cache dialog when the modifier is released before the C key (#16615).
- π Bug fix: Markdown list items holding a long unbreakable token wrap inside narrow containers instead of overflowing them (#16632, #16618).
- π·οΈ Bug fix: Type checkers infer the documented return types for
st.plotly_chart,st.pydeck_chart,st.file_uploader,st.chat_input, andst.selectboxwhen arguments are omitted or not literals (#16633, #16630). - πͺ³ Bug fix: Embedded apps forward the full guest-to-host
postMessagestream to in-iframe hosts, which unblocks metrics events whenmetricsUrlis"postMessage"(#16647, #16644). - πͺ° Bug fix: Ctrl/Cmd+A selects the typed filter text in
st.multiselectinstead of being intercepted as a bulk-select shortcut (#16650). - π¦ Bug fix:
st.datetime_inputkeeps a time entered before a date, so completing the date commits the time on screen instead of midnight (#16664). - π¦ Bug fix: Invalid-color errors render their valid formats as a list, and object reprs with uppercase hexadecimal addresses take the same
st.writeandst.helppath on Windows as elsewhere (#16683, #16674, #16677). - π¦ Bug fix: The calendar header shows the year matching the visible grid when
min_valueandmax_valuecross a year boundary (#16706, #16686). - π¦ Bug fix: File uploads no longer hang when in-process ASGI middleware such as Sentry has already read the request body (#16709, #16697).
- πΈοΈ Bug fix: Library warnings that previously appeared only as in-app alerts also log to the server console with a stack trace, so CLI users and coding agents can see them (#16717).
Older versions of Streamlit
- 2026 release notes
- 2025 release notes
- 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.