Change8

1.56.0

📦 streamlitView on GitHub →
25 features🐛 16 fixes🔧 24 symbols

Summary

This release introduces numerous new features across widgets like `st.navigation`, `st.dataframe`, and `st.chat_input`, alongside critical bug fixes, including compatibility updates for Python 3.14 and pandas 3.x.

Migration Steps

  1. If using `BidiComponentResult`, rename it to `ComponentResult`.

✨ New Features

  • Allow specifying number of visible items via `expanded` in `st.navigation`.
  • Add `on_click` rerun support to `st.link_button`.
  • Add file type shortcuts for `st.file_uploader` and `st.chat_input`.
  • Allow programmatically setting `st.dataframe` selections.
  • Extract leading icon from alert body.
  • Serve static files with native content types.
  • Allow external URLs in st.Page for navigation sidebar.
  • Add `AudioColumn` and `VideoColumn` to `st.column_config`.
  • Add `st.menu_button` widget.
  • Add `hide_index` and `hide_header` to `st.table`.
  • Add `height` parameter to `st.chat_input`.
  • Add `st.file_uploader` support to AppTest.
  • Always show the dataframe column visibility menu.
  • Add support for relative static file serving URLs in media elements.
  • Add `alignment` parameter to `column_config` columns.
  • Complete incomplete markdown syntax during streaming.
  • Stable Block.id for passive keyed layout containers.
  • `st.tabs` state persistence and CSS key class.
  • `st.expander` & `st.popover` state persistence and CSS key class.
  • Add `required` parameter to `st.pills` and `st.segmented_control`.
  • Add support for pandas 3.x.
  • Add `single-row-required` selection mode to `st.dataframe`.
  • Add `autoscroll` parameter to `st.container`.
  • Add filter mode to select widgets.
  • Add `st.iframe` command.

🐛 Bug Fixes

  • Allow running streamlit with python optimization.
  • Fix `st.text_area` `height="content"` not working.
  • Fix stale anchor preserved when clearing transient nodes.
  • Initialize BidiComponentManager in AppTest mock runtime.
  • Python 3.14 PEP 649 annotation compatibility across `inspect.signature()` calls.
  • Restore tooltip on st.multiselect selected options.
  • Restore reactJsonViewCompat shim for local dev server.
  • Restore bound query params in URL with MPA.
  • st.exception links overflow at small widths.
  • Remove heading padding in horizontal containers for proper alignment.
  • Streaming markdown with color directives shows artifact.
  • Add Windows stability check to file watcher to reduce false positives.
  • Update server.port after binding to port 0.
  • Add border to main menu in dark mode.
  • OpenMetrics compliance for `session_duration` metric.
  • Fix programmatic dataframe selections to return AttributeDictionary.

Affected Symbols