1.47.0
Breaking Changes📦 streamlitView on GitHub →
⚠ 1 breaking✨ 31 features🐛 28 fixes⚡ 1 deprecations🔧 38 symbols
Summary
This release introduces numerous layout and theming enhancements, adds many new configuration options, and fixes a wide range of bugs, while removing the stretch height API which requires migration of existing vertical layouts.
⚠️ Breaking Changes
- Stretch height and fixed height in vertical layouts were removed from the public API, causing existing layouts that relied on these properties to break. Update your code to use explicit height parameters (e.g., the new height argument on st.metric, st.text_area, etc.) or adjust the layout logic accordingly.
Migration Steps
- Replace any usage of the removed stretch height property with explicit height arguments on affected components (e.g., st.metric, st.text_area, etc.).
- Review layout code that relied on fixed height behavior in vertical layouts and adjust to the new height parameters.
- If you used the deprecated stretch height API, remove those calls and test the UI for expected sizing.
- Update any custom theming that referenced removed properties (e.g., isTransparentBackground) to use the new theming options such as headingFontWeights or headingFontSizes.
- Verify that st.set_page_config calls that previously omitted sidebar/layout configs still work, as None is now accepted.
✨ New Features
- Adds a width parameter to st.html.
- Adds a config option to disable the email prompt.
- Adds a `codeFontSize` theming config option.
- Adds a `linkUnderline` theming config option.
- Improves UX consistency between audio and camera input components.
- Adds background color support to the delta part of st.metric.
- Adds a width parameter to st.feedback, st.pills, and st.segmented_control.
- Adds a `baseFontWeight` theming config option.
- Adds a `dataframeHeaderBackgroundColor` theming config option.
- Adds a `codeFontWeight` theming config option.
- Adds a `width="content"` option to st.code.
- Adds a height parameter to st.metric.
- Adds width parameters to multiselect elements.
- Hides the about dialog unless explicitly enabled.
- Adds support for pandas Styler font-weight in st.dataframe.
- Applies font weight styling to dataframes.
- Adds Markdown support to st.dialog titles.
- Adds support for setting a display icon in LinkColumn.
- Adds a `bytes` formatting option to number and progress columns.
- Adds a `chartCategoricalColors` theming config option.
- Adds quick select functionality to date input.
- Adds a `show_time` parameter to st.cache_data.
- Adds support for setting column config width in pixels.
- Uses `step` to influence column config number formatting.
- Adds a `headingFontWeights` theming config option.
- Adds a height parameter to st.text_area.
- Hides the "Deploy" button when a file‑change message is displayed.
- Makes multipage section headers collapsible.
- Adds a `headingFontSizes` theming config option.
- Adds a `chartSequentialColors` theming config option.
- Adds support to set the value of st.chat_input via session state.
🐛 Bug Fixes
- st.set_page_config now accepts None for sidebar/layout configs.
- Cherry‑picked three top‑nav adjacent bugs from the 1.46.0 release.
- Fixed a runtime error with the event‑based file watcher.
- Empty expanders and containers now display with a border.
- Fixed a timer bug.
- Resolved regressions introduced via the top navigation component.
- Ensured websocket_ping_interval is at least websocket_ping_timeout.
- st.form now uses overflow:auto only when a fixed height is provided.
- Fixed inline code rendering when unsafe_allow_html=True.
- Corrected top padding when printing.
- Refactored Header component to remove the isTransparentBackground prop and adjust background logic.
- Altair/Vega/built‑in charts now stretch to full width in fullscreen mode.
- Fixed sidebar font weight and spacing for sections.
- Updated Glide data grid to address upstream issues.
- Dataframe error indicator now adapts to theme sizing.
- Fixed progress column label measurement.
- Made file watcher more error‑resistant.
- Column visibility menu now closes on toolbar click.
- st.multiselect placeholder now works when options are empty.
- Upgraded Vite to version 7.
- Fixed code text sizing in tooltips.
- Cleared the script cache when all file watchers are disconnected.
- Eliminated sidebar flickering when initial_sidebar_state="collapsed".
- Fixed flicker on facet Altair charts.
- Improved file watcher exception handling.
- Fixed initial page MPA regression.
- Fixed issue with missing fragment after reconnect.
- Switched from vh to dvh to support dynamic height changes.
🔧 Affected Symbols
st.htmlst.metricst.feedbackst.pillsst.segmented_controlst.codest.multiselectst.dialogLinkColumnnumber columnprogress columnst.date_inputst.cache_datast.column_configst.text_areast.about_dialogst.dataframepandas.Stylerst.set_page_configst.navigationevent based watcherst.expanderst.containertimerst.formunsafe_allow_htmlHeader componentAltair chartsVega chartssidebarglide data griddataframe error indicatorfile watchercolumn visibility menuVitetooltipsscript cachest.chat_input⚡ Deprecations
- The stretch height property has been removed from the public API; replace any usage with explicit height settings or the new width/height parameters on affected components.