1.52.0
Breaking Changes📦 streamlitView on GitHub →
⚠ 3 breaking✨ 24 features🐛 21 fixes⚡ 2 deprecations🔧 30 symbols
Summary
Streamlit 1.51.0 introduces numerous UI enhancements, new widget parameters, and performance improvements, while removing native bokeh chart support and deprecating certain APIs.
⚠️ Breaking Changes
- Native bokeh chart support has been removed; replace `st.bokeh_chart` usage with alternative chart libraries or custom components.
- `add_rows` command now includes a deprecation note; update code to avoid relying on deprecated behavior and migrate to newer data handling APIs.
- Keyword‑argument support for `st.vega_lite_chart` is deprecated; stop passing kwargs and use the explicit parameters instead.
Migration Steps
- Remove any usage of `st.bokeh_chart` or other native bokeh chart APIs.
- Update calls to `add_rows` to follow the new non‑deprecated behavior or replace them with alternative data‑handling functions.
- Stop passing arbitrary keyword arguments to `st.vega_lite_chart`; use the explicit parameters documented in the API.
- For `st.file_uploader` and `st.camera_input`, provide a stable `key` argument to maintain widget state across reruns.
✨ New Features
- Support width="content" on `st.container`.
- Add `height="content"` to `st.dataframe` and `st.data_editor`.
- Add height support to `st.plotly_chart`.
- Add `accept_audio` parameter to enable audio recording in `st.chat_input`.
- Add `help` argument and tooltip to `st.badge`.
- Add frontend for executing JavaScript in `st.html`.
- Use `key` as the main identity for `st.file_uploader` widget.
- Use `key` as the main identity for `st.camera_input` widget.
- Add microphone permission‑denied error handling to audio components.
- Implement missing placeholder for `st.dataframe`.
- Show warning when hiding index in dynamic data editor.
- Add deferred download button.
- Add text alignment parameter to `st.text`.
- Add support for setting spinner as `icon`.
- Add official support for Python 3.14.
- Introduce a new datetime input widget.
- Allow configuring delta arrow in `st.metric`.
- Add text alignment for heading elements.
- Support passing query parameters to `st.switch_page`.
- Add `audio_sample_rate` parameter to `st.chat_input` for customizable recording quality.
- Add optional `uvloop` support for better event‑loop performance.
- Allow configuring keyboard shortcuts on buttons.
- Support passing query parameters to `st.page_link`.
- Add `text_alignment` parameter to markdown elements.
🐛 Bug Fixes
- Fix negative height calculation in `st.text_area`.
- Fix `MultiselectColumn` issue when starting with empty rows.
- Fix `MultiselectColumn` shape error when adding data.
- Fix font fallback and sidebar page navigation font.
- Fix disabled widgets showing border when `showWidgetBorder=true`.
- Fix wrapping regression for `st.pills` and `st.segmented_control`.
- Fix minimum width constraint for `st.color_picker`.
- Improve metric sparkline hovering efficiency.
- Fix date picker icon visibility in dark mode for `st.dataframe`.
- Fix visual regression with `st.audio_input` waveform.
- Bump `js-yaml` from 3.14.1 to 3.14.2 in component library.
- Do not print warning for placeholder CCv2 definitions.
- Fix icon wrapping with minimum width enforcement in `st.feedback`.
- Remove upper bound for the `packaging` package.
- Fix empty Markdown code blocks rendering as “undefined”.
- Fix segmented control wrapping issue.
- Ensure key is reflective of data argument in CCv2 instances.
- Fix query parameters not preserved on back navigation.
- Enable better file uploading on Android.
- Reclassify Auth Callback Error to Warning.
- Improve `st.line_chart` hovering performance.
🔧 Affected Symbols
st.bokeh_chartadd_rowsst.vega_lite_chartst.containerst.dataframest.data_editorst.plotly_chartst.chat_inputst.badgest.htmlst.file_uploaderst.camera_inputst.metricst.switch_pagest.page_linkst.textst.spinnerst.text_areast.pillsst.segmented_controlst.color_pickerst.feedbackst.audio_inputst.line_chartMultiselectColumnFormsContextScriptRunContextThemeContextNavigationContextSidebarConfigContext⚡ Deprecations
- `add_rows` command is deprecated.
- Keyword‑argument support for `st.vega_lite_chart` is deprecated.