Streamlit Versions Save

Streamlit β€” A faster way to build and share data apps.

1.23.0

11 months ago

1.22.0

1 year ago

Highlights

  • πŸ”Œ Introducing st.experimental_connection: Easily connect your app to data sources and APIs using our new connection feature. Find more details in our blog post and the API reference, and stay tuned for in-depth documentation! In the meantime, explore our updated MySQL and Snowflake connection tutorials for examples of this feature.

Notable Changes

  • 🐼 Streamlit now supports Pandas 2.0 (#6413, #6378, #6507). Thanks, connortann!
  • πŸ” Customize the visibility of items in the toolbar, options menu, and the settings dialog using the client.toolbarMode config option (#6174).
  • πŸͺ΅ Streamlit logs now reside in the "streamlit" namespace instead of the root logger, enabling app developers to better manage log handling (#3978, #6377).

Other Changes

  • πŸ” CLI parameters can no longer be used to set sensitive configuration values (#6376).
  • πŸ€– Improved the debugging experience by reducing log noise (#6391).
  • 🐞 Bug fix: @st.cache_data decorated functions support UUID objects as parameters (#6440, #6459).
  • πŸ› Bug fix: Tabbing through buttons and other elements now displays a red border only when focused, not when clicked (#6373).
  • πŸͺ² Bug fix: st.multiselect's clear icon is larger and includes a hover effect (#6471).
  • 🐜 Bug fix: Custom theme font settings no longer apply to code blocks (#6484, #6535).
  • ©️ Bug fix: st.code's copy-to-clipboard button appears when you hover on code blocks (#6490, #6498).

1.21.0

1 year ago

Highlights

  • πŸ“ Introducing st.divider β€” a command that displays a horizontal line in your app. Learn how to use this command in its API reference.
  • πŸ” Streamlit now supports the use of a global secrets.toml file, in addition to a project-level file, to easily store and securely access your secrets. Learn more in Secrets management.
  • πŸš€ st.help has been revamped to show more information about object methods, attributes, classes, and more, which is great for debugging!

Notable Changes

  • πŸͺœ st.time_input supports adding a stepping interval with the keyword-only step parameter (#6071).
  • ❓ Most text elements can include tooltips with the help parameter (#6043).
  • ↔️ st.pyplot has a use_container_width parameter to set the chart to the container width (now all chart elements support this parameter) (#6067).
  • πŸ‘©β€πŸ’» st.code supports optionally displaying line numbers to the code block’s left with the boolean line_numbers parameter (#5756, #6042).
  • βš“ Anchors in header elements can be turned off by setting anchor=False (#6158).

Other Changes

  • 🐼 st.table and st.dataframe support pandas.Period, and number and boolean types in categorical columns (#2547, #5429, #5329, #6248).
  • πŸ•ΈοΈ Added .webp to the list of allowed static file extensions (#6331)
  • 🐞 Bug fix: stop script execution on websocket close to immediately clear session information (#6166, #6204).
  • 🐜 Bug fixes: updated allowed/disallowed label markdown behavior such that unsupported elements are unwrapped and only their children (text contents) render (#5872, #6036, #6054, #6163).
  • πŸͺ² Bug fixes: don’t push browser history states on rerun, use HTTPS to load external resources in streamlit hello, and make the browser back button work for multipage apps (#5292, #6266, #6232). Thanks, whitphx!
  • 🐝 Bug fix: avoid showing emoji on non-UTF-8 terminals. (#2284, #6088). Thanks, kcarnold!
  • πŸ“ Bug fix: override default use of File System Access API for react-dropzone so that st.file_uploader's File Selection Dialog only shows file types corresponding to those included in the type parameter (#6176, #6315).
  • πŸ’Ύ Bug fix: make the .clear() method on cache-decorated functions work (#6310, #6321).
  • πŸƒ Bug fix: st.experimental_get_query_params doesn’t need reruns to work (#6347, #6348). Thanks, PaleNeutron!
  • πŸ› Bug fix: CachedStFunctionWarning mentions experimental_allow_widgets instead of the deprecated suppress_st_warning (#6216, #6217).

1.20.0

1 year ago

Notable Changes

  • πŸ” Added support for configuring SSL to serve apps directly over HTTPS (#5969).
  • πŸ–ΌοΈ Granular control over app embedding behavior with the /?embed and /?embed_options query parameters. Learn how to use this feature in our docs (#6011, #6019).
  • ⚑ Enabled the runner.fastReruns configuration option by default to make apps much more responsive to user interaction (#6200).

Other Changes

  • πŸ” Cleaned up the hamburger menu by removing the least used options (#6080).
  • πŸ–¨οΈ Design changes to ensure apps being printed or saved as a PDF look good (#6180).
  • 🐞 Bug fix: improved dtypes checking in st.experimental_data_editor (#6185, #6188).
  • πŸ› Bug fix: properly position st.metric's help tooltip when not inside columns (#6168).
  • πŸͺ² Bug fix: regression in retrieving messages from the server's ForwardMsgCache (#6210).
  • πŸŒ€ Bug fix: st.cache_data docstring for the show_spinner param now lists str as a supported type (#6207, #6213).
  • ⏱️ Made ping and websocket timeouts far more forgiving (#6212).
  • πŸ—ΊοΈ st.map and st.pydeck_chart docs state that Streamlit's Mapbox token will not work indefinitely (#6143).

1.19.0

1 year ago

Highlights

  • βœ‚οΈ Introducing st.experimental_data_editor, a widget that allows you to edit DataFrames and many other data structures in a table-like UI. Read more in our documentation and blog post.

Other Changes

  • ✨ Streamlit’s GitHub README got a new look (#6016).
  • 🌚 Improved readability of styled dataframe cells in dark mode (#6060, #6098).
  • πŸ› Bug fix: make apps work again in the latest versions of Safari, and in Chrome with third-party cookies blocked (#6092, #6094, #6087, #6100).
  • 🐞 Bug fix: refer to new cache primitives in the β€œClear cache” dialog and error messages (#6082, #6128).
  • 🐝 Bug fix: properly cache class member functions and instance methods (#6109, #6114).
  • 🐜 Bug fix: regression in st.metric tooltip position (#6093, #6129).
  • πŸͺ² Bug fix: allow fullscreen button to show for dataframes, charts, etc, in expander (#6083, #6148).

1.18.1

1 year ago

1.18.0

1 year ago

Highlights

  • 🎊 Introducing @st.cache_data and @st.cache_resource β€” two new caching commands to replace st.cache! Check out our blog post and documentation for more information.

Notable Changes

  • πŸͺ† st.columns supports up to one level of column nesting (i.e., columns inside columns) in the main area of the app.
  • ⏳ st.progress supports adding a message to display above the progress bar with the text keyword parameter.
  • ↔️ st.button has an optional use_container_width parameter to allow you to stretch buttons across the full container width.
  • 🐍 We formally added support for Python 3.11.
  • πŸ–¨οΈ Save your app as a PDF via the β€œPrint” option in your app’s hamburger menu.
  • πŸ›ŽοΈ Apps can serve small, static media files via the enableStaticServing config option. See our documentation on how to use this feature and our demo app for an example.

Other Changes

  • 🏁 All Streamlit endpoints (including /healthz) have been renamed to have a consistent pattern and avoid any clashes with reserved endpoints of GCP (notably Cloud Run and App Engine) (#5534).
  • ⚑ Improved caching performance when multiple sessions access an uncomputed cached value simultaneously (#6017).
  • 🚧 Streamlit only displays deprecation warnings in the browser when the client.showErrorDetails config option is set to True. Deprecation warnings always get logged to the console, regardless of whether they're displayed in-browser (#5945).
  • πŸ“ Refactored the st.dataframe internals to improve dataframe handling and conversion, such as detecting more types, converting key-value dicts to dataframes, and more (#6026, #6023).
  • πŸ’½ The behavior of widget labels when they are passed unsupported Markdown elements is documented (#5978).
  • πŸ“Š Bug fix: Plotly improvements β€” upgraded multiple frontend dependencies, including Plotly, to the latest version to properly redraw cached charts, make Plotly mapbox animations work, and allow users to update the figure layout when using the Streamlit theme (#5885, #5967, #6055).
  • πŸ“Ά Bug fix: allow browser tabs that transiently disconnect (due to a network blip, load balancer timeout, etc.) to avoid losing all of their state (#5856).
  • πŸ“± Bug fix: the keyboard is hidden on mobile when st.selectbox and st.multiselect have less than 10 options (#5979).
  • 🐝 Bug fix: design tweaks to st.metric, st.multiselect, st.tabs , and menu items to prevent label overflow and scrolling issues, especially with small viewport sizes (#5933, #6034).
  • 🐞 Bug fix: switched to a functioning Twemoji URL from which page favicons are loaded in st.set_page_config (#5943).
  • ✍️ More type hints (#5986). Thanks, harahu!

1.17.0

1 year ago

Notable Changes

  • πŸͺ„ @st.experimental_singleton supports an optional validate parameter that accepts a validation function for cached data and is called each time the cached value is accessed.
  • πŸ’Ύ @st.experimental_memo’s persist parameter can also accept booleans.

Other Changes

  • πŸ“Ÿ Multipage apps exclude __init__.py from the page selector (#5890).
  • πŸ“ The iframes of embedded apps have the ability to dynamically resize their height (#5894).
  • 🐞 Bug fix: thumb values of range sliders respect the container width (#5913).
  • πŸͺ² Bug fix: all examples in docstrings of Streamlit commands contain relevant imports to make them reproducible (#5877).

1.16.0

1 year ago

Highlights

  • πŸ‘©β€πŸŽ¨ Introducing a new Streamlit theme for Altair, Plotly, and Vega-Lite charts! Check out our blog post for more information.
  • 🎨 Streamlit now supports colored text in all commands that accept Markdown, including st.markdown, st.header, and more. Learn more in our documentation.

Notable Changes

  • πŸ” Functions cached with st.experimental_memo or st.experimental_singleton can contain Streamlit media elements and forms.
  • β›„ All Streamlit commands that accept pandas DataFrames as input also support Snowpark and PySpark DataFrames.
  • 🏷 st.checkbox and st.metric can customize how to hide their labels with the label_visibility parameter.

Other Changes

  • πŸ—ΊοΈ st.map improvements: support for upper case columns and better exception messages (#5679, #5792).
  • 🐞 Bug fix: st.plotly_chart respects the figure’s height attribute and the use_container_width parameter (#5779).
  • πŸͺ² Bug fix: all commands with the icon parameter such as st.error, st.warning, etc, can contain emojis with variant selectors (#5583).
  • 🐝 Bug fix: prevent st.camera_input from jittering when resizing the browser window (#5661).
  • 🐜 Bug fix: update exception layout to avoid overflow of stack traces (#5700).

1.15.2

1 year ago