Full Changelog: https://github.com/streamlit/streamlit/compare/1.61.0...1.61.1
Streamlit
AITurn data scripts into shareable web apps.
Release activity
| May | Jun | Jul | Aug | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sunday | No releases on Apr 19, 2026 | No releases on Apr 26, 2026 | No releases on May 3, 2026 | No releases on May 10, 2026 | No releases on May 17, 2026 | No releases on May 24, 2026 | No releases on May 31, 2026 | No releases on Jun 7, 2026 | No releases on Jun 14, 2026 | No releases on Jun 21, 2026 | No releases on Jun 28, 2026 | No releases on Jul 5, 2026 | No releases on Jul 12, 2026 | No releases on Jul 19, 2026 | No releases on Jul 26, 2026 | No releases on Aug 2, 2026 |
| Monday | No releases on Apr 20, 2026 | No releases on Apr 27, 2026 | No releases on May 4, 2026 | No releases on May 11, 2026 | No releases on May 18, 2026 | No releases on May 25, 2026 | No releases on Jun 1, 2026 | No releases on Jun 8, 2026 | No releases on Jun 15, 2026 | No releases on Jun 22, 2026 | No releases on Jun 29, 2026 | 1 release on Jul 6, 2026 | 1 release on Jul 13, 2026 | No releases on Jul 20, 2026 | No releases on Jul 27, 2026 | No releases on Aug 3, 2026 |
| Tuesday | No releases on Apr 21, 2026 | 1 release on Apr 28, 2026 | No releases on May 5, 2026 | No releases on May 12, 2026 | No releases on May 19, 2026 | No releases on May 26, 2026 | No releases on Jun 2, 2026 | No releases on Jun 9, 2026 | No releases on Jun 16, 2026 | No releases on Jun 23, 2026 | No releases on Jun 30, 2026 | No releases on Jul 7, 2026 | No releases on Jul 14, 2026 | 1 release on Jul 21, 2026 | No releases on Jul 28, 2026 | 1 release on Aug 4, 2026 |
| Wednesday | No releases on Apr 22, 2026 | No releases on Apr 29, 2026 | No releases on May 6, 2026 | No releases on May 13, 2026 | No releases on May 20, 2026 | No releases on May 27, 2026 | No releases on Jun 3, 2026 | No releases on Jun 10, 2026 | No releases on Jun 17, 2026 | No releases on Jun 24, 2026 | No releases on Jul 1, 2026 | 1 release on Jul 8, 2026 | No releases on Jul 15, 2026 | No releases on Jul 22, 2026 | No releases on Jul 29, 2026 | 1 release on Aug 5, 2026 |
| Thursday | No releases on Apr 23, 2026 | No releases on Apr 30, 2026 | No releases on May 7, 2026 | No releases on May 14, 2026 | No releases on May 21, 2026 | 1 release on May 28, 2026 | No releases on Jun 4, 2026 | No releases on Jun 11, 2026 | No releases on Jun 18, 2026 | No releases on Jun 25, 2026 | No releases on Jul 2, 2026 | No releases on Jul 9, 2026 | No releases on Jul 16, 2026 | No releases on Jul 23, 2026 | No releases on Jul 30, 2026 | No releases on Aug 6, 2026 |
| Friday | No releases on Apr 24, 2026 | No releases on May 1, 2026 | No releases on May 8, 2026 | No releases on May 15, 2026 | No releases on May 22, 2026 | No releases on May 29, 2026 | No releases on Jun 5, 2026 | No releases on Jun 12, 2026 | No releases on Jun 19, 2026 | No releases on Jun 26, 2026 | No releases on Jul 3, 2026 | No releases on Jul 10, 2026 | No releases on Jul 17, 2026 | No releases on Jul 24, 2026 | No releases on Jul 31, 2026 | No releases on Aug 7, 2026 |
| Saturday | No releases on Apr 25, 2026 | No releases on May 2, 2026 | No releases on May 9, 2026 | No releases on May 16, 2026 | No releases on May 23, 2026 | No releases on May 30, 2026 | No releases on Jun 6, 2026 | No releases on Jun 13, 2026 | No releases on Jun 20, 2026 | No releases on Jun 27, 2026 | No releases on Jul 4, 2026 | No releases on Jul 11, 2026 | No releases on Jul 18, 2026 | No releases on Jul 25, 2026 | No releases on Aug 1, 2026 |
10 releases since Mar 3, 2026
Changelog
- 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
- Improve form support and enter to submit to st.time_input
- Improve tag accessibility in st.multiselect
- 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
- Remove deprecated use_column_width parameter from st.image
- 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
- Add server.maxWidgetStateSize config option
- Move vega-lite chart actions to native toolbar
- Support integer pixel values for gap parameter
- Add height parameter to st.tabs
- Disable dataframe data export
- Use key as main identity for st.data_editor if num_rows is fixed
- Apply neutral treatment for zero delta in st.metric
- Preserve st.dataframe row selections on sort
- Virtualize selectbox dropdown option list
- Keep viewport gutter around dialog on narrow screens
- Surface missing httpx error for auth extra
- Honor expose_tokens with st.App programmatic secrets
- Fix React Aria dialog overlay stacking
- Fix st.tabs panels stacking after widget rerun
- Remove flaky Missing Submit Button warning
- Escape HTML in pydeck chart tooltip interpolation
- Dedupe run_every auto-rerun timers per fragment
- Remove redundant keyboard tab stop from file uploader dropzone
- Avoid PyArrow 25 thread initialization crash
- Fix RuntimeError: reentrant call inside _io.BufferedWriter on Ctrl+C
- Fix IndexError in simplify_number for values >= 1 quadrillion
- Cap server dependency major versions
- Stop auto rerun on fragment evict
- Style selectbox 'No results' empty state
- Fix overlays inside popover: stacking and dismissal
- Restore type-to-search in st.selectbox
- Fix st.metric area chart fill baseline
- Prevent file watcher crash on Windows drive paths
- Ignore skill symlinks in generated gitignore snippet
- Suppress mobile keyboard for selectbox filter_mode=None
- Submit typed number_input value on first Enter in form
- Improve hashing fallback warning messages
- Bundle the skills meta-skill in the wheel; install it locally without GitHub download
- Include decorators in st.echo output
- Fix inconsistent checkbox margin in horizontal container within column
- Fix widgets inside popover-in-dialog being unclickable
- Limit client-supplied query string size and field count
- Reject spoofed host messages from child frames and scripts
- Reject non-finite float values from URL params
- Sanitize dangerous Graphviz link URLs
- Sanitize dangerous st.link_button and st.image URLs
What's Changed
Breaking Changes 🛠
- [feature] Add server.maxWidgetStateSize config option by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15804
- [fix] Limit client-supplied query string size and field count by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15803
- [fix] Reject spoofed host messages from child frames and scripts by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15800
New Features 🎉
- [feature] Move vega-lite chart actions to native toolbar by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15806
- [feature] Support integer pixel values for
gapparameter (#13005) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/15850 - [feature] Use
keyas main identity forst.data_editorifnum_rows="fixed"by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15884 - [feature] Add
heightparameter tost.tabs(#12217) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/15847 - [feature] Disable dataframe data export by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15910
- [feature] Neutral treatment for zero delta in st.metric by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15790
- [feature] Preserve st.dataframe row selections on sort by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16020
Bug Fixes 🐛
- [fix] Reject non-finite float values from URL params by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15799
- [fix] Sanitize dangerous Graphviz link URLs by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15819
- [fix] Virtualize selectbox dropdown option list by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15870
- [fix] Keep viewport gutter around dialog on narrow screens by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15875
- [fix] Surface missing httpx error for auth extra by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15864
- [fix] Honor expose_tokens with st.App programmatic secrets by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15865
- [fix] Fix React Aria dialog overlay stacking by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15876
- [fix] st.tabs panels stacking after widget rerun by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15894
- [fix] Remove flaky Missing Submit Button warning by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15889
- [fix] Escape HTML in pydeck chart tooltip interpolation by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15820
- [fix] Dedupe run_every auto-rerun timers per fragment by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15912
- [fix] Remove redundant keyboard tab stop from file uploader dropzone by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15928
- [fix] Avoid PyArrow 25 thread initialization crash by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15947
- Fix RuntimeError: reentrant call inside _io.BufferedWriter on Ctrl+C by @chang-pro in https://github.com/streamlit/streamlit/pull/15949
- Fix IndexError in simplify_number for values >= 1 quadrillion by @eeshsaxena in https://github.com/streamlit/streamlit/pull/15971
- [fix] Sanitize dangerous st.link_button and st.image URLs by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15851
- [fix] Cap server dependency major versions by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15948
- [fix] stop auto rerun on fragment evict by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15932
- [fix] Style selectbox 'No results' empty state by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15967
- [fix] Overlays inside popover: stacking and dismissal by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15961
- [fix] Restore type-to-search in st.selectbox by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15996
- [fix] Fix st.metric area chart fill baseline by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15907
- [fix] Prevent file watcher crash on Windows drive paths by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15951
- [fix] Ignore skill symlinks in generated gitignore snippet by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15963
- [fix] Suppress mobile keyboard for selectbox filter_mode=None by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15962
- [fix] Submit typed number_input value on first Enter in form by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16013
- [fix] Improve hashing fallback warning messages by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16040
- [fix] Bundle the skills meta-skill in the wheel; install it locally (no GitHub download) by @sfc-gh-nbellante in https://github.com/streamlit/streamlit/pull/16026
- [bugfix] Include decorators in st.echo output by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16068
- [bugfix] Fix inconsistent checkbox margin in horizontal container within column (#13162) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16060
- [bugfix] Fix widgets inside popover-in-dialog being unclickable by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/16067
Other Changes
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/15860
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/15983
- [chore] Replace cachetools with internal TTLCache by @lukasmasuch in https://github.com/streamlit/streamlit/pull/16014
New Contributors
- @chang-pro made their first contribution in https://github.com/streamlit/streamlit/pull/15949
- @eeshsaxena made their first contribution in https://github.com/streamlit/streamlit/pull/15971
- @kobihikri made their first contribution in https://github.com/streamlit/streamlit/pull/16016
Full Changelog: https://github.com/streamlit/streamlit/compare/1.59.2...1.60.0
Full Changelog: https://github.com/streamlit/streamlit/compare/1.59.1...1.59.2
Full Changelog: https://github.com/streamlit/streamlit/compare/1.59.0...1.59.1
- Add ButtonColumn to st.column_config
- Add "locked" option for initial_sidebar_state in st.set_page_config
- Add list support to programmatic secrets
- Add AppTest support for download_button and image
- Add column statistics submenu to st.dataframe
- Add streamlit docs <command> lookup
- Add MarkdownColumn for st.dataframe and st.data_editor
- Add App.run() to launch via python app.py or uv run app.py
- Support pasting files into st.chat_input
- Add server.xsrfCookieSameSite config option
- Add mermaid diagram support in st.markdown
- Support OpenAI Responses API streams in st.write_stream
- Allow fragments to write into outside containers
- Add skeleton element for loading placeholder UI
- Add anchors parameter to st.markdown
- Add resolution parameter to st.camera_input
- Add submit_mode parameter to st.chat_input
- Add persist_state widget parameter
- Fix metrics endpoint error with SQLAlchemy connections
- Fix TypeError in _run_with_thread_state when using @st.fragment(run_every=...)
- Remove deprecated Snowpark connection
What's Changed
Breaking Changes 🛠
- [chore] Make /_stcore/metrics memory stats cheap by default by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15472
- [chore] Remove deprecated Snowpark connection by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15784
New Features 🎉
- [feature] Add
ButtonColumntost.column_configby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14544 st.set_page_config- Add"locked"option forinitial_sidebar_stateby @mayagbarnes in https://github.com/streamlit/streamlit/pull/15459- [feature] Add list support to programmatic secrets by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15491
- [feature] Recommend installing skills on app startup by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15437
- [feature] Add AppTest support for download_button and image by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15528
- [feature] Add column statistics submenu to
st.dataframeby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14307 - [feature] Add
streamlit docs <command>lookup by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15547 - [feat] Add MarkdownColumn for st.dataframe and st.data_editor by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13931
- [feature] Add
App.run()to launch viapython app.pyoruv run app.pyby @lukasmasuch in https://github.com/streamlit/streamlit/pull/15563 - [feature] Support pasting files into st.chat_input by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15558
- [feature] Add
server.xsrfCookieSameSiteconfig option by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15634 - [feat] Add mermaid diagram support in st.markdown by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14022
- [feature] Support OpenAI Responses API streams in st.write_stream by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15559
- [fragmentOutsideWrites][feature] Reset outside wrappers across fragment reruns by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15620
- [fragmentOutsideWrites][feature] Allow fragments to write into outside containers by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15623
- [feature] Add per-user analytics on metrics endpoint by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15557
- [feature] Add skeleton element for loading placeholder UI by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15169
- [feat] Add
anchorsparameter tost.markdownby @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/15722 - [feature] Add resolution parameter to st.camera_input by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15766
- [feature] Add in-app install-skills nudge toast by @sfc-gh-nbellante in https://github.com/streamlit/streamlit/pull/15473
- [feature] Add
submit_modeparameter tost.chat_inputby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14344 - [feature] Add persist_state widget parameter by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15645
Bug Fixes 🐛
- [fix] Metrics endpoint error with SQLAlchemy connections by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15334
- [fix] TypeError in _run_with_thread_state when using @st.fragment(run_every=...) by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15376
- [fix] P-mode PIL palette hashing to prevent hash collisions by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15397
- [fix] Use named Snowflake connection from config file by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15382
- [fix] Bind IPv6 dual-stack wildcard for default server address by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15400
- [fix] Clear stale and invalid auth cookies on login by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15420
- Fix: sync widgetMgr to fix tab.open lazy loading by @mayagbarnes in https://github.com/streamlit/streamlit/pull/15460
- [fix] Discover installed CCv2 components in AppTest by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15488
- [fix] Prevent resetting page title on rerun by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15527
- [fix] Accept formatted labels in AppTest format_func widgets by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15564
- Fix:
st.pills&st.segmented_controlcallback by @mayagbarnes in https://github.com/streamlit/streamlit/pull/15522 - [fix] Default to polling file watcher in WSL by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15562
- [fix] Prevent "Missing Submit Button" flash on app load by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15561
- [fix] Explain multi-replica cause in invalid session upload error by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15635
- [fix] Keep selectbox selection when format_func depends on object identity by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15639
- [fix] Prevent ESC from clearing st.multiselect selection by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15646
- [fix] Validate StreamlitPage source matches registered page (#10572) by @sfc-gh-dbyttow in https://github.com/streamlit/streamlit/pull/15721
- [fix] Ignore dataframe Ctrl+F shortcut when search is disabled by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15764
- [fix] Prevent line wrapping in dataframe column menu by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15772
Other Changes
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/15396
- [chore] Release v1.58.0 by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/15361
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/15475
- [perf] VegaLiteChart: Use Vega's native resize API for faster resizing by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15302
- [docs] Add parallel fragment guidance to developing-with-streamlit skill by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15503
- [docs] Remove experimental warning from App docstring by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15536
- [chore] Redesign pagination widget selected state styling by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15550
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/15587
- [chore] Remove deprecated st.bokeh_chart command by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15636
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/15665
- [docs] Add API reference to developing-with-streamlit skill by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15539
Basewebremoval fixes by @mayagbarnes in https://github.com/streamlit/streamlit/pull/15737- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/15758
New Contributors
- @sfc-gh-lmasuch made their first contribution in https://github.com/streamlit/streamlit/pull/15633
- @sfc-gh-dbyttow made their first contribution in https://github.com/streamlit/streamlit/pull/15721
- @HXRIkumar made their first contribution in https://github.com/streamlit/streamlit/pull/15441
Full Changelog: https://github.com/streamlit/streamlit/compare/1.58.0...1.59.0
- Add custom script error handling via st.App
- Add st.pagination widget
- Add type parameter to st.expander and st.status for compact style
- Add parallel=True dispatch to @st.fragment
- Add API restrictions for parallel fragments
- Add streamlit skills CLI command
- Sync URL when session_state updates query-param-bound widgets
- Fix selectbox first item hidden when 7 options selected
- Defer sys.modules eviction to script-run boundary
- Fix OAuth MismatchingStateError regression in 1.57.0
- Fix programmatically closed popovers and expanders reopening on interaction with another
- Support symlinks in Starlette static file serving
- Add usedforsecurity=False to blake2b for FIPS compatibility
- Prevent stale auto-reruns from crashing apps in fragments
- Block javascript: and vbscript: URLs in markdown links
- Set Max-Age on st.login() cookies to restore 30-day persistence
- Fix Vega-Lite chart tooltips in dialogs
- Fix help icon for unsafe_allow_html=True in st.markdown
- Remove deprecated add_rows feature
- Remove langchain callback handler integration
What's Changed
Breaking Changes 🛠
- [chore] Remove deprecated
add_rowsfeature by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15034 - [chore] Remove langchain callback handler integration by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15051
New Features 🎉
- [feature] Add custom script error handling via
st.Appby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14972 - [feature] Add
st.paginationwidget by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14975 - [feat] Add
typeparameter to st.expander and st.status for compact style by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14054 - [feature][ParallelFragments] Add parallel=True dispatch to @st.fragment by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15214
- [feature] Add API restrictions for parallel fragments by @sfc-gh-lwilby-1 in https://github.com/streamlit/streamlit/pull/15251
- [feature] Add
streamlit skillsCLI command by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15116
Bug Fixes 🐛
- [fix] Selectbox first item hidden when 7 options selected by @kmcgrady in https://github.com/streamlit/streamlit/pull/14997
- [fix] Defer sys.modules eviction to script-run boundary (#14593) by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14826
- [fix] OAuth MismatchingStateError regression in 1.57.0 by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15048
- [fix] Programmatically closed popovers/expanders reopening on interaction with another by @kmcgrady in https://github.com/streamlit/streamlit/pull/14945
- [fix] Support symlinks in Starlette static file serving by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15112
- [feature] Sync URL when session_state updates query-param-bound widgets by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14744
- fix: add usedforsecurity=False to blake2b for FIPS compatibility by @andriykislitsyn in https://github.com/streamlit/streamlit/pull/15149
- fix(fragment): prevent stale auto-reruns from crashing apps by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/15130
- [fix] Block javascript: and vbscript: URLs in markdown links by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15161
- Set Max-Age on st.login() cookies to restore 30-day persistence by @GiovanniPaoloGibilisco in https://github.com/streamlit/streamlit/pull/15194
- [fix] Fix Vega-Lite chart tooltips in dialogs by @marawanokasha in https://github.com/streamlit/streamlit/pull/15191
- [fix] Help icon for unsafe_allow_html=True in st.markdown by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/15232
- [fix] Discover script-level .streamlit/config.toml when st.App runs under uvicorn by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/15218
- [fix] Warn when st.button shortcut is browser-reserved by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/15217
- fix(auth): migrate provider tokens to joserfc by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/15178
- Fix browser Back/Forward navigation for pages with Unicode URL paths by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15281
- [fix] Restore Starlette OAuth PKCE behavior by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15282
- [fix] Disable Select all in multiselect for >=1000 options by @lukasmasuch in https://github.com/streamlit/streamlit/pull/15301
- Fix accidental overscrolling in table, dataframe, and data_editor by @kantuni in https://github.com/streamlit/streamlit/pull/15309
Other Changes
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14948
- [chore] Release v1.57.0 by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14962
- [fix] Reduce external IP fetch timeout to avoid startup freeze by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14984
- Adjust widget/icon sizing - Part 1 by @mayagbarnes in https://github.com/streamlit/streamlit/pull/15056
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/15134
- Adjust widget/icon sizing - Part 2 by @mayagbarnes in https://github.com/streamlit/streamlit/pull/15098
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/15236
New Contributors
- @simjega made their first contribution in https://github.com/streamlit/streamlit/pull/14927
- @andriykislitsyn made their first contribution in https://github.com/streamlit/streamlit/pull/15149
- @GiovanniPaoloGibilisco made their first contribution in https://github.com/streamlit/streamlit/pull/15194
- @marawanokasha made their first contribution in https://github.com/streamlit/streamlit/pull/15191
Full Changelog: https://github.com/streamlit/streamlit/compare/1.57.0...1.58.0
What's Changed
Breaking Changes 🛠
- [feature] Make Starlette the default server and remove Tornado by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14553
- [chore] Remove deprecated kwargs from
plotly_chartandvega_lite_chartby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14800 - [chore] Remove deprecated
_get_websocket_headersfunction by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14801 - [feature] Direct polars to arrow conversion bypassing pandas by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14885
New Features 🎉
- [feature] Hide chevron for menu-style icon labels for
st.menu_buttonandst.popoverby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14697 - [feature] Add pills, segmented_control properties and dataframe key to AppTest by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14518
- [feature] Add
titleparameter to alert elements by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14665 - [feat] Add
:shimmer[]markdown directive for animated loading text by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14055 - [feature] Expose
Appin thestnamespace by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14722 - Bundle OSS developing-with-streamlit core skills in pip package by @sfc-gh-nbellante in https://github.com/streamlit/streamlit/pull/14745
- [fix] Add border radius to video and map elements by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14781
- [feature] Add
secretsparameter tost.Appby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14861 - Add app and theme templates to bundled skills by @sfc-gh-nbellante in https://github.com/streamlit/streamlit/pull/14746
- [feature] Expose
st.bottomcontainer by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14726
Bug Fixes 🐛
- [feature] Deduplicate equivalent file extensions in file uploader display by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14552
- [fix]
st.dataframecrash with pandas 3 ArrowStringArray by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14611 - fix(caching): chain original exception in UnserializableReturnValueError by @mango766 in https://github.com/streamlit/streamlit/pull/14655
- [fix] inconsistent space encoding in query params by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14691
- [fix] Preserve
Nonevalues inst.data_editorwith pandas 3.0+ by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14694 - [Fix] Add CSS Color Level 4 support by @mayagbarnes in https://github.com/streamlit/streamlit/pull/14674
- [fix] Evict namespace children when watched sources reload by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14708
- [fix] Downcast large Arrow types in custom component v1 serialization by @sfc-gh-nbellante in https://github.com/streamlit/streamlit/pull/14617
- [fix] Retain st.radio selection for format_func and custom options by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14815
- Fix bar_chart axis labels not swapping when horizontal=True by @kmcgrady in https://github.com/streamlit/streamlit/pull/14866
- [fix] st.text_area height='content' sizing on initial load by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14884
Other Changes
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14576
- [chore] Release v1.56.0 by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14598
- Docs for dataframe programmatic selections by @MathCatsAnd in https://github.com/streamlit/streamlit/pull/14616
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14649
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14752
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14869
- Docs for audio and video columns by @MathCatsAnd in https://github.com/streamlit/streamlit/pull/14628
New Contributors
- @dagecko made their first contribution in https://github.com/streamlit/streamlit/pull/14554
- @mango766 made their first contribution in https://github.com/streamlit/streamlit/pull/14655
- @sfc-gh-wschmitt made their first contribution in https://github.com/streamlit/streamlit/pull/14922
Full Changelog: https://github.com/streamlit/streamlit/compare/1.56.0...1.57.0
What's Changed
New Features 🎉
- [feat] Allow specifying number of visible items via
expandedinst.navigationby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14051 - [feat] Add
on_clickrerun support tost.link_buttonby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14116 - [feature] Add file type shortcuts for
st.file_uploaderandst.chat_inputby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14140 - Allow programmatically setting
st.dataframeselections by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13594 - [feat] Extract leading icon from alert body by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14173
- [feat] Serve static files with native content types by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14090
- feat: allow external URLs in st.Page for navigation sidebar by @t0k0shi in https://github.com/streamlit/streamlit/pull/13691
- [feat] Add
AudioColumnandVideoColumntost.column_configby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14032 - [feat] Add
st.menu_buttonwidget by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13981 - [feature] Add
hide_indexandhide_headertost.tableby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14113 - [feature] Add
heightparameter tost.chat_inputby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14165 - [feature] Add
st.file_uploadersupport to AppTest by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14341 - [feature] Always show the dataframe column visibility menu by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14336
- [feature] Add support for relative static file serving URLs in media elements by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14317
- [feature] Add
alignmentparameter tocolumn_configcolumns by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14333 - [feat] Complete incomplete markdown syntax during streaming by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13939
- [feature] Stable Block.id for passive keyed layout containers by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14330
- [feature]
st.tabsstate persistence and CSS key class by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14332 - [feature]
st.expander&st.popoverstate persistence and CSS key class by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14356 - [feature] Add
requiredparameter tost.pillsandst.segmented_controlby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14414 - Add support for pandas 3.x by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13812
- [feature] Add
single-row-requiredselection mode tost.dataframeby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14288 - [feature] Add
autoscrollparameter tost.containerby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14502 - [feature] Add filter mode to select widgets by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14537
- [feature] Add
st.iframecommand by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14433
Bug Fixes 🐛
- [fix] Allow running streamlit with python optimization by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14171
- [Fix] Fix
st.text_areaheight="content"not working by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14228 - Fix stale anchor preserved when clearing transient nodes by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14251
- fix(testing): initialize BidiComponentManager in AppTest mock runtime by @tysoncung in https://github.com/streamlit/streamlit/pull/14301
- [fix] Python 3.14 PEP 649 annotation compatibility across
inspect.signature()calls by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14327 - [fix] Restore tooltip on st.multiselect selected options by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14353
- [fix] Restore reactJsonViewCompat shim for local dev server by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14391
- [Fix] Restore bound query params in URL with MPA by @mayagbarnes in https://github.com/streamlit/streamlit/pull/14374
- [fix] st.exception links overflow at small widths by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14417
- [fix] Remove heading padding in horizontal containers for proper alignment by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14419
- [fix] Streaming markdown with color directives shows artifact by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14468
- [fix] Add Windows stability check to file watcher to reduce false positives by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14174
- Fix #11308: update server.port after binding to port 0 by @joanaarnauth in https://github.com/streamlit/streamlit/pull/14372
- [fix] Add border to main menu in dark mode by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14529
- [Fix] OpenMetrics compliance for
session_durationmetric by @mayagbarnes in https://github.com/streamlit/streamlit/pull/14476 - Fix programmatic dataframe selections to return AttributeDictionary by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14455
Other Changes
- [refactor] Log widget state duplication warning to console instead of UI by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14141
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14186
- Update protobuf requirement from <7,>=3.20 to >=3.20,<8 in /lib by @dependabot[bot] in https://github.com/streamlit/streamlit/pull/14213
- [chore] Release v1.55.0 by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14203
- refactor(ccv2): rename BidiComponentResult to ComponentResult by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/14253
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14282
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14395
- Docs for
st.navigationexpandedparameter by @MathCatsAnd in https://github.com/streamlit/streamlit/pull/14451 - Docs for new file uploader types by @MathCatsAnd in https://github.com/streamlit/streamlit/pull/14453
- Docs for
st.link_buttonby @MathCatsAnd in https://github.com/streamlit/streamlit/pull/14452 - Docs for auto-extracting icons by @MathCatsAnd in https://github.com/streamlit/streamlit/pull/14458
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14482
- Docs for menu button by @MathCatsAnd in https://github.com/streamlit/streamlit/pull/14495
- Docs for table hide options by @MathCatsAnd in https://github.com/streamlit/streamlit/pull/14497
- Docs for URL pages and navigation by @MathCatsAnd in https://github.com/streamlit/streamlit/pull/14480
- Docs for chat input height by @MathCatsAnd in https://github.com/streamlit/streamlit/pull/14499
- Add key-value list example for
st.tableby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14474 - [Fix] Make
_stcore/metricsOpenMetrics-compliant by @mayagbarnes in https://github.com/streamlit/streamlit/pull/14538
New Contributors
- @Rohan5commit made their first contribution in https://github.com/streamlit/streamlit/pull/14154
- @t0k0shi made their first contribution in https://github.com/streamlit/streamlit/pull/13691
- @tysoncung made their first contribution in https://github.com/streamlit/streamlit/pull/14301
- @ianjch314 made their first contribution in https://github.com/streamlit/streamlit/pull/14354
- @joanaarnauth made their first contribution in https://github.com/streamlit/streamlit/pull/14372
Full Changelog: https://github.com/streamlit/streamlit/compare/1.55.0...1.56.0
What's Changed
Breaking Changes 🛠
- Add deprecation warning to SnowparkConnection by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14125
New Features 🎉
- Extend sprintf to support thousand separator by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13284
- Refactor
SettingsDialog& add copyable version by @mayagbarnes in https://github.com/streamlit/streamlit/pull/13791 - Exclude collapsed expander content from browser find-in-page (Cmd+F) by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13818
- Allow dynamic changes to
st.pillsandst.segmented_controloptions when key is provided by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13684 - Add support for cachetools 7.x by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13839
- Add support for selections on multi-view vega charts by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13591
- Add
client.allowedOriginsconfig option by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13829 - Have server ack app_heartbeat messages received from client by @vdonato in https://github.com/streamlit/streamlit/pull/13810
- feat: add metricValueFontSize and metricValueFontWeight theme options by @kagawa0710 in https://github.com/streamlit/streamlit/pull/13550
- [feature] add width auto parameter to st.markdown by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/13841
- Bind widgets to query params - FE hooks &
color_pickersupport by @mayagbarnes in https://github.com/streamlit/streamlit/pull/13845 - Bind widgets to query params -
st.checkbox&st.toggleby @mayagbarnes in https://github.com/streamlit/streamlit/pull/13900 - Auto-escape some markdown syntax in markdown labels by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13887
- Bind widgets to query params -
st.text_input&st.text_areaby @mayagbarnes in https://github.com/streamlit/streamlit/pull/13901 - Add page visibility parameter to
st.Pageby @lukasmasuch in https://github.com/streamlit/streamlit/pull/13905 - Add
widthandheightconfiguration tost.tableby @lukasmasuch in https://github.com/streamlit/streamlit/pull/13850 - Bind widgets to query params -
st.radio&st.selectboxby @mayagbarnes in https://github.com/streamlit/streamlit/pull/13922 - Bind widgets to query params -
st.number_inputby @mayagbarnes in https://github.com/streamlit/streamlit/pull/13917 - Bind widgets to query params -
st.multiselectby @mayagbarnes in https://github.com/streamlit/streamlit/pull/13951 - [DynamicContainers] Dynamic Popovers by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/13914
- Add select all and select x matches (select all 2) by @sfc-gh-dmatthews in https://github.com/streamlit/streamlit/pull/13795
- New styling for selectbox and multiselect (select all 3) by @sfc-gh-dmatthews in https://github.com/streamlit/streamlit/pull/13796
- New styling for date and time widgets (select all 4) by @sfc-gh-dmatthews in https://github.com/streamlit/streamlit/pull/13797
- New styling for remaining dropdowns (select all 5) by @sfc-gh-dmatthews in https://github.com/streamlit/streamlit/pull/13798
- Add
delta_descriptiontost.metricby @lukasmasuch in https://github.com/streamlit/streamlit/pull/13848 - [DynamicContainers] Dynamic Tabs by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/13910
- [feat] Add scroll arrows for overflowing tabs in
st.tabsby @lukasmasuch in https://github.com/streamlit/streamlit/pull/13987 - [DynamicContainers] Dynamic Expanders by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/13888
- Bind widgets to query params -
st.slider&st.select_sliderby @mayagbarnes in https://github.com/streamlit/streamlit/pull/13979 - [feat] Add custom hex color support for markdown rendering by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14041
- [feat] Add markdown support to page titles in
st.Pageby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14010 - Bind widgets to query params -
st.pills&st.segmented_controlby @mayagbarnes in https://github.com/streamlit/streamlit/pull/14006 - Bind widgets to query params -
st.date_inputby @mayagbarnes in https://github.com/streamlit/streamlit/pull/14034 - [DynamicContainers] Callback support for expanders by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14008
- [Feat] Updated
MainMenuby @mayagbarnes in https://github.com/streamlit/streamlit/pull/14101 - Add logger.hideWelcomeMessage config option by @vdonato in https://github.com/streamlit/streamlit/pull/14118
- Bind widgets to query params -
st.datetime_input&st.time_inputby @mayagbarnes in https://github.com/streamlit/streamlit/pull/14103 - [DynamicContainers] Callback support for popovers by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14075
- [DynamicContainers] Callback support for tabs by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14007
- [feature] Add
linkparameter tost.imageby @lukasmasuch in https://github.com/streamlit/streamlit/pull/14139 - [feat] Add markdown support for navigation section headers by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14053
Bug Fixes 🐛
- [security] Prevent SSRF attacks via path traversal in component file handling by @sfc-gh-nbellante in https://github.com/streamlit/streamlit/pull/13733
- [fix] Support boolean values for client.showErrorLinks config option by @sfc-gh-nbellante in https://github.com/streamlit/streamlit/pull/13806
- Fix
st.select_sliderformat_funcregression in AppTest by @lukasmasuch in https://github.com/streamlit/streamlit/pull/13837 - Initialize all columns when appending rows to
data_editorby @lukasmasuch in https://github.com/streamlit/streamlit/pull/13916 - Don't accept 0 max selections in
st.multiselectby @sfc-gh-dmatthews in https://github.com/streamlit/streamlit/pull/13966 - [fix] Restore layered vconcat width propagation and add #13974 regression tests by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/13980
- [fix] Add selection support for treemap and sunburst in
st.plotly_chartby @lukasmasuch in https://github.com/streamlit/streamlit/pull/13935 - fix: preserve active tab selection after spinner reruns by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/14023
- fix(code-block): move copy action into toolbar and preserve keyboard accessibility by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/14024
- Fix st.Page accepting slash-only url_path without raising exception by @nileshhadalgi016 in https://github.com/streamlit/streamlit/pull/14005
- fix(vega-lite): render vconcat charts with faceted/repeated children by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/14065
- fix(widgets): clear stale date validation UI on form clear by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/14066
- fix(button-group): keep segmented control hover borders visually consistent by @sfc-gh-bnisco in https://github.com/streamlit/streamlit/pull/14067
- Cache SqlConnection.query results per-instance. by @sfc-gh-jkinkead in https://github.com/streamlit/streamlit/pull/14094
- [fix] st.metric with chart_data wrapping in horizontal containers by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14110
- [fix] Normalize all
date_inputsession state values to date by @lukasmasuch in https://github.com/streamlit/streamlit/pull/14123 - Fix spinner clear_transient race condition during rapid reruns by @kmcgrady in https://github.com/streamlit/streamlit/pull/13849
Other Changes
- Improve
streamlit config showoutput for theme sourcing by @mayagbarnes in https://github.com/streamlit/streamlit/pull/13761 - [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/13789
- [chore] Release v1.54.0 by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/13807
- [refactor] remove loading skeleton for dynamic popover by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14043
- [chore] Update emojis/material icons by @github-actions[bot] in https://github.com/streamlit/streamlit/pull/14099
- Improve version copy accessibility by @mayagbarnes in https://github.com/streamlit/streamlit/pull/14131
- [chore] Wire up check_widget_policies correctly in dynamic containers by @sfc-gh-lwilby in https://github.com/streamlit/streamlit/pull/14143
- Format date/time slider URL query params as ISO strings by @mayagbarnes in https://github.com/streamlit/streamlit/pull/14120
New Contributors
- @nileshhadalgi016 made their first contribution in https://github.com/streamlit/streamlit/pull/14005
Full Changelog: https://github.com/streamlit/streamlit/compare/1.54.0...1.55.0
More in AI
View allcodex release notes.
Get up and running with large language models locally.
Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞
An agentic skills framework & software development methodology that works.
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
The agent that grows with you