Change8

1.59.0

Breaking Changes
📦 streamlitView on GitHub →
2 breaking22 features🐛 19 fixes🔧 12 symbols

Summary

This release introduces significant new features like ButtonColumn in column_config, support for pasting files into chat_input, and Mermaid diagram support in markdown. It also includes numerous bug fixes addressing issues in metrics, fragments, and various widgets.

⚠️ Breaking Changes

  • The default behavior for memory stats in the /_stcore/metrics endpoint has been changed to be cheap.
  • The deprecated Snowpark connection functionality has been removed.

Migration Steps

  1. If you relied on the deprecated Snowpark connection mechanism, you must update your connection logic.

✨ New Features

  • Added ButtonColumn support to st.column_config.
  • Added "locked" option for initial_sidebar_state in st.set_page_config.
  • Added list support to programmatic secrets.
  • Added recommendation for installing skills on app startup.
  • Added AppTest support for download_button and image.
  • Added column statistics submenu to st.dataframe.
  • Added streamlit docs <command> lookup functionality.
  • Added MarkdownColumn for st.dataframe and st.data_editor.
  • Added App.run() method to launch via python app.py or uv run app.py.
  • Added support for pasting files into st.chat_input.
  • Added server.xsrfCookieSameSite configuration option.
  • Added mermaid diagram support in st.markdown.
  • Added support for OpenAI Responses API streams in st.write_stream.
  • Fragment reruns now reset outside wrappers.
  • Fragments can now write into outside containers.
  • Added per-user analytics on the metrics endpoint.
  • Added skeleton element for loading placeholder UI.
  • Added anchors parameter to st.markdown.
  • Added resolution parameter to st.camera_input.
  • Added in-app install-skills nudge toast.
  • Added submit_mode parameter to st.chat_input.
  • Added persist_state widget parameter.

🐛 Bug Fixes

  • Fixed metrics endpoint error when using SQLAlchemy connections.
  • Fixed TypeError in _run_with_thread_state when using @st.fragment(run_every=...).
  • Fixed P-mode PIL palette hashing to prevent hash collisions.
  • Fixed usage of named Snowflake connection from config file.
  • Fixed binding of IPv6 dual-stack wildcard for default server address.
  • Fixed clearing of stale and invalid auth cookies on login.
  • Fixed synchronization of widgetMgr to resolve tab.open lazy loading issues.
  • Fixed discovery of installed CCv2 components in AppTest.
  • Prevented resetting of page title on rerun.
  • Fixed acceptance of formatted labels in AppTest format_func widgets.
  • Fixed callback functionality for st.pills and st.segmented_control.
  • Defaulted to polling file watcher in WSL environments.
  • Prevented "Missing Submit Button" flash on app load.
  • Improved explanation of multi-replica cause in invalid session upload errors.
  • Fixed selectbox selection retention when format_func depends on object identity.
  • Prevented ESC key from clearing st.multiselect selection.
  • Validated StreamlitPage source matches registered page.
  • Ignored dataframe Ctrl+F shortcut when search is disabled.
  • Prevented line wrapping in dataframe column menu.

Affected Symbols