Version 1.47.0

Highlights

  • :artist_palette: Streamlit has additional theming configuration options!
    • theme.baseFontWeight: Set the root font weight of text in the app.
    • theme.chartCategoricalColors: Configure default categorical colors for Plotly, Altair, and Vega-Lite charts.
    • theme.chartSequentialColors: Configure default sequential colors for Plotly, Altair, and Vega-Lite charts.
    • theme.codeFontWeight: Set the font weight of code text.
    • theme.dataframeHeaderBackgroundColor: Set the background color of dataframe headers.
    • theme.headingFontSizes: Set the font sizes of headings.
    • theme.headingFontWeights: Set the font weights of headings.
    • theme.linkUnderline: Configure whether to underline links.

Notable Changes

Other Changes

  • :compass: Section labels in the sidebar navigation widget are collapsible (#11863).
  • :open_file_folder: The “Deploy” button is hidden when the “File change” notification is visible in the app chrome (#11834).
  • :top_arrow: When using top navigation in an app, the header has more padding (#11836).
  • :ladder: In NumberColumn, the precision from step will override the display precision from format, unless format is a printf string (#11835).
  • :date: When st.date_input accepts a date range, the widget displays a quick-select option below the calendar for common date ranges (#10166, #11108).
  • :person_lifting_weights: Dataframes support font weight defined in pandas Styler objects (#11705, #6461).
  • :dotted_line_face: The about dialog does not show by default in the app menu. The current Streamlit version is displayed in the settings dialog (#10091).
  • :nail_polish: st.metric uses a background color for the delta value, like st.badge (#11678).
  • :laptop: IDEs can give type hints for .clear() on cached functions (#11793, #11821). Thanks, whitphx!
  • :counterclockwise_arrows_button: Bug swap: To prevent a multipage app regression, st.context.theme does not automatically rerun the app on first load. In some cases, st.context.theme may not be correct until the first rerun (#11870, #11797).
  • :broom: Bug fix: st.chat_input displays correctly at the bottom of the screen in mobile view (#11896, #11722, #11891).
  • :hourglass_not_done: Bug fix: When a WebSocket reconnects, the app will fully rerun to prevent missing fragments (#11890, #11660).
  • :worm: Bug fix: To reduce No such file or directory errors, the file watcher has more robust exception handling and clearer logging (#11871, #11841, #11809, #11728).
  • :poop: Bug fix: Vega-Lite facet charts do not flicker (#11833).
  • :skull_and_crossbones: Bug fix: When the initial sidebar state is set to "collapsed", the sidebar correctly loads in a collapsed state without flickering open (#11861, #11848).
  • :alien: Bug fix: To prevent apps from being out of sync with their current code at a later time, Streamlit clears the script cache when all file watchers disconnect (#11876, #11739). Thanks, diwu-sf!
  • :ghost: Bug fix: Inline code in tooltips has the same relative size as inline code in other Markdown text (#11877).
  • :crab: Bug fix: st.multiselect and st.selectbox display the correct placeholder text when accept_new_options=True (#11623, #11609).
  • :butterfly: Bug fix: The column visibility menu can be closed by toggling the toolbar icon (#11857, #11801).
  • :lizard: Bug fix: Progress bar columns in dataframes have the correct padding between the bar and its label (#11685).
  • :snail: Bug fix: The warning indicator in a dataframe cell adapts to theme configuration (#11682).
  • :spider_web: Bug fix: To fix multiple visual and UX bugs in dataframe, glide-data-grid was updated (#11677, #8310, #9498, #9471).
  • :cricket: Bug fix: In the sidebar navigation widget, font spacing and weight were adjust for visual clarity (#11814).
  • :scorpion: Bug fix: Altair charts correctly resize in width to match their container (#11807, #11802).
  • :mosquito: Bug fix: The running-man icon matches the theme configuration (#11461, #11371). Thanks, TreavVasu!
  • :microbe: Bug fix: The top header background is correctly opaque when it contains elements (#11787, #11785).
  • :fly: Bug fix: Extra top padding is removed when printing (#11798).
  • :cockroach: Bug fix: Markdown inline code displays correctly when unsafe_allow_html=True (#11817, #11800). Thanks, bajajku!
  • :spider: Bug fix: The WebSocket ping interval does not exceed the timeout interval (#11693, #11670).
  • :lady_beetle: Bug fix: The sidebar state initialized correctly on Community Cloud and page content slides and resizes correctly in response to the sidebar (#11732, #11702, #11710).
  • :honeybee: Bug fix: The timer in st.spinner uses system time to prevent pausing when the user focuses on another browser tab (#11756, #11720).
  • :ant: Bug fix: Empty containers with borders and empty expanders are visible before elements are added to them (#11669).
  • :beetle: Bug fix: st.audio_input and st.camera_input have consistent appearances (#11699, #11700).
  • :bug: Bug fix: To prevent a race condition, the file watcher correctly applies a lock to watched paths (#11692, #11691).
4 Likes