Change8

1.57.0

Breaking Changes
📦 streamlitView on GitHub →
4 breaking10 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

  1. If your application relied on Tornado as the server, you must update your configuration to use Starlette or another supported server.
  2. 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.

Affected Symbols