Welcome to Streamlit 👋 v1.58.0 Release Notes
Release Date: 2026-05-28 // 14 days ago-
What's Changed
💥 Breaking Changes 🛠
- 🚚 [chore] Remove deprecated
add_rowsfeature by @lukasmasuch in #15034 - 🚚 [chore] Remove langchain callback handler integration by @lukasmasuch in #15051
🆕 New Features 🎉
- [feature] Add custom script error handling via
st.Appby @lukasmasuch in #14972 - [feature] Add
st.paginationwidget by @lukasmasuch in #14975 - 💅 [feat] Add
typeparameter to st.expander and st.status for compact style by @lukasmasuch in #14054 - [feature][ParallelFragments] Add parallel=True dispatch to @st.fragment by @sfc-gh-lwilby-1 in #15214
- [feature] Add API restrictions for parallel fragments by @sfc-gh-lwilby-1 in #15251
- [feature] Add
streamlit skillsCLI command by @lukasmasuch in #15116
🐛 Bug Fixes 🐛
- [fix] Selectbox first item hidden when 7 options selected by @kmcgrady in #14997
- [fix] Defer sys.modules eviction to script-run boundary (#14593) by @sfc-gh-lwilby in #14826
- [fix] OAuth MismatchingStateError regression in 1.57.0 by @lukasmasuch in #15048
- [fix] Programmatically closed popovers/expanders reopening on interaction with another by @kmcgrady in #14945
- 👍 [fix] Support symlinks in Starlette static file serving by @lukasmasuch in #15112
- ⚡️ [feature] Sync URL when session_state updates query-param-bound widgets by @sfc-gh-lwilby in #14744
- 🛠 fix: add usedforsecurity=False to blake2b for FIPS compatibility by @andriykislitsyn in #15149
- 🛠 fix(fragment): prevent stale auto-reruns from crashing apps by @sfc-gh-bnisco in #15130
- [fix] Block javascript: and vbscript: URLs in markdown links by @lukasmasuch in #15161
- ⏪ Set Max-Age on st.login() cookies to restore 30-day persistence by @GiovanniPaoloGibilisco in #15194
- 🔊 [fix] Fix Vega-Lite chart tooltips in dialogs by @marawanokasha in #15191
- 👍 [fix] Help icon for unsafe_allow_html=True in st.markdown by @sfc-gh-bnisco in #15232
- [fix] Discover script-level .streamlit/config.toml when st.App runs under uvicorn by @sfc-gh-bnisco in #15218
- 💻 [fix] Warn when st.button shortcut is browser-reserved by @sfc-gh-bnisco in #15217
- 🛠 fix(auth): migrate provider tokens to joserfc by @sfc-gh-bnisco in #15178
- 🛠 Fix browser Back/Forward navigation for pages with Unicode URL paths by @lukasmasuch in #15281
- ⏪ [fix] Restore Starlette OAuth PKCE behavior by @lukasmasuch in #15282
- [fix] Disable Select all in multiselect for >=1000 options by @lukasmasuch in #15301
- 🛠 Fix accidental overscrolling in table, dataframe, and data_editor by @kantuni in #15309
Other Changes
- ⚡️ [chore] Update emojis/material icons by @github-actions[bot] in #14948
- 🚀 [chore] Release v1.57.0 by @github-actions[bot] in #14962
- ⏱ [fix] Reduce external IP fetch timeout to avoid startup freeze by @lukasmasuch in #14984
- Adjust widget/icon sizing - Part 1 by @mayagbarnes in #15056
- ⚡️ [chore] Update emojis/material icons by @github-actions[bot] in #15134
- Adjust widget/icon sizing - Part 2 by @mayagbarnes in #15098
- ⚡️ [chore] Update emojis/material icons by @github-actions[bot] in #15236
🆕 New Contributors
- @simjega made their first contribution in #14927
- @andriykislitsyn made their first contribution in #15149
- @GiovanniPaoloGibilisco made their first contribution in #15194
- @marawanokasha made their first contribution in #15191
Full Changelog : 1.57.0...1.58.0
- 🚚 [chore] Remove deprecated
Previous changes from v1.57.0
-
What's Changed
💥 Breaking Changes 🛠
- 🚚 [feature] Make Starlette the default server and remove Tornado by @lukasmasuch in #14553
- [chore] Remove deprecated kwargs from
plotly_chartandvega_lite_chartby @lukasmasuch in #14800 - [chore] Remove deprecated
_get_websocket_headersfunction by @lukasmasuch in #14801 - [feature] Direct polars to arrow conversion bypassing pandas by @lukasmasuch in #14885
🆕 New Features 🎉
- 💅 [feature] Hide chevron for menu-style icon labels for
st.menu_buttonandst.popoverby @lukasmasuch in #14697 - ✅ [feature] Add pills, segmented_control properties and dataframe key to AppTest by @lukasmasuch in #14518
- [feature] Add
titleparameter to alert elements by @lukasmasuch in #14665 - [feat] Add
:shimmer[]markdown directive for animated loading text by @lukasmasuch in #14055 - [feature] Expose
Appin thestnamespace by @lukasmasuch in #14722 - 📦 Bundle OSS developing-with-streamlit core skills in pip package by @sfc-gh-nbellante in #14745
- [fix] Add border radius to video and map elements by @lukasmasuch in #14781
- [feature] Add
secretsparameter tost.Appby @lukasmasuch in #14861 - ➕ Add app and theme templates to bundled skills by @sfc-gh-nbellante in #14746
- [feature] Expose
st.bottomcontainer by @lukasmasuch in #14726
🐛 Bug Fixes 🐛
- [feature] Deduplicate equivalent file extensions in file uploader display by @lukasmasuch in #14552
- [fix]
st.dataframecrash with pandas 3 ArrowStringArray by @lukasmasuch in #14611 - 🛠 fix(caching): chain original exception in UnserializableReturnValueError by @mango766 in #14655
- [fix] inconsistent space encoding in query params by @sfc-gh-lwilby in #14691
- [fix] Preserve
Nonevalues inst.data_editorwith pandas 3.0+ by @lukasmasuch in #14694 - 👍 [Fix] Add CSS Color Level 4 support by @mayagbarnes in #14674
- [fix] Evict namespace children when watched sources reload by @sfc-gh-lwilby in #14708
- [fix] Downcast large Arrow types in custom component v1 serialization by @sfc-gh-nbellante in #14617
- [fix] Retain st.radio selection for format_func and custom options by @sfc-gh-lwilby in #14815
- 🛠 Fix bar_chart axis labels not swapping when horizontal=True by @kmcgrady in #14866
- [fix] st.text_area height='content' sizing on initial load by @lukasmasuch in #14884
Other Changes
- ⚡️ [chore] Update emojis/material icons by @github-actions[bot] in #14576
- 🚀 [chore] Release v1.56.0 by @github-actions[bot] in #14598
- 📄 Docs for dataframe programmatic selections by @MathCatsAnd in #14616
- ⚡️ [chore] Update emojis/material icons by @github-actions[bot] in #14649
- ⚡️ [chore] Update emojis/material icons by @github-actions[bot] in #14752
- ⚡️ [chore] Update emojis/material icons by @github-actions[bot] in #14869
- 📄 Docs for audio and video columns by @MathCatsAnd in #14628
🆕 New Contributors
- @dagecko made their first contribution in #14554
- @mango766 made their first contribution in #14655
- @sfc-gh-wschmitt made their first contribution in #14922
Full Changelog : 1.56.0...1.57.0