Change8

1.62.0

Breaking Changes
📦 streamlitView on GitHub →
3 breaking14 features🐛 21 fixes1 deprecations🔧 18 symbols

Summary

This release removes the deprecated st.cache API, introduces client-side validation for st.text_input, and adds a `wrap` parameter to various elements for better label control. Several bug fixes improve chart handling, input validation, and component behavior.

⚠️ Breaking Changes

  • The deprecated st.cache API has been removed. Users should migrate to the new caching mechanisms.
  • The savefig kwargs on st.pyplot are deprecated and will be removed in a future release. Users should adjust their code accordingly.
  • Global-figure support in `st.pyplot` has been removed. Ensure figures are explicitly passed to `st.pyplot`.

Migration Steps

  1. Migrate from the deprecated st.cache API to new caching mechanisms.
  2. Adjust code using savefig kwargs on st.pyplot.
  3. Ensure figures are explicitly passed to `st.pyplot` if global-figure support was used.

✨ New Features

  • Selection state return values are now fully typed.
  • Client-side validation has been added to st.text_input.
  • A public streamlit.typing namespace has been added.
  • A `wrap` parameter has been added to button-like elements to control label wrapping.
  • DataEditorState is now exposed in streamlit.typing.
  • Support for `50` step font weights in theme configs has been added.
  • Chart theme config support has been expanded for light/dark/sidebar.
  • Email, URL, phone, and search types have been added to `st.text_input`.
  • A `wrap` control has been added to horizontal st.container.
  • A `wrap` parameter has been added to st.checkbox and st.toggle.
  • A `wrap` parameter has been added to `st.columns` to deactivate responsiveness.
  • A `TimeField` has been added to the `DateTimeInput` calendar popover.
  • An in-error install-skills callout has been added.
  • A `wrap` parameter has been added to st.multiselect.

🐛 Bug Fixes

  • Inline datasets for charts built via alt.Chart.from_json are now preserved.
  • Heading anchors are re-derived when heading text changes on rerun.
  • st.status in an outside container no longer blanks the app.
  • Port auto-increment is restored on Windows.
  • Same-window self-posts are accepted in the host message guard.
  • Starlette is now pinned below 1.4.0.
  • The format='svg' option is now supported in st.pyplot.
  • Nested fragments already re-rendered by a queued ancestor are no longer re-run.
  • Full popover contents are now shown in narrow / embedded viewports.
  • An MD5 fallback for FIPS-limited blake2b has been added.
  • GZip middleware no longer relies on internal Starlette API.
  • Derived `codeBackgroundColor` and `dataframeHeaderBackgroundColor` have been fixed.
  • The cache_data hash sample seed is now configurable.
  • Websockets are now closed on malformed BackMsg instead of leaking a traceback.
  • The server.enableCORS=false startup warning has been corrected.
  • Flaky data_editor number cell perf e2e tests have been stabilized.
  • Timelike st.slider bounds are now validated against the frontend number range.
  • Toasts are now preserved when st.rerun() follows st.toast.
  • Color picker interaction in dialogs has been restored.
  • Metric sparkline is restored after empty chart data.
  • `date_input` and `datetime_input` overflow styling in narrow containers & today indicator have been fixed.

Affected Symbols

⚡ Deprecations

  • savefig kwargs on st.pyplot are deprecated.