1.61.0
Added 7
- Add lazy loading for st.dataframe
- Add icon parameter to st.metric
- Add background refresh for st.cache_data and st.cache_resource
- Add WebSocket Host allow-list
- Add seconds granularity and format for hour cycle to st.time_input
- Infer download_button file_name and mime from file object name
- Enforce disabled widget parameter server-side
Changed 2
- Improve form support and enter to submit to st.time_input
- Improve tag accessibility in st.multiselect
Fixed 10
- Fix popover in sidebar rendered off-screen
- Fix escape key now clears typed search query in st.selectbox
- Fix AppTest sys.path handling for script paths
- Clear stale AppTest elements on rerun
- Fix st.selectbox fuzzy search only matches contiguous substrings since 1.59.0
- Fix commit open data_editor cell edit on outside click
- Fix TypeError in run_every fragments with Sentry threading
- Fix st.data_editor row additions overwriting rows
- Fix st.bar_chart fails on column names containing dot
- Accept io.StringIO data in st.download_button
Removed 1
- Remove deprecated use_column_width parameter from st.image
Deprecated 1
- Deprecate string file paths in st.html and st.iframe in favour of pathlib.Path
What's Changed
Breaking Changes 🛠
- [chore] Remove deprecated
use_column_widthparameter fromst.imageby @lukasmasuch in https://github.com/streamlit/streamlit/pull/15786 - [fix] Deprecate string file paths in st.html/st.iframe in favour of pathlib.Path by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16150
New Features 🎉
- [feat] Add lazy loading for st.dataframe by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15756
- [feature] Add
iconparameter tost.metric(#12298) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/15805 - [feature] Add background refresh for st.cache_data and st.cache_resource by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16057
- [feature] Add WebSocket Host allow-list by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16147
- Add seconds granularity and
formatfor hour cycle tost.time_inputby @mayagbarnes in https://github.com/streamlit/streamlit/pull/16126 - Improve form support and enter to submit to
st.time_inputby @mayagbarnes in https://github.com/streamlit/streamlit/pull/16128 - Infer download_button file_name and mime from file object name by @SoMika00 in https://github.com/streamlit/streamlit/pull/16061
- [feature] Enforce disabled widget parameter server-side by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16209
- Improve tag accessibility in
st.multiselectby @mayagbarnes in https://github.com/streamlit/streamlit/pull/16200
Bug Fixes 🐛
- [fix] Popover in sidebar rendered off-screen by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16087
- [fix] Escape now clears typed search query in st.selectbox by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16088
- Fix AppTest sys.path handling for script paths by @ishaanlabs-gg in https://github.com/streamlit/streamlit/pull/15775
- [fix] Clear stale AppTest elements on rerun by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16123
- [fix] Clarify AppTest multipage path handling by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16122
- Fix st.selectbox fuzzy search only matches contiguous substrings since 1.59.0 by @LuC-9 in https://github.com/streamlit/streamlit/pull/16009
- [fix] Commit open data_editor cell edit on outside click by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16132
- [fix] TypeError in run_every fragments with Sentry threading by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/16140
- [fix] Prevent st.data_editor row additions overwriting rows by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16144
- [fix] Reject network paths and null bytes in st.Page by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16146
- [fix] st.expander clipped after interrupted animation by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16090
- [fix] Lock Mermaid init config overrides by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16151
- [bugfix] Honor Plotly layout fonts in Sankey charts (#11031) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16164
- [bugfix] Multiselect dropdown background matches sidebar theme (#11348) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16163
- fix(selectbox): flip sidebar dropdown up instead of clipping by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/16199
- [bugfix] Preserve IME composition in data_editor NumberColumn (#16129) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16165
- [fix] Right-side padding preserved when code block is scrolled by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16091
- [bugfix] Higher-DPI Altair PNG export (#8177) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16170
- [fix] st.bar_chart fails on column names containing "." by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16089
- [fix] Stable dataframe header background with alpha (#11950) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16166
- [fix] Preserve fragment children across container reruns (#12514) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16171
- [fix] Reconnect to existing session on unclean websocket close by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15909
- [fix] Accept io.StringIO data in st.download_button by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/16272
- [fix] Keep pills and segmented_control selection highlighted when format_func changes by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/16271
- [fix] Suppress the skills nudge when an install would only conflict, and report why by @sfc-gh-nbellante in https://github.com/streamlit/streamlit/pull/15966
- Fix st.help header showing "page.run()" in multipage apps by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16244
Other Changes
- [chore] Release v1.60.0 by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/16110
- Remove
BasewebfromTimeInputby @mayagbarnes in https://github.com/streamlit/streamlit/pull/15647 - Support pasting values in
TimeInputby @mayagbarnes in https://github.com/streamlit/streamlit/pull/16096 - [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/16202
- [chore] Adopt uv.lock for deterministic Python environments by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15968
- [chore] Replace gitpython with subprocess git calls by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16241
- [feature] Turn
st.Pageinto a proper class by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16268
New Contributors
- @ishaanlabs-gg made their first contribution in https://github.com/streamlit/streamlit/pull/15775
- @LuC-9 made their first contribution in https://github.com/streamlit/streamlit/pull/16009
- @SoMika00 made their first contribution in https://github.com/streamlit/streamlit/pull/16061
Full Changelog: https://github.com/streamlit/streamlit/compare/1.60.0...1.61.0