<!-- Release notes generated using configuration in .github/release.yml at 1.38.0 -->
What's Changed
Breaking Changes ๐
* Remove pydantic fix in bootstrap by lukasmasuch in https://github.com/streamlit/streamlit/pull/9257
* Remove experimental cached widget replay logic by lukasmasuch in https://github.com/streamlit/streamlit/pull/9305
New Features ๐
* [RFC] Only rerun script on reconnect if a script run was interrupted by vdonato in https://github.com/streamlit/streamlit/pull/9083
* Add syntax highlighting for diff by raethlein in https://github.com/streamlit/streamlit/pull/9172
* Support `to_pandas` method to return a Pandas Series by lukasmasuch in https://github.com/streamlit/streamlit/pull/9175
* Add support for Kubernetes / directory with mounted file style secrets by sfc-gh-mochen in https://github.com/streamlit/streamlit/pull/9078
* Extend dataframe-handling support for collection-like types by lukasmasuch in https://github.com/streamlit/streamlit/pull/9205
* Add support for Snowpark Pandas Index by lukasmasuch in https://github.com/streamlit/streamlit/pull/9222
* Add data handling support for Polars by lukasmasuch in https://github.com/streamlit/streamlit/pull/9230
* Add data handling support for xarray by lukasmasuch in https://github.com/streamlit/streamlit/pull/9235
* Add data handling support for Dask by lukasmasuch in https://github.com/streamlit/streamlit/pull/9240
* Add data handling support for Ray by lukasmasuch in https://github.com/streamlit/streamlit/pull/9256
* Type-hint improvements for 8717 and 7801 by Asaurus1 in https://github.com/streamlit/streamlit/pull/9048
* Allow configurable expansion depth for `st.json` by lukasmasuch in https://github.com/streamlit/streamlit/pull/8984
* Add data handling support for DB API 2.0 by lukasmasuch in https://github.com/streamlit/streamlit/pull/9274
* Add data handling support for Pydantic instances by lukasmasuch in https://github.com/streamlit/streamlit/pull/9290
* Add support for dataframe interchange protocol by lukasmasuch in https://github.com/streamlit/streamlit/pull/9289
* Add line wrapping to st code by sfc-gh-tteixeira in https://github.com/streamlit/streamlit/pull/8558
Bug Fixes ๐
* Make the magic support for-else, while-else, try-else, try-except*, and match by whitphx in https://github.com/streamlit/streamlit/pull/9110
* Fix copy-buttons in dialogs by raethlein in https://github.com/streamlit/streamlit/pull/9130
* Support theming in embed better by kmcgrady in https://github.com/streamlit/streamlit/pull/9103
* Fix 8638 by kajarenc in https://github.com/streamlit/streamlit/pull/9101
* Bugfix: Multiple Stale Maps by sfc-gh-nbellante in https://github.com/streamlit/streamlit/pull/9092
* Bugfix: Upgrade plotly.js to resolve hover tooltip bug by sfc-gh-nbellante in https://github.com/streamlit/streamlit/pull/9144
* Make ScriptControlException inherit from BaseException again by raethlein in https://github.com/streamlit/streamlit/pull/9167
* Print deprecation warnings when dialog/fragment functions are called by vdonato in https://github.com/streamlit/streamlit/pull/9170
* Revert "Remove fragment_ids_this_run from script run context (8953)" and tweaks some types by vdonato in https://github.com/streamlit/streamlit/pull/9178
* Allow adding Plotly toolbar buttons by lukasmasuch in https://github.com/streamlit/streamlit/pull/9190
* Ignore all headings in markdown labels by lukasmasuch in https://github.com/streamlit/streamlit/pull/9189
* Don't raise FragmentStorageKeyError for auto_rerun fragments by raethlein in https://github.com/streamlit/streamlit/pull/9183
* Fix ghost tabs issue in fragments by raethlein in https://github.com/streamlit/streamlit/pull/9186
* Fix empty anchor scrolling by lukasmasuch in https://github.com/streamlit/streamlit/pull/9206
* Only clear up fragment-related stale widgets by raethlein in https://github.com/streamlit/streamlit/pull/9215
* Fix issue with empty Azure OpenAI chunk by lukasmasuch in https://github.com/streamlit/streamlit/pull/9234
* Fix grey-out for selectbox index columns by lukasmasuch in https://github.com/streamlit/streamlit/pull/9231
* Fix options support for `dict.items()` by lukasmasuch in https://github.com/streamlit/streamlit/pull/9241
* When clearing forward queue add a stopped for rerun message by dannyopts in https://github.com/streamlit/streamlit/pull/9187
* Do not preserve children of a block if the block type changes by kmcgrady in https://github.com/streamlit/streamlit/pull/9276
* Unstale just updated fragments by raethlein in https://github.com/streamlit/streamlit/pull/9285
* Fix logo + sidebar sizing interaction by mayagbarnes in https://github.com/streamlit/streamlit/pull/9298
Other Changes
* Print bottom container always at the end of the app content by raethlein in https://github.com/streamlit/streamlit/pull/9129
* Remove a type ignore by wyattscarpenter in https://github.com/streamlit/streamlit/pull/9149
* Use material icons in streamlit hello page nav and favicons by snehankekre in https://github.com/streamlit/streamlit/pull/9225
* Fix nested fragment stale elements by raethlein in https://github.com/streamlit/streamlit/pull/9246
* Use overloads to make the return types of st.feedback more precise. (with type tests) by wyattscarpenter in https://github.com/streamlit/streamlit/pull/9216
New Contributors
* wyattscarpenter made their first contribution in https://github.com/streamlit/streamlit/pull/9149
* sfc-gh-mochen made their first contribution in https://github.com/streamlit/streamlit/pull/9078
* dannyopts made their first contribution in https://github.com/streamlit/streamlit/pull/9187
**Full Changelog**: https://github.com/streamlit/streamlit/compare/1.37.1...1.38.0