Skip to content

Commit fa25966

Browse files
Release 1.49.0 (#1329)
* Update uploader example * Include multi-cell in dataframe selection example * Update streamlit.json * Add st.pdf * Move toast examples into docstrings * Update streamlit.json * Bokeh chart deprecation * Use strings in ListColumn example * Bump streamlit version for apps * Release notes * Remove smart quotes * Cheat sheet * A couple missing release notes from a bad copy-paste * What's new * Update link in Cheat sheet
1 parent 1789dcf commit fa25966

File tree

41 files changed

+21109
-9314
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+21109
-9314
lines changed

content/develop/api-reference/_index.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ st_tags(label='# Enter Keywords:', text='Press enter to add more', value=['Zero'
286286
Apply text mining on a dataframe. Created by [@JohnSnowLabs](https://github.com/JohnSnowLabs/).
287287

288288
```python
289-
nlu.load('sentiment').predict('I love NLU! <3')
289+
nlu.load("sentiment").predict("I love NLU! <3")
290290
```
291291

292292
</ComponentCard>
@@ -1323,6 +1323,19 @@ Display a logo in the upper-left corner of your app and its sidebar.
13231323
st.logo("logo.jpg")
13241324
```
13251325

1326+
</RefCard>
1327+
<RefCard href="/develop/api-reference/media/st.pdf">
1328+
1329+
<Image pure alt="screenshot" src="/images/api/pdf.jpg" />
1330+
1331+
<h4>PDF</h4>
1332+
1333+
Display a PDF file.
1334+
1335+
```python
1336+
st.pdf("my_document.pdf")
1337+
```
1338+
13261339
</RefCard>
13271340
<RefCard href="/develop/api-reference/media/st.audio">
13281341

content/develop/api-reference/charts/bokeh_chart.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ slug: /develop/api-reference/charts/st.bokeh_chart
44
description: st.bokeh_chart displays an interactive Bokeh chart.
55
---
66

7-
<Autofunction function="streamlit.bokeh_chart" />
7+
<Autofunction function="streamlit.bokeh_chart" deprecated={true} deprecatedText="<code>st.bokeh_chart</code> was deprecated in version 1.49.0. Use the <a href='https://github.com/streamlit/streamlit-bokeh'><code>streamlit-pdf</code></a> custom component instead."/>

content/develop/api-reference/media/_index.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,19 @@ Display a logo in the upper-left corner of your app and its sidebar.
3636
st.logo("logo.jpg")
3737
```
3838

39+
</RefCard>
40+
<RefCard href="/develop/api-reference/media/st.pdf">
41+
42+
<Image pure alt="screenshot" src="/images/api/pdf.jpg" />
43+
44+
<h4>PDF</h4>
45+
46+
Display a PDF file.
47+
48+
```python
49+
st.pdf("my_document.pdf")
50+
```
51+
3952
</RefCard>
4053
<RefCard href="/develop/api-reference/media/st.audio">
4154

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: st.pdf
3+
slug: /develop/api-reference/media/st.pdf
4+
description: st.pdf displays a PDF viewer
5+
---
6+
7+
<Autofunction function="streamlit.pdf" />

content/develop/api-reference/status/toast.md

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,3 @@ description: st.toast briefly displays a toast message in the bottom-right corne
55
---
66

77
<Autofunction function="streamlit.toast" />
8-
9-
When multiple toasts are generated, they will stack. Hovering over a toast will
10-
stop it from disappearing. When hovering ends, the toast will disappear after
11-
four more seconds.
12-
13-
```python
14-
import streamlit as st
15-
import time
16-
17-
if st.button('Three cheers'):
18-
st.toast('Hip!')
19-
time.sleep(.5)
20-
st.toast('Hip!')
21-
time.sleep(.5)
22-
st.toast('Hooray!', icon='🎉')
23-
```
24-
25-
<Cloud name="doc-status-toast1" height="300px" />
26-
27-
Toast messages can also be updated. Assign `st.toast(my_message)` to a variable
28-
and use the `.toast()` method to update it. Note: if a toast has already disappeared
29-
or been dismissed, the update will not be seen.
30-
31-
```python
32-
import streamlit as st
33-
import time
34-
35-
def cook_breakfast():
36-
msg = st.toast('Gathering ingredients...')
37-
time.sleep(1)
38-
msg.toast('Cooking...')
39-
time.sleep(1)
40-
msg.toast('Ready!', icon = "🥞")
41-
42-
if st.button('Cook breakfast'):
43-
cook_breakfast()
44-
```
45-
46-
<Cloud name="doc-status-toast2" height="200px" />

content/develop/quick-references/api-cheat-sheet.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ slug: /develop/quick-reference/cheat-sheet
55

66
# Streamlit API cheat sheet
77

8-
This is a summary of the docs for the latest version of Streamlit, [v1.48.0](https://pypi.org/project/streamlit/1.48.0/).
8+
This is a summary of the docs for the latest version of Streamlit, [v1.49.0](https://pypi.org/project/streamlit/1.49.0/).
99

1010
<Masonry>
1111

@@ -116,10 +116,11 @@ st.metric("My metric", 42, 2)
116116

117117
```python
118118
st.image("./header.png")
119+
st.logo("logo.jpg")
120+
st.pdf("my_document.pdf")
119121
st.audio(data)
120122
st.video(data)
121123
st.video(data, subtitles="./subs.vtt")
122-
st.logo("logo.jpg")
123124
```
124125

125126
</CodeTile>
@@ -137,7 +138,6 @@ st.map(df)
137138
st.scatter_chart(df)
138139

139140
st.altair_chart(chart)
140-
st.bokeh_chart(fig)
141141
st.graphviz_chart(fig)
142142
st.plotly_chart(fig)
143143
st.pydeck_chart(chart)
@@ -160,7 +160,7 @@ event = st.vega_lite_chart(
160160
)
161161
```
162162

163-
To use newer versions of Bokeh, see our custom component [`streamlit-bokeh`](https://github.com/streamlit/streamlit-bokeh).
163+
To use Bokeh, see our custom component [`streamlit-bokeh`](https://github.com/streamlit/streamlit-bokeh).
164164

165165
</CodeTile>
166166

content/develop/quick-references/release-notes/2025.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,59 @@ keywords: changelog, release notes, version history
99

1010
This page contains release notes for Streamlit versions released in 2025. For the latest version of Streamlit, see [Release notes](/develop/quick-reference/release-notes).
1111

12+
## **Version 1.49.0**
13+
14+
_Release date: August 26, 2025_
15+
16+
**Highlights**
17+
18+
- 📄 Introducing [`st.pdf`](/develop/api-reference/media/st.pdf) to beautifully render PDF documents in your app!
19+
- ⛏️ Dataframes support [cell selections](/develop/api-reference/data/st.dataframe#dataframeselectionstate)!
20+
- ✨ You can add sparklines to [`st.metric`](/develop/api-reference/data/st.metric)!
21+
- ✏️ [`ListColumn`](/develop/api-reference/data/st.column_config/st.column_config.listcolumn) is now editable!
22+
- 📂 Users can upload a directory of files with [`st.file_uploader`](/develop/api-reference/widgets/st.file_uploader) or [`st.chat_input`](/develop/api-reference/chat/st.chat_input).
23+
24+
**Notable Changes**
25+
26+
- 🏷️ You can configure the labels of options in [`SelectboxColumn`](/develop/api-reference/data/st.column_config/st.column_config.selectboxcolumn) with a new `format_func` parameter ([#12232](https://github.com/streamlit/streamlit/pull/12232), [#6795](https://github.com/streamlit/streamlit/issues/6795)).
27+
- 🍞 You can configure the duration of [`st.toast`](/develop/api-reference/status/st.toast) messages ([#11872](https://github.com/streamlit/streamlit/pull/11872), [#7047](https://github.com/streamlit/streamlit/issues/7047)).
28+
- 🔑 [`st.form_submit_button`](/develop/api-reference/execution-flow/st.form_submit_button) has a `key` parameter ([#12190](https://github.com/streamlit/streamlit/pull/12190), [#12121](https://github.com/streamlit/streamlit/issues/12121)).
29+
- 🌻 [Markdown](/develop/api-reference/text/st.markdown) and heading dividers can be yellow ([#12201](https://github.com/streamlit/streamlit/pull/12201)).
30+
- 💬 [`st.dialog`](/develop/api-reference/execution-flow/st.dialog) widths have a larger option ([#12040](https://github.com/streamlit/streamlit/pull/12040), [#8904](https://github.com/streamlit/streamlit/issues/8904)).
31+
- 💻 `st.dataframe` and `st.data_editor` have `width` and `height` to use with flex layouts ([#11930](https://github.com/streamlit/streamlit/pull/11930)).
32+
- 🖼️ `st.image`, `st.pyplot`, and `st.graphviz_chart` have a `width` parameter to use them with flex layouts ([#11952](https://github.com/streamlit/streamlit/pull/11952), [#12212](https://github.com/streamlit/streamlit/pull/12212)).
33+
- 📈 Users can access the underlying data of a Vega chart through the toolbar. This includes all data passed to the chart, even if it's not displayed ([#10311](https://github.com/streamlit/streamlit/pull/10311)).
34+
- ☠️ `st.bokeh_chart` is deprecated. Use the [`streamlit-bokeh`](https://github.com/streamlit/streamlit-bokeh) custom component instead.
35+
- 🧹 We removed deprecated commands and parameters: `st.experimental_dialog`, `st.experimental_fragment`, and caching's `experimental_allow_widgets` ([#12167](https://github.com/streamlit/streamlit/pull/12167)).
36+
37+
**Other Changes**
38+
39+
- 🏃‍♂️ For better performance, `st.slider` will not rerun the app until the user releases the slider thumb ([#11879](https://github.com/streamlit/streamlit/pull/11879), [#4541](https://github.com/streamlit/streamlit/issues/4541)).
40+
- 💅 For improved custom theming, single mark charts use the first categorical chart color ([#12162](https://github.com/streamlit/streamlit/pull/12162)).
41+
- 🌐 For `st.logo`, the `crossorigin` property can be configured by hosts ([#12226](https://github.com/streamlit/streamlit/pull/12226)).
42+
- 🎨 The colored decoration line at the top of Streamlit apps was removed ([#12155](https://github.com/streamlit/streamlit/pull/12155)).
43+
- 👻 The copy-to-clipboard function of multiple elements gives a checkmark feedback to users when they copy something ([#12141](https://github.com/streamlit/streamlit/pull/12141), [#12172](https://github.com/streamlit/streamlit/pull/12172)).
44+
- 🫥 Users can quickly hide or unhide all columns in a dataframe ([#12164](https://github.com/streamlit/streamlit/pull/12164), [#12082](https://github.com/streamlit/streamlit/issues/12082)). Thanks, [plumol](https://github.com/plumol)!
45+
- ℹ️ Material icons were updated ([#12264](https://github.com/streamlit/streamlit/pull/12264)).
46+
- 👽 Bug fix: `CheckboxColumn` uses the radii from the theming configuration options ([#12263](https://github.com/streamlit/streamlit/pull/12263)).
47+
- 🦀 Bug fix: A column's menu is not accessible when the column is hidden ([#12233](https://github.com/streamlit/streamlit/pull/12233), [#12230](https://github.com/streamlit/streamlit/issues/12230)). Thanks, [plumol](https://github.com/plumol)!
48+
- 🦋 Bug fix: Streamlit correctly caches Pydantic models ([#12137](https://github.com/streamlit/streamlit/pull/12137), [#10348](https://github.com/streamlit/streamlit/issues/10348)).
49+
- 🦎 Bug fix: `st.plotly_chart` correctly handles null selections ([#12222](https://github.com/streamlit/streamlit/pull/12222), [#12191](https://github.com/streamlit/streamlit/issues/12191)).
50+
- 🐌 Bug fix: When using `accept_new_options=True` with `st.selectbox`, mobile users can access their keyboards ([#12219](https://github.com/streamlit/streamlit/pull/12219), [#12205](https://github.com/streamlit/streamlit/issues/12205)).
51+
- 🕸️ Bug fix: Streamlit does not raise an error when the user's email is empty and `server.showEmailPrompt` is false ([#12202](https://github.com/streamlit/streamlit/pull/12202), [#12166](https://github.com/streamlit/streamlit/issues/12166)). Thanks, [wyattscarpenter](https://github.com/wyattscarpenter)!
52+
- 🦗 Bug fix: The drop area of `st.file_uploader` correctly truncates a long list of file types ([#12192](https://github.com/streamlit/streamlit/pull/12192), [#12189](https://github.com/streamlit/streamlit/issues/12189)).
53+
- 🦂 Bug fix: The corner radius of `st.page_link` matches the navigation widget instead of the border radius configured for buttons ([#12181](https://github.com/streamlit/streamlit/pull/12181)).
54+
- 🦟 Bug fix: Cached replay correctly handles element height and width for flex layouts ([#12183](https://github.com/streamlit/streamlit/pull/12183)).
55+
- 🦠 Bug fix: When a client disconnects from a Streamlit server and the user dismisses the warning, the client will re-raise the warning while the app remains disconnected ([#12178](https://github.com/streamlit/streamlit/pull/12178), [#12113](https://github.com/streamlit/streamlit/issues/12113)).
56+
- 🪰 Bug fix: Identity provider logout was reverted to prevent redirect failures in `st.logout()` ([#12179](https://github.com/streamlit/streamlit/pull/12179)).
57+
- 🪳 Bug fix: Currency symbols in column configuration are narrowly formatted ([#11895](https://github.com/streamlit/streamlit/pull/11895)).
58+
- 🕷️ Bug fix: Users can't remove files from `st.file_uploader` while the widget is disabled ([#12180](https://github.com/streamlit/streamlit/pull/12180), [#12146](https://github.com/streamlit/streamlit/issues/12146)).
59+
- 🐞 Bug fix: `pip install` works correctly in Windows ([#8952](https://github.com/streamlit/streamlit/pull/8952)). Thanks, [Dev-iL](https://github.com/Dev-iL)!
60+
- 🐝 Bug fix: The drop-down menu for `st.time_input` uses theme colors consistently with other elements ([#12157](https://github.com/streamlit/streamlit/pull/12157)).
61+
- 🐜 Bug fix: `st.toast` uses custom theme colors ([#12160](https://github.com/streamlit/streamlit/pull/12160), [#11951](https://github.com/streamlit/streamlit/issues/11951)).
62+
- 🪲 Bug fix: The width handling of custom components was updated to work with horizontal containers ([#12148](https://github.com/streamlit/streamlit/pull/12148)).
63+
- 🐛 Bug fix: `st.chat_input` correctly resizes itself after the user submits a long message ([#12132](https://github.com/streamlit/streamlit/pull/12132), [#12079](https://github.com/streamlit/streamlit/issues/12079)).
64+
1265
## **Version 1.48.0**
1366

1467
_Release date: August 5, 2025_

0 commit comments

Comments
 (0)