Change8

1.48.0

Breaking Changes
📦 streamlitView on GitHub →
1 breaking12 features🐛 21 fixes🔧 19 symbols

Summary

Streamlit 1.48.0 introduces extensive layout enhancements and new UI designs, while fixing numerous bugs and updating Altair constraints; developers should adjust to the new width/height parameters in layout APIs.

⚠️ Breaking Changes

  • Added width/height parameters to st.container and st.columns, which may break existing code that relied on the previous signatures. Update calls to include the new parameters or adjust usage.

Migration Steps

  1. Update any calls to st.container and st.columns to accommodate the new width and height parameters.
  2. If you use st.popover or button elements, add the new width parameter where appropriate.
  3. Review layout code that relies on default container alignment; the new direction, gap, and alignment options may affect layout.
  4. Ensure your Altair version is not 5.4.0 or 5.4.1; downgrade or upgrade to a compatible version as specified in the updated constraints.
  5. If you rely on the previous behavior of st.help header colors, note the change to use bgMix.
  6. Adjust any custom toolbar implementations to account for the MINIMAL mode menu item visibility fix.

✨ New Features

  • Add column info to dataframe column menu.
  • Change button styles.
  • Make crossorigin property configurable for media elements.
  • New design for st.expander and st.status.
  • Option to have non dismissable dialog.
  • Make slider have standard height.
  • [AdvancedLayouts] Adds a width parameter to st.popover.
  • Add new spinner design.
  • Add support for rerunning app when dialog gets dismissed.
  • [AdvancedLayouts] Adds a width parameters to button elements.
  • Make codeFontWeight separately configurable in sidebar.
  • [AdvancedLayouts] Adds direction, gap, horizontal and vertical alignment to st.container.

🐛 Bug Fixes

  • Correctly reset chat input session state value.
  • Fix chart colors not applied in sidebar.
  • Make the topPadding also look to see if there's a sidebar so that it stays consistent.
  • Flaky pydeck selection tests fixed.
  • Make st.feedback correctly use hover color.
  • Fix pills and segmented control element ID.
  • Show correct widget name in button group error messages.
  • Hide quickselect in date_input if min date is more than 2 years ago.
  • Fix design of disabled states.
  • Sidebar toggle state reset on page resize.
  • Make st.help use bgMix for header color.
  • Add top navigation rendering logic based on page and section count.
  • Make st.logout use end_session_endpoint if provided in OIDC config.
  • Accept lists for callback args.
  • Tweak scrollbar handling.
  • Update altair dependency constraints in setup.py to exclude problematic versions 5.4.0 and 5.4.1 due to compatibility issues with the narwhals library.
  • Allow fractional heading font sizes.
  • Configured codeFontWeight handles bold code font.
  • Make toolbar still show custom menu items when in MINIMAL mode.
  • Assign st.line_chart colors by assigned order, not alphabetically.
  • Fix stop signal issue on windows.

🔧 Affected Symbols

st.containerst.columnsst.popoverst.buttonst.expanderst.statusst.dialogst.sliderst.feedbackst.line_chartst.helpst.logoutcodeFontWeightst.sidebarst.date_inputst.pillsst.segmented_controlst.top_navigationst.scrollbar