1.57.0
Breaking Changes📦 streamlitView on GitHub →
⚠ 4 breaking✨ 10 features🐛 11 fixes🔧 13 symbols
Summary
This release switches the default server to Starlette, removes Tornado, and introduces several new features like animated loading text (:shimmer[]) and the st.bottom container. Numerous bug fixes address compatibility with pandas 3.0+ and improve widget behavior.
⚠️ Breaking Changes
- Starlette is now the default server; Tornado has been removed. Users relying on Tornado must switch to Starlette or another supported server.
- Deprecated keyword arguments have been removed from `plotly_chart` and `vega_lite_chart`.
- The internal function `_get_websocket_headers` has been removed.
- Direct conversion from polars to arrow now bypasses pandas.
Migration Steps
- If your application relied on Tornado as the server, you must update your configuration to use Starlette or another supported server.
- Review calls to `plotly_chart` and `vega_lite_chart` to remove any previously deprecated keyword arguments.
✨ New Features
- Added the ability to hide the chevron for menu-style icon labels in `st.menu_button` and `st.popover`.
- Added `pills`, `segmented_control` properties, and a `dataframe` key to AppTest.
- Added a `title` parameter to alert elements.
- Introduced the `:shimmer[]` markdown directive for animated loading text.
- Exposed `App` in the `st` namespace.
- Bundled OSS developing-with-streamlit core skills into the pip package.
- Added border radius to video and map elements.
- Added a `secrets` parameter to `st.App`.
- Added app and theme templates to bundled skills.
- Exposed the `st.bottom` container.
🐛 Bug Fixes
- Deduplicated equivalent file extensions displayed in the file uploader.
- Fixed a crash in `st.dataframe` when using pandas 3 with ArrowStringArray.
- Chained the original exception in `UnserializableReturnValueError` for caching issues.
- Fixed inconsistent space encoding in query parameters.
- Preserved `None` values in `st.data_editor` when using pandas 3.0+.
- Added support for CSS Color Level 4.
- Evicted namespace children when watched sources reload.
- Downcasted large Arrow types during custom component v1 serialization.
- Retained `st.radio` selection when using `format_func` and custom options.
- Fixed bar chart axis labels not swapping correctly when `horizontal=True`.
- Fixed `st.text_area` height='content' sizing on initial load.