Highlights
-
Announcing custom components, version 2! Easily create frameless custom UI with bidirectional data flow. -
Introducing custom light and dark theme configuration! You can simultaneously define custom light and dark themes in your app. -
Announcing reusable themes! You can define a theme in a sharable file and use it as a base in other themes. -
Introducing st.spacefor adding vertical and horizontal spaces in your app.
Notable Changes
-
New configuration options, theme.codeTextColorandtheme.linkColor, let you configure the color of code and link text. -
ProgressColumnhas a newcolorparameter. -
You can set color="auto"inMultiselectColumnto inherit colors fromtheme.chartCategoricalColors. -
MultiselectColumnhas apinnedparameter to match other column types. -
You can set a defaultvalue forst.feedback(#12578, #9469). Thanks, andreasntr! -
st.write_streamhas acursorparameter to set a custom cursor for the typewriter effect. -
st.popoverhas atypeparameter to matchst.buttonstyling options. -
To prevent widgets from resetting when you change a parameter, widgets are transitioning to an identity based only on their keys (if provided). The following widgets use only their key for their identity:-
st.color_picker -
st.segmented_control -
st.radio -
st.audio_input -
st.slider -
st.select_slider -
st.chat_input -
st.feedback -
st.pills
-
-
st.dataframe,st.data_editor,st.altair_chart,st.pydeck_chart, and all simple charts have height parameters to use with flex containers. -
↔️
st.plotly_chart,st.vega_lite_chart,st.altair_chart,st.pydeck_chart, and all simple charts have width parameters to use with flex containers. -
Due to end of life, Python 3.9 is no longer supported.
Other Changes
-
If you don’t pass a file to streamlit run, it will trystreamlit_app.pyby default (#12599). -
st.dataframehides its index column by default when row selections are enabled (#12448, #12237). Thanks, plumol! -
For compatibility with new theming options, the app settings menu no longer supports theme editing (#12648). -
The Streamlit hello app preloads its Python packages on its home page for a faster user experience (#12617). -
Slider thumbs don’t extend beyond the edge of their track (#12549, #4284). -
Material icons and emojis were updated (#12669). -
Bug fix: Pyplot charts render correctly in fragments, containers, and expanders (#12807, #12678, #12763). -
Bug fix: Dataframes correctly resize and align when using width="content"(#12682). -
Bug fix: Fuzzy search in select boxes is case insensitive (#12849, #11724). -
Bug fix: 500 errors display correctly (#12845). -
Bug fix: Deprecation warnings respect client.showErrorDetails(#12794, #12743). -
Bug fix: Path handling in the file watcher was improved to prevent a ValueErrorin Windows environments (#12741, #12731). -
Bug fix: st.pillsshows its value when disabled (#12555, #12388). Thanks, davidsjoberg1! -
Bug fix: Plotly charts hide overflow to prevent flickering behavior from scrollbars (#12594). -
Bug fix: Streamlit’s handling of Altair charts was improved for thread safety and prevention of an “Unrecognized data set” race condition (#12673, #11911, #11342, #11906).