Change8

1.44.0

Breaking Changes
📦 streamlitView on GitHub →
1 breaking14 features🐛 18 fixes🔧 15 symbols

Summary

Streamlit 1.44.0 introduces a responsive dataframe search bar, new theming options, the `st.badge` component, and several bug fixes, while making secret‑error printing optional and renaming some theming keys.

⚠️ Breaking Changes

  • Printing errors when finding secrets is now optional; code that relied on automatic error output must enable the new option (or configure the behavior) or add explicit error handling.

Migration Steps

  1. If your app relied on automatic printing of secret‑finding errors, enable the new option (e.g., configure the secret handling flag) or add explicit error handling.
  2. Update theming configuration keys: rename `showWidgetBorder` and `showSidebarBorder` to their new names as documented.
  3. Review custom theme settings and incorporate new options such as `headingFont`, `codeBackgroundColor`, and `theme.sidebar` if needed.
  4. Verify any usage of `st.number_input` scrolling or button help commands works as expected (no code changes required).
  5. Consider adopting the new `st.badge` component for badge rendering.

✨ New Features

  • Revamped the dataframe search bar to be more responsive.
  • Updated emoji support and dependencies.
  • Added file size limit error handling for chat input.
  • Introduced theming config `showSidebarSeparator`.
  • Added Pandas Styler tooltips support to `st.table`.
  • Enabled better exception logging when the `rich` library is installed.
  • Utilized React 18 `createRoot` API.
  • Added links for Google and ChatGPT to exception messages.
  • Added custom theming option `headingFont`.
  • Introduced `st.badge` component and Markdown badge support.
  • Added `streamlit init` command.
  • Supported `theme.sidebar` custom theme.
  • Unhid new custom theme options.
  • Added theming config option `theme.codeBackgroundColor`.

🐛 Bug Fixes

  • Defaulted to MPAv2 with graceful degradation and updated related tests.
  • Disabled scrolling within `st.number_input`.
  • Fixed button commands breaking when using `help`.
  • Fixed support for Dask data objects.
  • Ensured `font` theme config is passed to custom components.
  • Fixed custom component flickering.
  • Implemented `withCalculatedWidth` fallback.
  • Used immutable types in `st.navigation` to prevent mypy errors.
  • Added correct out-of-bounds checks for `min_value` and `max_value` in `st.number_input` and `st.slider`, related to `st.session_state`.
  • Added default max/min values for integer `st.number_input`.
  • Fixed width flickering in some components.
  • Ensured popover with help and `use_container_width` renders correctly.
  • Fixed visual and width issues for `st.page_link` current vs non-current pages.
  • Standardized error messages for `st.secrets` attribute assignment.
  • Corrected usage of \"sans serife\" font.
  • Fixed HTML rendering issues in tabs content.
  • Fixed boolean theme configs being skipped.
  • Fixed `createTheme` overriding active theme's baseweb props.

🔧 Affected Symbols

st.tablest.number_inputst.sliderst.page_linkst.secretsst.navigationst.contextst.badgestreamlit.inittheme.showSidebarSeparatortheme.headingFonttheme.codeBackgroundColortheme.sidebartheme.showWidgetBordertheme.showSidebarBorder