What's Changed
Breaking Changes 🛠
- [chore] Remove deprecated st.cache API by @lukasmasuch in #15787
- [chore] Deprecate savefig kwargs on st.pyplot by @lukasmasuch in #16450
- [chore] Remove global-figure support in
st.pyplotby @lukasmasuch in #16464
New Features 🎉
- [feature] Provide fully-typed selection state return values by @lukasmasuch in #16275
- [feature] Add client-side validation to st.text_input by @lukasmasuch in #15714
- [feature] Add public streamlit.typing namespace by @lukasmasuch in #16295
- [feature] Add
wrapparameter to button-like elements to control label wrapping by @lukasmasuch in #16325 - [feature] Expose DataEditorState in streamlit.typing by @lukasmasuch in #16351
- Add support for
50step font weights in theme configs by @mayagbarnes in #16396 - Expand chart theme config support for light/dark/sidebar by @mayagbarnes in #16357
- [feature] Add email / url / phone / search types to
st.text_inputby @lukasmasuch in #16385 - Remove
BaseWebforDateInputby @mayagbarnes in #16460 - [feature] Add wrap control to horizontal st.container by @lukasmasuch in #16484
- Remove
BaseWebforDateTimeInputby @mayagbarnes in #16501 - [feature] Add wrap parameter to st.checkbox and st.toggle by @lukasmasuch in #16470
- [feature] Add
wrapparameter tost.columnsto deactivate responsiveness by @lukasmasuch in #16367 - Add
TimeFieldtoDateTimeInputcalendar popover by @mayagbarnes in #16502 - [feature] Add in-error install-skills callout by @sfc-gh-nbellante in #15693
- [feature] Add wrap parameter to st.multiselect by @lukasmasuch in #16509
Bug Fixes 🐛
- [fix] Preserve inline datasets for charts built via alt.Chart.from_json (#6269) by @sfc-gh-dbyttow in #16288
- [fix] Re-derive heading anchor when heading text changes on rerun (#8793) by @sfc-gh-dbyttow in #16286
- [fix] st.status in an outside container blanks the app by @sfc-gh-bnisco in #16316
- [fix] Restore port auto-increment on Windows by @sfc-gh-bnisco in #16315
- [fix] Accept same-window self-posts in host message guard by @lukasmasuch in #16327
- [fix] Pin starlette below 1.4.0 by @lukasmasuch in #16342
- [fix] support format='svg' in st.pyplot (#11489) by @sfc-gh-dbyttow in #16283
- [fix] Don't rerun nested fragments already re-rendered by a queued ancestor (#10719) by @sfc-gh-dbyttow in #16314
- [fix] Show full popover contents in narrow / embedded viewports (#9340) by @sfc-gh-dbyttow in #16173
- [fix] Add MD5 fallback for FIPS-limited blake2b by @lukasmasuch in #16324
- [refactor] GZip middleware to remove reliance on internal Starlette API by @lukasmasuch in #16344
- Fix derived
codeBackgroundColoranddataframeHeaderBackgroundColorby @mayagbarnes in #16401 - [fix] Make the cache_data hash sample seed configurable (#14622) by @sfc-gh-dbyttow in #16284
- [fix] Close websocket on malformed BackMsg instead of leaking traceback by @sfc-gh-bnisco in #16392
- [fix] Correct the server.enableCORS=false startup warning by @sfc-gh-bnisco in #16393
- [chore] Stabilize flaky data_editor number cell perf e2e test by @lukasmasuch in #16467
- [fix] Validate timelike st.slider bounds against the frontend number range (#16474) by @sfc-gh-dbyttow in #16475
- [fix] Preserve toasts when st.rerun() follows st.toast by @lukasmasuch in #16498
- [fix] Restore color picker interaction in dialogs by @lukasmasuch in #16541
- [fix] Restore metric sparkline after empty chart data by @lukasmasuch in #16543
- [fix]
date_inputanddatetime_inputoverflow styling in narrow containers & today indicator by @mayagbarnes in #16565
Other Changes
- [chore] Update emojis/material icons by @github-actions[bot] in #16317
- [chore] Release v1.61.0 by @github-actions[bot] in #16329
- [chore] Release v1.61.1 by @github-actions[bot] in #16343
- Update
st.tablefont sizing by @mayagbarnes in #16397 - [refactor] Consolidate invalid-value API exceptions to
StreamlitValueErrorby @lukasmasuch in #16422 - [docs] Point users to streamlit.typing imports by @lukasmasuch in #16471
- Update pyarrow requirement from <25,>=7.0 to >=7.0,<26 in /lib by @dependabot[bot] in #16529
- [chore] Replace tenacity dependency with internal retry helper by @lukasmasuch in #16497
- [chore] Update emojis/material icons by @github-actions[bot] in #16546
- [refactor] Use Starlette 1.5 native gzip media/range handling by @lukasmasuch in #16462
Full Changelog: 1.61.1...1.62.0