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.66.0 (latest)
Release date: October 14, 2026
Highlights
- π Introducing the
theme.paddingTopandtheme.paddingBottomconfig options, so you can set the space between the app chrome and your page content, with optional[theme.sidebar]overrides (#17350, #6336). - π Announcing
on_change="ignore"for every stateful widget, so a new value updates the widget and any bound query parameter without a rerun, and Python receives it on the next rerun (#5827). This release adds the remaining widgets:st.pillsandst.segmented_control(#17307, #17452).st.feedback(#17281).st.color_picker(#17209).st.datetime_input(#17267).st.camera_inputandst.audio_input(#17246, #17328).st.data_editor(#17347).st.pagination(#17397).
Notable Changes
- π§ Apps have a "Skip to main content" link and
<main>and<nav>landmarks for keyboard and screen-reader users. Custom CSS selectors likesection[data-testid="stMain"]should drop the tag (#17418, #17338, #17416). - π§ͺ
AppTestsupports more elements:at.formandat.form_submit_buttonlet you look up forms by key and click their submit buttons (#17229).at.link_buttonandat.page_link(#17308).at.progress,at.html, andat.help(#17280).at.paginationcan select a page for the next run (#17322).at.audio_inputandat.camera_inputcan stage a recording or photo for the next run (#17346, #17459).
- π Streamlit supports Python 3.15 (#17426, #17422).
- π» Due to end of life, Python 3.10 is no longer supported. The minimum supported versions of NumPy, pandas, Pillow, and PyArrow are raised to releases with Python 3.11 wheels (#17315).
Other Changes
- π¦
httptoolsis now an optional dependency. Installstreamlit[performance]to keep Uvicorn's faster HTTP parser (#16554). - πΏ Streamlit no longer requires the
tomldependency (#17315, #17342). - β Streamlit logs a startup warning when
websockets17 or later is installed withuvicornolder than 0.52.0, a combination that can break the WebSocket handshake behind proxies that forward non-ASCII headers (#17115, #16030). - π Bug fix:
st.switch_pageandst.page_linkreject Windows network and device paths before resolving them, so untrusted input can't trigger an SMB connection (#17301). - π¦ Bug fix: A disabled
st.download_buttonwith a callabledataargument no longer registers a download that can run the callable (#17288). - πͺ² Bug fix: Apps embedded in an iframe sandboxed without
allow-same-originrender instead of staying blank (#17409, #17402). - π Bug fix: A run that is stopped or replaced while waiting for another run's cached value exits promptly instead of holding a thread (#17340).
- π Bug fix: Streamlit logs an error at startup when
secrets.tomlcan't be parsed, instead of silently continuing with empty secrets (#17428). - π Bug fix: Checking for a missing
st.*attribute withhasattrorgetattrno longer imports modules, which could raise aRuntimeErrorin code that iteratessys.modules(#17311, #17298). - π·οΈ Bug fix: A fragment callback that only calls
st.switch_pageorst.stopno longer logs a false warning about displaying elements (#17292). - πͺ³ Bug fix: Keyed containers no longer trigger React key warnings or remount while a rerun is in progress (#17456).
- πͺ° Bug fix: Side-by-side elements line up better:
height="stretch"elements in horizontal containers match the tallest element in their row, and vertically alignedst.columnsfill the row height (#17392). - π¦ Bug fix: Stretch-height charts fall back to their default height when nothing gives them one, and stretch-height containers and forms grow to fit their content (#17410, #17424).
- π¦ Bug fix:
st.echarts_charttooltips use the theme's font weight and round long numbers (#17333). - π¦ Bug fix:
st.pydeck_charttooltips appear at the cursor instead of above it (#17313, #17309). - π¦ Bug fix: Buttons, checkboxes, toggles, and other labels show a hover tooltip only when their text is cut off (#17266, #17264).
- πΈοΈ Bug fix: Muted icon buttons in widgets, such as clear and microphone buttons, share one color treatment and are no longer tinted by a custom
theme.grayColor(#17231). - π Bug fix: Screen readers skip Material icons and decorative images, and icon-only controls have accessible names (#17170, #12873).
- π¦ Bug fix: The sidebar's expand and collapse buttons report their state with
aria-expanded. Custom CSS or scripts that readaria-expandedon the sidebar should usedata-collapsedinstead (#17293). - π¦ Bug fix:
st.date_inputandst.datetime_inputhave a calendar button that keyboard users can reach with Tab and that reports its state to screen readers (#17294, #17296, #17316). - π½ Bug fix:
st.selectboxandst.multiselectlet screen readers announce the active option while you type (#17295, #16841). - π» Bug fix: Type hints for
st.connection,st.query_params,st.secrets, andst.session_statematch runtime behavior more closely (#17245, #17419, #17460, #17466). - π Bug fix:
AppTestlayout collections such asat.expanderandat.tabscan be looked up by key (#17256). - π¦ Bug fix:
AppTestkeepspersist_state="page"widget values and selected tabs across reruns of the same page (#17305, #17249). - πͺ² Bug fix:
AppTestrenders imported Custom Components v2, includingst.pdf, in everyAppTestinstance in the same process (#17331, #17216).
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.