pypi / streamlit
streamlit
What changed in streamlit 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
4 breaking4 security49 new APIs and options5 behavior and defaults28 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initstreamlit 190 changes
Breaking changes 4
Python 3.10 support is dropped, affecting the Python versions developers can use to run Streamlit.
Makes writes to st.secrets a type error.
Removes the expired mapbox.token configuration option.
Rejects async cache_resource lifecycle callbacks.
Security 4
Rejects unsafe navigation network paths.
Renders apps in opaque sandboxed iframes.
Unauthenticated SSRF Vulnerability in Streamlit on Windows (NTLM Credential Exposure)
Streamlit @st.cache_data hash collision via fixed sampling seed and PIL P-mode palette omission
New APIs and options 49
Adds AppTest support for forms, link_button, page_link, progress, html, help, pagination, audio_input, camera_input, and imported v2 components.
Adds on_change="ignore" mode to prevent the widget from triggering a rerun when its value changes.
Adds on_change="ignore" mode to prevent the widget from triggering a rerun when its value changes.
Adds on_change="ignore" mode to prevent the widget from triggering a rerun when its value changes.
Adds on_change="ignore" mode to prevent the widget from triggering a rerun when its value changes.
Adds on_change="ignore" mode to prevent the widget from triggering a rerun when its value changes.
Adds on_change="ignore" mode to prevent the widget from triggering a rerun when its value changes.
Adds on_change="ignore" mode to prevent the widget from triggering a rerun when its value changes.
Adds on_change="ignore" mode to prevent the widget from triggering a rerun when its value changes.
Adds on_change="ignore" mode to prevent the widget from triggering a rerun when its value changes.
Adds the paddingBottom theme configuration option.
Adds the paddingTop theme configuration option.
Adds alt text support to built-in Vega chart commands.
Adds a theme option for dataframe header text color.
Adds alt text support.
Adds an alt parameter.
Adds an ignore mode for on_change.
Adds alt text support.
Adds alt text support.
Adds an ignore mode for on_change.
Can render as a side drawer using position.
Adds alt text support.
Supports query param binding.
Adds an ignore mode for on_change.
Adds alt text support.
Adds an alt parameter.
Adds alt text support.
Adds alt text support.
Adds alt text support.
Adds an ignore mode for on_change.
Adds a required parameter.
Adds alt text support.
Adds alt text support.
Adds alt text support.
Adds alt text support.
Adds an ignore mode for on_change.
Adds alt text support.
Supports query param binding for tabs.
Adds an ignore mode for on_change.
Adds a required parameter.
Adds an ignore mode for on_change.
Adds an ignore mode for on_change.
Adds alt text support.
Adds an alt parameter.
Adds native Apache ECharts support through st.echarts_chart.
Adds an on_change="ignore" mode so number_input changes can avoid triggering a rerun.
Adds an on_change="ignore" mode to st.select_slider.
Adds an on_change="ignore" mode to st.selectbox.
Adds the live parameter to st.text_input.
Behavior and default changes 5
Adds support for Python 3.15.
Supports pasting a full date range into the widget.
Supports calling asyncio.get_event_loop() in scripts.
Makes st.cache_data async-aware.
Makes st.cache_resource async-aware.
Fixes and other changes 28
Makes AppTest layout collections callable.
Keeps page widget state on rerun.
Releases abandoned runs waiting on a cache.
Revokes callables for disabled download buttons.
Makes httptools an optional dependency.
Surfaces parse errors when secrets.toml is malformed.
Attribute probes no longer import modules.
Improves alignment of elements placed side by side.
Aligns st.connection overloads with runtime behavior.
Makes stretch containers grow with their content.
Makes stretch forms grow with their content.
Aligns pydeck tooltips with the cursor.
Tightens the types accepted when writing query parameters.
Announces the active select option while typing.
Types iterated session state keys as str.
Skips stale keyed blocks during reruns.
Accepts use_column_width as a no-op for compatibility.
Synchronizes query params when navigating backward or forward in the browser on the same page.
Rejects awaitables returned from synchronous cached functions.
Adds dict methods to AppTest.session_state.
Prevents in-flight Custom Components v2 triggers from being dropped.
Encodes unsafe download filenames when placing them in a quoted header.
Rejects unsupported on_change modes.
Rejects inverted st.number_input minimum and maximum bounds.
Honors pydeck views when rendering st.pydeck_chart.
Exposes st.radio captions as option descriptions.
Keeps widget values after a body-level st.rerun.
Swaps reversed st.slider minimum and maximum bounds.