1.44.0
Breaking Changes📦 streamlitView on GitHub →
⚠ 1 breaking✨ 14 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
- 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.
- Update theming configuration keys: rename `showWidgetBorder` and `showSidebarBorder` to their new names as documented.
- Review custom theme settings and incorporate new options such as `headingFont`, `codeBackgroundColor`, and `theme.sidebar` if needed.
- Verify any usage of `st.number_input` scrolling or button help commands works as expected (no code changes required).
- 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