Version 1.44.0

Highlights

  • :barber_pole: Introducing advanced theming options! Use an assortment of configuration options to customize the appearance of your app. Change the fonts, colors, and roundness of your app without CSS.
  • :police_officer: Introducing st.badge to insert a colored badge element. You can also include badges in Markdown using a new directive.
  • :building_construction: Use streamlit init in your terminal to create all the local files you need for a new Streamlit app.

Notable Changes

  • :robot: st.exception includes links to open Google or ChatGPT with the contents of the exception. This includes uncaught exceptions displayed in the app.
  • :world_map: You can access the userโ€™s locale through st.context (#10563).

Other Changes

  • :page_facing_up: When using a pages/ directory to automatically generate a multipage app, no pages (including the entrypoint file) can have the same inferred URL pathname (#10276).
  • :racing_car: To improve performance, Streamlit uses the React 18 createRoot API for its frontend (#10453).
  • :memo: To improve compatibility with AI tools, script compilation errors are logged when logger.level="error" and not just when logger.level="debug" (#10826).
  • :wood: Streamlit automatically enables more detailed logging if rich is installed (#10650).
  • :1234: st.slider and st.number_input raise an error when assigned a value in excess of a declared minimum or maximum (#9964, #9342).
  • :hammer_and_wrench: st.table support pandas Styler.set_tooltips() (#10561, #10553).
  • :information_source: Material symbols have been updated to the latest icon set (#10813, #10717).
  • :butterfly: Visual tweaks to headers (#10599).
  • :crab: Bug fix: st.html displays correctly when used inside st.tabs (#10825, #10815).
  • :lizard: Bug fix: For backwards compatibility, theme.font="sans serfi" is internally converted to the new theme.font="sans-serif" (#10789, #10786).
  • :snail: Bug fix: When using st.secrets, if Streamlit canโ€™t find the secrets.toml file, it will raise a FileNotFoundError (#10508, #8559).
  • :spider_web: Bug fix: st.secrets raises a clear TypeError if you try to assign a value to an attribute (#10698, #10107).
  • :cricket: Bug fix: In single-page apps, st.page_link does not highlight external links as if they are the current page (#10690, #10689).
  • :scorpion: Bug fix: st.poppover displays at the correct width when using the help parameter (#10709, #10693).
  • :mosquito: Bug fix: All components (and custom components) that read their width from the DOM initially load with a width of -1 px to prevent flickering (#10712, #10672, #10663, #10644).
  • :microbe: Bug fix: When st.number_input is configured to use integers, the default minimum and maximum values will prevent integer overflow (#10655, #6740).
  • :fly: Bug fix: st.navigation uses immutable types to prevent mypy errors (#10670).
  • :cockroach: Bug fix: Custom components correctly inherit font from theme configuration (#10661, #10660).
  • :spider: Bug fix: Dataframes correctly support Dask data objects (#10662).
  • :lady_beetle: Bug fix: Button widths are correct when using the help parameter (#10658, #10648, #10656).
  • :honeybee: Bug fix: Scrolling is disabled when hovering over st.number_input to prevent accidental value changes (#10642, #8867).
  • :ant: Bug fix: st.chat_input gives a clear error in the UI when the file size limit is exceeded (#10530).
  • :beetle: Bug fix: The favicon and Markdown emojis use the same SVG emoji source for consistency (#10539, #6822).
  • :bug: Bug fix: The dataframe search bar is more responsive to width (#10534, #10532).
8 Likes