2026 release notes

This page contains release notes for Streamlit versions released in 2026. For the latest version of Streamlit, see Release notes.

Release date: February 4, 2026

Notable Changes

  • ๐ŸŽจย The color parameter of st.area_chart, st.bar_chart, st.line_chart, and st.scatter_chart supports the basic color palette which can be configured with theming (#13739, #12694).
  • โ˜ฏ๏ธย You can use the new theme.chartDivergingColors to set default diverging colors for Plotly, Altair, and Vega-Lite charts.
  • ๐Ÿ”—ย You can configure the display of error help links with a new configuration option, client.showErrorLinks (#13472, #11238). Thanks, karubian!
  • ๐Ÿ˜ƒย st.logo supports Material icons and emojis (#13416). Thanks, rahuld109!
  • ๐Ÿฅทย To prevent widgets from resetting when you change a parameter, widgets are transitioning to an identity based only on their keys (if provided). The following widgets use only their key for their identity:
    • st.dataframe (with selections)
    • st.area_chart
    • st.bar_chart
    • st.line_chart
    • st.scatter_chart
    • st.altair_chart
    • st.vegalite_chart
    • st.pydeck_chart
    • st.date_input
    • st.datetime_input
    • st.radio
    • st.select_slider
  • ๐Ÿ‘†ย ListColumn and MultiselectColumn let users select the text of their pills for copying (#13663).
  • ๐Ÿ‘ปย st.experimental_get_query_params and st.experimental_set_query_params have been removed. Use st.query_params instead.
  • โ˜ ๏ธย st.experimental_user has been removed. Use st.user instead.

Other Changes

  • ๐Ÿ‘ฝย The warning about the proposed removal of .add_rows() shows in the browser. Please leave feedback (#13063).
  • ๐ŸฆŽย When a .streamlit/config.toml file is created after a Streamlit app is running, the file watcher will recognize it without restarting the Streamlit server (#13625, #11296).
  • ๐Ÿ”ย Bug fix: Path security validation improves protection against Server-Side Request Forgery (SSRF) and path traversal vulnerabilities (#13733).
  • ๐Ÿ•ธ๏ธย Bug fix: Wildcard URLs display as localhost in the browser URL and console output (#13720, #13712).
  • ๐Ÿฆ—ย Bug fix: Modals and drop-down menus don't collapse the sidebar (#13653).
  • ๐Ÿฆ‚ย Bug fix: st.bar_chart doesn't raise a KeyError when sorting melted data (#13695).
  • ๐ŸฆŸย Bug fix: st.multiselect and st.selectbox don't clear state when a custom class object is selected (#13648, #13646).
  • ๐Ÿฆ ย Bug fix: Transient nodes used for spinners will correctly anchor themselves in the Streamlit DOM to avoid an empty delta path (#13674).
  • ๐Ÿชฐย Bug fix: Snowflake connections will re-initialize if closed (#13665).
  • ๐Ÿชณย Bug fix: Nested containers under a spinner don't raise a Bad delta path index error (#13659, #13658).
  • ๐Ÿ•ท๏ธย Bug fix: SnowflakeConnection.query() correctly passes the params argument to caching (#13652, #13644).
  • ๐Ÿžย Bug fix: client.toolbarMode="viewer" correctly hides developer options from the settings menu (#13623).
  • ๐Ÿย Bug fix: When using the experimental Starlette configuration, Streamlit auth can log users out of your identity provider and surface user tokens, consistent with recent updates (#13571).
  • ๐Ÿœย Bug fix: Streamlit will defensively not load packaged components with missing or invalid component names in their manifests (#13612).
  • ๐Ÿชฒย Bug fix: The width of file chips in st.chat_input was increased to reduce filename truncation (#13589).
  • ๐Ÿ›ย Bug fix: st.bar_chart doesn't raise an error about y-axis minimum and maximum when the bars have all the same value (#13590, #13584).

Release date: January 14, 2026

Highlights

  • โ„๏ธ You can create session-scoped caller's rights connections in Streamlit in Snowflake and other Snowpark Container Services environments.
  • โญ Announcing experimental support for running Streamlit with Starlette with the new server.useStarlette configuration option.
  • ๐ŸŒ Introducing st.App, an experimental ASGI-compatible entry point that enables custom HTTP routes, middleware, lifecycle hooks, and integration with Python web frameworks like FastAPI and Starlette (#13537).
  • ๐Ÿ”‘ You can expose OIDC ID and access tokens in st.user.tokens (#12044). Thanks, velochy!

Notable Changes

  • ๐Ÿšช st.logout logs users out of your identity provider, if supported by your OIDC setup (#12693). Thanks, velochy!
  • ๐ŸŒ€ To prevent unwanted stale elements, especially in chat layouts, Streamlit treats spinners as transient elements and doesn't include them in the element refresh that happens with reruns (#12826, #9239, #10199, #13166).
  • ๐Ÿงฉ For custom components v2, style isolation is set in st.components.v2.component instead of when an instance is mounted (#13518).
  • ๐ŸŽจ To access heading font size and weights in custom components without using JavaScript to parse an array, CSS custom properties in an app include individual properties for each heading font size and weight (#13268).
  • โœ‚๏ธ For custom components v2, html, js, and css are all fully optional (#13511).
  • ๐Ÿ”— BaseConnection has a new class method to scope connections globally or by session (#13506).
  • ๐Ÿ’พ st.cache_data and st.cache_resource can be scoped to a session (#13482, #6703).
  • ๐Ÿงน st.cache_resource has a new parameter on_release to use to clean up resources, like closing connections (#13439, #8674).
  • ๐Ÿท๏ธ st.multiselect doesn't include options in widget identity when a key is provided (#13448, #7855).
  • ๐Ÿ”ข st.number_input doesn't include min and max in widget identity when a key is provided (#13512, #11277).
  • ๐Ÿ“‹ st.selectbox doesn't include options in widget identity when a key is provided (#13383, #6352, #8496, #4854).
  • ๐ŸŽš๏ธ You can format values for st.slider with a new format parameter (#13392, #13243).
  • ๐Ÿ–ผ๏ธ st.dialog has a new icon parameter to add an icon next to the dialog title (#13244, #13202). Thanks, KaranPradhan266!
  • โœ๏ธ You can configure st.data_editor to allow only adding or only deleting rows (#13228, #7091).
  • โžก๏ธ You can display a button icon on the right instead of the left with a new icon_position parameter (#13150, #13069). Thanks, SiddhantSadangi!
  • โ†”๏ธ st.columns, st.container, and st.space support larger and smaller gap and size values (#13345).
  • ๐Ÿ“ฆ You can configure the maximum file size for st.file_uploader and st.chat_input with a new parameter that overrides the server.maxUploadSize configuration option (#12816, #12692, #12579). Thanks, rishabhjain1712!
  • ๐Ÿ“ You can configure the default width of the sidebar with st.set_page_config (#12154, #11980). Thanks, jose-mindwayai!
  • ๐Ÿ“ The options parameter in st.select_slider supports Markdown (#12960, #11774). Thanks, jensonjohnathon!
  • ๐Ÿ“Š The delta and value parameters in st.metric support Markdown (#13094, #11773). Thanks, jensonjohnathon!
  • ๐Ÿ”ฃ You can configure number format in st.metric (#13193, #12229, #6951).
  • ๐ŸŒˆ You can set the color of st.metric delta indicators from the basic color palette (#13153, #4052, #6665).

Other Changes

  • ๐Ÿ”Œ You can exclude the port from your Streamlit auth redirect URI to use the current port (#12251, #12249). Thanks, velochy!
  • ๐Ÿ“› Various custom components v2 types were semantically renamed (#13515).
  • ๐Ÿ“œ When an item is removed from st.multiselect, the scroll position of the drop down is preserved (#13384, #13317). Thanks, kagawa0710!
  • ๐Ÿ Pydantic sequences are treated as dataframe-like by Streamlit commands (#13348, #13344).
  • ๐Ÿ  The logo displayed by st.logo links to the app's homepage (#13222, #13155).
  • โŒจ๏ธ For improved accessibility, tooltips are keyboard focusable (#13379, #13330).
  • โš“ For improved accessibility, anchor links are keyboard focusable (#13378, #13329).
  • ๐Ÿ—บ๏ธ st.json displays a tooltip on hover for each element to show its full path (#13113, #13057).
  • ๐Ÿ’ฌ st.chat_input was redesigned for improved style and accessibility (#13088, #13223, #13364, #13532, #13556, #13546, #13542, #13535, #13554, #13553, #13555, #13547).
  • ๐Ÿ’… Various style updates for consistency (#13536, #13557).
  • ๐Ÿ” st.auth is compatible with Authlib version 1.6.6 (#13333, #13335, #13424).
  • ๐Ÿ‘ฝ Bug fix: Embedded apps respect the theme embedding option when they are configured with a custom theme (#13498, #13496). Thanks, ranmocy!
  • ๐Ÿ‘ป Bug fix: st.number_input accounts for floating point precision when incrementing and decrementing its value (#13484).
  • ๐Ÿฆ€ Bug fix: st.altair_chart correctly displays HConcat and VConcat charts (#13423, #13410).
  • ๐Ÿฆ‹ Bug fix: st.selectbox is initialized correctly when its value is set from Session State (#13438, #13435).
  • ๐ŸฆŽ Bug fix: st.html indents list items correctly (#13437, #13426).
  • ๐ŸŒ Bug fix: A logger message for SnowflakeConnection references the correct URL to the Snowflake docs (#13363, #13361).
  • ๐Ÿ•ธ๏ธ Bug fix: Tooltip text with newlines renders correctly (#13365, #13339).
  • ๐Ÿฆ— Bug fix: The DOM elements within st.spinner are properly aligned when showing elapsed time (#13388, #13387).
  • ๐Ÿฆ‚ Bug fix: Custom components v2 have the same cross-origin behavior as other elements in the app (#13376).
  • ๐ŸฆŸ Bug fix: CSS custom properties in custom components handle null or unset values correctly (#13240).
  • ๐Ÿฆ  Bug fix: Theme preference is persisted into new app sessions (#13306, #13280).
  • ๐Ÿชฐ Bug fix: st.dialog doesn't show stale elements from a previous dialog (#13297, #10907).
  • ๐Ÿชณ Bug fix: st.data_editor behaves correctly when starting with a column of None values (#13309, #13305).
  • ๐Ÿ•ท๏ธ Bug fix: To correctly reflect edits to the theme configuration during development, theme settings are properly hashed (#13173).
  • ๐Ÿž Bug fix: In v2 custom components, app-level keyboard shortcuts (like R for rerun) are disabled in typing contexts to prevent unintentional usage (#13264).
  • ๐Ÿ Bug fix: Custom component v2 includes default values in component identity, unless a key is provided (#13266).
  • ๐Ÿœ Bug fix: The sidebar navigation is correctly hidden when topbar navigation is used (#13227, #13224).
  • ๐Ÿชฒ Bug fix: st.logo displays the logo correctly when an app uses top navigation (#13226, #13225).
  • ๐Ÿ› Bug fix: Error messages are clearer when width or height are invalidly set to 0 (#13206, #12868).
forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.