Change8

1.55.0

Breaking Changes
📦 streamlitView on GitHub →
1 breaking41 features🐛 17 fixes🔧 27 symbols

Summary

This release introduces extensive features for binding widgets to query parameters and enhances Dynamic Containers with callbacks and improved styling across various components. It also includes important security fixes and dependency updates.

⚠️ Breaking Changes

  • Added a deprecation warning to SnowparkConnection. Users should check for usage of SnowparkConnection and prepare for its removal or replacement based on future updates.

✨ New Features

  • Extended sprintf to support thousand separator.
  • Refactored SettingsDialog and added copyable version information.
  • Excluded collapsed expander content from browser find-in-page (Cmd+F).
  • Allowed dynamic changes to st.pills and st.segmented_control options when a key is provided.
  • Added support for cachetools 7.x.
  • Added support for selections on multi-view vega charts.
  • Added `client.allowedOrigins` configuration option.
  • Server now acknowledges app_heartbeat messages received from the client.
  • Added `metricValueFontSize` and `metricValueFontWeight` theme options.
  • Added `width` auto parameter to st.markdown.
  • Enabled binding widgets to query parameters, including FE hooks and support for `color_picker`.
  • Enabled binding widgets to query params for `st.checkbox` & `st.toggle`.
  • Auto-escaped some markdown syntax in markdown labels.
  • Enabled binding widgets to query params for `st.text_input` & `st.text_area`.
  • Added page visibility parameter to `st.Page`.
  • Added `width` and `height` configuration to `st.table`.
  • Enabled binding widgets to query params for `st.radio` & `st.selectbox`.
  • Enabled binding widgets to query params for `st.number_input`.
  • Enabled binding widgets to query params for `st.multiselect`.
  • Introduced Dynamic Popovers.
  • Added select all and select x matches functionality for certain components.
  • Introduced new styling for selectbox and multiselect.
  • Introduced new styling for date and time widgets.
  • Introduced new styling for remaining dropdowns.
  • Added `delta_description` parameter to `st.metric`.
  • Introduced Dynamic Tabs.
  • Added scroll arrows for overflowing tabs in `st.tabs`.
  • Introduced Dynamic Expanders.
  • Enabled binding widgets to query params for `st.slider` & `st.select_slider`.
  • Added custom hex color support for markdown rendering.
  • Added markdown support to page titles in `st.Page`.
  • Enabled binding widgets to query params for `st.pills` & `st.segmented_control`.
  • Enabled binding widgets to query params for `st.date_input`.
  • Added callback support for expanders in DynamicContainers.
  • Updated `MainMenu` component.
  • Added `logger.hideWelcomeMessage` configuration option.
  • Enabled binding widgets to query params for `st.datetime_input` & `st.time_input`.
  • Added callback support for popovers in DynamicContainers.
  • Added callback support for tabs in DynamicContainers.
  • Added `link` parameter to `st.image`.
  • Added markdown support for navigation section headers.

🐛 Bug Fixes

  • Prevented SSRF attacks via path traversal in component file handling.
  • Added support for boolean values for the `client.showErrorLinks` configuration option.
  • Fixed `st.select_slider` `format_func` regression.
  • Initialized all columns when appending rows to `data_editor`.
  • Stopped accepting 0 max selections in `st.multiselect`.
  • Restored layered vconcat width propagation and added regression tests.
  • Added selection support for treemap and sunburst in `st.plotly_chart`.
  • Preserved active tab selection after spinner reruns.
  • Moved copy action in code-block to the toolbar and preserved keyboard accessibility.
  • Fixed st.Page accepting slash-only url_path without raising an exception.
  • Fixed rendering of vconcat charts with faceted/repeated children in vega-lite.
  • Cleared stale date validation UI on form clear.
  • Kept segmented control hover borders visually consistent.
  • Cached SqlConnection.query results per-instance.
  • Fixed `st.metric` with chart_data wrapping in horizontal containers.
  • Normalized all `date_input` session state values to date objects.
  • Fixed spinner clear_transient race condition during rapid reruns.

Affected Symbols