What's Changed
Breaking Changes π
- Remove native bokeh charts support by @lukasmasuch in #12964
- Add deprecation note to
add_rowscommand by @lukasmasuch in #13080 - Deprecate kwargs support for
st.vega_lite_chartby @lukasmasuch in #13141
New Features π
- [feature] support width="content" on
st.containerby @sfc-gh-lwilby in #12848 - [AdvancedLayouts] Add
height="content"tost.dataframeandst.data_editor. by @sfc-gh-lwilby in #12875 - [AdvancedLayouts] Add height to st.plotly_chart by @sfc-gh-lwilby in #12593
- [feat] Add accept_audio parameter to enable audio recording in chat_input by @sfc-gh-nbellante in #12836
- [feat] Add help argument and tooltip to st.badge by @marcolanfranchi in #12897
- [feat] Add frontend for executing JS in st.html by @sfc-gh-bnisco in #12918
- Use key as main identity for
st.file_uploaderwidget by @lukasmasuch in #12955 - Use
keyas main identity forst.camera_inputwidget by @lukasmasuch in #12781 - [feat] Add microphone permission denied error handling to audio components by @sfc-gh-nbellante in #12914
- Implement missing placeholder for
st.dataframeby @lukasmasuch in #12968 - Show warning when hiding index in dynamic data editor by @lukasmasuch in #12978
- Add deferred download button by @sfc-gh-aamadhavan in #12942
- [feat][TextAlignment] Adds text alignment parameter to
st.textby @sfc-gh-lwilby in #13032 - Add support for setting spinner as
iconby @lukasmasuch in #13045 - Add support for Python 3.14 by @lukasmasuch in #12967
- Datetime input by @sfc-gh-aamadhavan in #13029
- Allow configuring delta arrow in
st.metricby @lukasmasuch in #12982 - [feat][TextAlignment] add text alignment for heading elements. by @sfc-gh-lwilby in #13034
- Support passing query params to
st.switch_pageby @lukasmasuch in #13027 - [feat] Add audio_sample_rate parameter to chat_input for customizable recording quality by @sfc-gh-nbellante in #13054
- Add optional uvloop support for better event loop performance by @lukasmasuch in #13047
- Allow configuring keyboard shortcuts on buttons by @lukasmasuch in #12975
- Support passing query params to
st.page_linkby @lukasmasuch in #13093 - [feat][TextAlignment] Adds text_alignment parameter to markdown elements by @sfc-gh-lwilby in #13036
Bug Fixes π
- [fix] st.text_area negative height calculation by @sfc-gh-lwilby in #12891
- Fix
MultiselectColumnissue when starting with empty rows by @lukasmasuch in #12935 - Fix
MultiselectColumnshape error when adding data by @lukasmasuch in #12936 - [Fix] Font fallback & sidebar page nav font by @mayagbarnes in #12948
- [Fix] Disabled widgets show border when
showWidgetBorder=trueby @mayagbarnes in #12949 - [fix] st.pills and st.segmented_control wrapping regression by @sfc-gh-lwilby in #12969
- [fix] st.color_picker minimum width constraint by @sfc-gh-lwilby in #12962
- Improve metric sparkline hovering efficiency by @lukasmasuch in #12983
- [fix] st.dataframe date picker icon visibility in dark mode by @aritradhabal in #12994
- [fix] Fixes visual regression with
st.audio_inputwaveform by @sfc-gh-nbellante in #13010 - Bump js-yaml from 3.14.1 to 3.14.2 in /component-lib by @dependabot[bot] in #13026
- [fix] Do not print warning for placeholder CCv2 definitions by @sfc-gh-bnisco in #13043
- [fix] st.feedback icon wrapping with minimum width enforcement by @sfc-gh-lwilby in #12970
- Remove upper bound for the
packagingpackage by @tomtung in #13073 - Fix empty Markdown code blocks rendering as βundefinedβ by @ashm-dev in #13074
- [fix] segmented control wrapping issue by @sfc-gh-lwilby in #12879
- [fix] Ensure key is reflective of data arg in CCv2 instances by @sfc-gh-bnisco in #12950
- Fix query parameters not preserved on back navigation by @lukasmasuch in #13129
- Enable better file uploading on Android by @lukasmasuch in #13132
- [fix] Reclassify Auth Callback Error -> Warning by @sfc-gh-bnisco in #13127
- Improve
st.line_charthovering performance by @lukasmasuch in #13156
Other Changes
- Docs for Custom Components V2 by @sfc-gh-dmatthews in #12877
- [chore] Release v1.51.0 by @github-actions[bot] in #12889
- Update
FormsContextby @mayagbarnes in #12788 - Add
ScriptRunContext&ThemeContextby @mayagbarnes in #12789 - Add
NavigationContextby @mayagbarnes in #12790 - Add
SidebarConfigContextby @mayagbarnes in #12791 - Improve phrasing of st.plotly_chart **kwarg deprecation warning by @sfc-gh-tteixeira in #12989
- Add enhancement proposal process by @lukasmasuch in #12248
- Add support for altair 6 by @lukasmasuch in #13003
- [fix] Conditionally expose files/audio attributes in ChatInputValue based on accept parameters by @sfc-gh-nbellante in #13079
- Reduce entry bundle size - Part 1 by @mayagbarnes in #13071
- Reduce entry bundle size - Part 2 by @mayagbarnes in #13077
- Reduce entry bundle size - Part 3 by @mayagbarnes in #13099
- Reduce entry bundle size - Part 4 by @mayagbarnes in #13115
- Reduce entry bundle size - Part 5 by @mayagbarnes in #13128
StreamlitMarkdown- module level plugin cache by @mayagbarnes in #13152
New Contributors
- @marcolanfranchi made their first contribution in #12897
- @aritradhabal made their first contribution in #12994
- @sfc-gh-aamadhavan made their first contribution in #12942
- @tomtung made their first contribution in #13073
- @Copilot made their first contribution in #13106
Full Changelog: 1.51.0...1.52.0