What's Changed
New Features 🎉
- Add pathlib support by @jrieke in #9711
- Follow ups for pathlib support by @jrieke in #9783
- Support primary color as text and background color in markdown by @lukasmasuch in #9676
- Improve hover tooltips for
st.line_chart
by @lukasmasuch in #9674 - Add support for ISO time/date format in st.time_input / st.date_input by @sfc-gh-tteixeira in #9753
- Add async generator support to
st.write_stream
by @lukasmasuch in #8724 - Add repr_html support to st.html, and avoid throwing for non-paths by @sfc-gh-tteixeira in #9877
- Remove temporary padding fix for fullscreen button by @lukasmasuch in #9882
- Allow pinning dataframe columns via column config by @lukasmasuch in #9535
- Remove internal Streamlit details from exception traces by @sfc-gh-tteixeira in #9913
- Borderless
"tertiary"
buttons by @mayagbarnes in #9923 - Improvements to the showErrorDetails config by @sfc-gh-lwilby in #9909
- Border for
st.metric
by @mayagbarnes in #9928 - Border for
st.columns
by @mayagbarnes in #9927
Bug Fixes 🐛
- Disallow double slash paths to redirect by @kmcgrady in #9754
- Fix usage of hyphens in user key for CSS classes by @lukasmasuch in #9793
- Fix #9763. Don't show text keyboard for number input on IOS by @kajarenc in #9766
- Fixes a bug where timezones with a non- x:00 utc offset would start at a non 00:00 timer for st.audio_input by @sfc-gh-nbellante in #9791
- Fix dataframe fullscreen for large dataframes by @sfc-gh-nbellante in #9803
- fix #9810 Update to latest Material symbols font by @kajarenc in #9813
- Fix exception element styling by @jrieke in #9818
- [Fix] Prevent rerun for text_input when value did not change by @raethlein in #9826
- [Fix] Set text area value based on state by @raethlein in #9829
- Correctly handle
DeltaGenerator
inst.write
by @lukasmasuch in #9828 - Add shared hooks for submitForm & inputChange by @raethlein in #9847
- Set the default selection mode to 'single' in the overload methods of pills and segmented_control by @RubenVanEldik in #9801
- [fix] st.graphviz_chart rendering bug with use_container_width=True by @sfc-gh-bnisco in #9867
- Support URLPattern-compatible patterns in allowed domain matching by @sfc-gh-mgolebiowskiowczarek in #9849
- Fix wrong dataframe return typing by @lukasmasuch in #9898
- Fix URI decoding of link column display text by @lukasmasuch in #9895
- Disallow invalid scopes for st.rerun by @kmcgrady in #9911
- Fix slow rendering performance caused by complex CSS selector by @lukasmasuch in #9901
- Update audio buffer to handle channels better by @kmcgrady in #9885
- Only show st.cache decorator spinners for cache misses and outermost function by @raethlein in #9956
- Have Images List not utilize the individual image width parameter by @kmcgrady in #9958
Other Changes
- Clean up hello app by @jrieke in #9760
- Adds a timestamp into the file name for st.audio_input by @sfc-gh-nbellante in #9768
- Update watchdog to include 6.x.x by @RubenVanEldik in #9785
- release/1.40.0 by @sfc-gh-bnisco in #9790
- Release/1.40.1 by @sfc-gh-bnisco in #9831
- Release/1.40.2 by @kmcgrady in #9925
- Set Python 3.13 as max version for Streamlit by @raethlein in #9635
New Contributors
- @sfc-gh-mgolebiowskiowczarek made their first contribution in #9849
- @snyk-io made their first contribution in #9931
Full Changelog: 1.40.2...1.41.0