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
- 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
st.navigationst.link_buttonst.file_uploaderst.chat_inputst.dataframest.alertst.Pagest.column_configst.menu_buttonst.tablest.tabsst.expanderst.popoverst.pillsst.segmented_controlst.containerst.select_widgetsst.iframest.text_areainspect.signaturest.multiselectsession_duration metricComponentResultBidiComponentResult