Skip to content

Commit

Permalink
Release 1.29.0 (#891)
Browse files Browse the repository at this point in the history
* Add border to embedded app for st.container

* Note official support for Python 3.12

* Update embed options

* Update streamlit.json

* Update configuration options

* Release: Changelog, Cheat-sheet, News, Version

* Final-day additions to changelog

* Typo: consistent wording

* Add links to changelog

* Replace curly quotes with straight quotes

Co-authored-by: Snehan Kekre <[email protected]>

* Mention "footer" in "Made with Streamlit" release note

* Update security policy-remove email

---------

Co-authored-by: Snehan Kekre <[email protected]>
  • Loading branch information
sfc-gh-dmatthews and snehankekre authored Nov 30, 2023
1 parent 82a8d50 commit 44bd90d
Show file tree
Hide file tree
Showing 16 changed files with 8,128 additions and 54 deletions.
2 changes: 1 addition & 1 deletion content/kb/using-streamlit/sanity-checks.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ guaranteeing compatibility with _at least_ the last three minor versions of Pyth
As new versions of Python are released, we will try to be compatible with the new version as soon
as possible, though frequently we are at the mercy of other Python packages to support these new versions as well.

Streamlit currently supports versions 3.8, 3.9, 3.10, and 3.11 of Python.
Streamlit currently supports versions 3.8, 3.9, 3.10, 3.11, and 3.12 of Python.

## Check #1: Is Streamlit running?

Expand Down
60 changes: 33 additions & 27 deletions content/library/advanced-features/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,11 @@ Below are all the sections and options you can have in your `.streamlit/config.t
```toml
[global]

# ***DEPRECATED***
# global.disableWatchdogWarning has been deprecated has been deprecated and
# will be removed in a future version. This option will be removed on or after
# 2024-01-20.
# ****************
# By default, Streamlit checks if the Python watchdog module is available
# and, if not, prints a warning asking for you to install it. The watchdog
# module is not required, but highly recommended. It improves Streamlit's
Expand All @@ -90,19 +95,6 @@ disableWidgetStateDuplicationWarning = false
# via "python my_script.py".
# Default: true
showWarningOnDirectExecution = true

# ***DEPRECATED***
# Legacy serialization has been removed. All dataframes will be serialized
# using Apache Arrow. This option will be removed on or after 2023-11-01.
# ****************
# DataFrame serialization.
# Acceptable values:
# - 'legacy' : Serialize DataFrames using Streamlit's custom format. Slow
# but battle-tested.
# - 'arrow' : Serialize DataFrames using Apache Arrow. Much faster and
# versatile.
# Default: "arrow"
dataFrameSerialization = "arrow"
```

### Logger
Expand All @@ -127,13 +119,20 @@ messageFormat = "%(asctime)s %(message)s"
```toml
[client]

# ***DEPRECATED***
# client.caching has been deprecated and is not required anymore for our new
# caching commands. This option will be removed on or after 2024-01-20.
# ****************
# Whether to enable st.cache. This does not affect st.cache_data or
# st.cache_resource.
# Default: true
caching = true

# If false, makes your Streamlit script not draw to a
# Streamlit app.
# ***DEPRECATED***
# client.displayEnabled has been deprecated and will be removed in a future
# version. This option will be removed on or after 2024-01-20.
# ****************
# If false, makes your Streamlit script not draw to a Streamlit app.
# Default: true
displayEnabled = true

Expand Down Expand Up @@ -175,24 +174,25 @@ toolbarMode = "auto"
# Default: true
magicEnabled = true

# ***DEPRECATED***
# runner.installTracer has been deprecated and will be removed in a future
# version. This option will be removed on or after 2024-01-20.
# ****************
# Install a Python tracer to allow you to stop or pause your script at
# any point and introspect it. As a side-effect, this slows down your
# script's execution.
# Default: false
installTracer = false

# ***DEPRECATED***
# runner.fixMatplotlib has been deprecated and will be removed in a future
# version. This option will be removed on or after 2024-01-20.
# ****************
# Sets the MPLBACKEND environment variable to Agg inside Streamlit to
# prevent Python crashing.
# Default: true
fixMatplotlib = true

# Run the Python Garbage Collector after each script execution. This
# can help avoid excess memory use in Streamlit apps, but could
# introduce delay in rerunning the app script for high-memory-use
# applications.
# Default: true
postScriptGC = true

# Handle script rerun requests immediately, rather than waiting for script
# execution to reach a yield point. This makes Streamlit much more
# responsive to user interaction, but it can lead to race conditions in
Expand All @@ -207,6 +207,17 @@ fastReruns = true
# or when the execution environment will stop supporting it in the future.
# Default: false
enforceSerializableSessionState = false

# Adjust how certain 'options' widgets like radio, selectbox, and
# multiselect coerce Enum members when the Enum class gets
# re-defined during a script re-run.
# Allowed values:
# * "off" : Disables Enum coercion.
# * "nameOnly" : Enum classes can be coerced if their member names match.
# * "nameAndValue" : Enum classes can be coerced if their member names AND
# member values match.
# Default: "nameOnly"
# enumCoercion = "nameOnly"
```

### Server
Expand Down Expand Up @@ -359,11 +370,6 @@ token = ""
```toml
[deprecation]

# Set to false to disable the deprecation warning for the file uploader
# encoding.
# Default: true
showfileUploaderEncoding = true

# Set to false to disable the deprecation warning for using the global pyplot
# instance.
# Default: true
Expand Down
2 changes: 1 addition & 1 deletion content/library/api-cheat-sheet.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ slug: /library/cheatsheet

# Cheat Sheet

This is a summary of the docs, as of [Streamlit v1.28.0](https://pypi.org/project/streamlit/1.28.0/).
This is a summary of the docs, as of [Streamlit v1.29.0](https://pypi.org/project/streamlit/1.29.0/).

<Masonry>

Expand Down
42 changes: 42 additions & 0 deletions content/library/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,48 @@ pip install --upgrade streamlit

</Tip>

## **Version 1.29.0**

_Release date: November 30, 2023_

**Highlights**

- 🔲 [`st.container`](/library/api-reference/layout/st.container) and [`st.form`](/library/api-reference/control-flow/st.form) now have a `border` parameter to show or hide a border.
- 🐍 Streamlit supports Python 3.12!

**Notable Changes**

-`st.dataframe`, `st.data_editor`, and `st.table` support `datetime.timedelta` values ([#7689](https://github.com/streamlit/streamlit/pull/7689), [#4489](https://github.com/streamlit/streamlit/issues/4489)).
- 💀 Streamlit apps preload skeleton elements for a smoother appearance when initializing ([#7598](https://github.com/streamlit/streamlit/pull/7598)).
- 🏃 Reduced the overhead of running `AppTest`-simulated apps, especially for fast-running apps ([#7691](https://github.com/streamlit/streamlit/pull/7691)).
- 🛁 String representations of `AppTest` data are improved for a better testing and debugging experience ([#7658](https://github.com/streamlit/streamlit/pull/7658)).
- 🔢 Apps can be configured to identify `Enum` classes as the same if they have matching member names ([#7408](https://github.com/streamlit/streamlit/pull/7408), [#4909](https://github.com/streamlit/streamlit/issues/4909)). Thanks, [Asaurus1](https://github.com/Asaurus1)!
- ❌ The "Made with Streamlit" footer no longer appears at the bottom of apps ([#7583](https://github.com/streamlit/streamlit/pull/7583)).
- 🧹 Unused config options have been deprecated ([#7584](https://github.com/streamlit/streamlit/pull/7584)).
- 🕳️ Query parameters can be empty ([#7601](https://github.com/streamlit/streamlit/pull/7601), [#7416](https://github.com/streamlit/streamlit/issues/7416)).
- 💅 Visual tweaks ([#7592](https://github.com/streamlit/streamlit/pull/7592), [#7630](https://github.com/streamlit/streamlit/pull/7630)).

**Other Changes**

- 🦗 Bug fix: Convert floats to bytes instead of hashing to avoid hashing instability ([#7754](https://github.com/streamlit/streamlit/pull/7754)). Thanks, [BlackHC](https://github.com/BlackHC)!
- 🦎 Bug fix: Corrected broken URLs and typos in error messages ([#7746](https://github.com/streamlit/streamlit/pull/7746), [#7764](https://github.com/streamlit/streamlit/pull/7764), [#7770](https://github.com/streamlit/streamlit/pull/7770)). Thanks, [ObservedObserver](https://github.com/ObservedObserver)!
- 🐌 Bug fix: `st.connection` correctly caches results when using two connections of the same type ([#7730](https://github.com/streamlit/streamlit/pull/7730), [#7709](https://github.com/streamlit/streamlit/issues/7709)).
- 🕸️ Bug fix: Using context managers with multithreading now displays content in the expected order ([#7715](https://github.com/streamlit/streamlit/pull/7715), [#7668](https://github.com/streamlit/streamlit/issues/7668)). Thanks, [eric-skydio](https://github.com/eric-skydio)!
- 🦂 Bug fix: Added https fallback when obtaining the host machine’s address ([#7712](https://github.com/streamlit/streamlit/pull/7712), [#7703](https://github.com/streamlit/streamlit/issues/7703)). Thanks, [LarsHill](https://github.com/LarsHill)!
- 🛡️ Bug fix: Added security patch for `pyarrow` vulnerability. Custom components using `pyarrow` table deserialization should require `pyarrow>=14.0.1` ([#7695](https://github.com/streamlit/streamlit/pull/7695), [#7700](https://github.com/streamlit/streamlit/issues/7700)).
- 🦟 Bug fix: Improved typing for `st.connection` ([#7671](https://github.com/streamlit/streamlit/pull/7671)). Thanks, [thezanke](https://github.com/thezanke)!
- 🪰 Bug fix: Retries of `SnowflakeConnection` methods are narrowed to only occur with transient errors to avoid unnecessary repeated errors ([#7645](https://github.com/streamlit/streamlit/pull/7645), [#7637](https://github.com/streamlit/streamlit/issues/7637)).
- 🏗️ Removed the v0 testing framework which was undocumented ([#7657](https://github.com/streamlit/streamlit/pull/7657)).
- 🪳 Bug fix: The navigation expander arrow no longer disappears ([#7634](https://github.com/streamlit/streamlit/pull/7634), [#7547](https://github.com/streamlit/streamlit/issues/7547)).
- ❄️ Improved the error message for `SnowflakeConnection` when a configuration is not found ([#7652](https://github.com/streamlit/streamlit/pull/7652)).
- 🕷️ Bug fix: `st.rerun` no longer causes a `RecursionError` when used with `st.chat_input` ([#7643](https://github.com/streamlit/streamlit/pull/7643), [#7629](https://github.com/streamlit/streamlit/issues/7629)).
- 🐞 Bug fix: `st.file_uploader` no longer causes an extra rerun and therefore doesn’t conflict with `st.chat_input` ([#7641](https://github.com/streamlit/streamlit/pull/7641), [#7556](https://github.com/streamlit/streamlit/issues/7556)).
- 🐝 Bug fix: `AppTest` no longer raises an error when encountering `st.container` ([#7644](https://github.com/streamlit/streamlit/pull/7644), [#7636](https://github.com/streamlit/streamlit/issues/7636)).
- 🪲 Bug fix: Graphviz charts scale correctly when exiting fullscreen view ([#7398](https://github.com/streamlit/streamlit/pull/7398), [#7527](https://github.com/streamlit/streamlit/issues/6527)).
- 🎥 Bug fix: "Record a screencast" is hidden when known to be unsupported in a browser ([#7604](https://github.com/streamlit/streamlit/pull/7604)).
- 🐛 Bug fix: Increased the top padding of embedded apps to better display the dataframe toolbar ([#7681](https://github.com/streamlit/streamlit/pull/7681), [#7609](https://github.com/streamlit/streamlit/pull/7609), [#7607](https://github.com/streamlit/streamlit/issues/7607)).
- 🐜 Bug fix: `st.rerun` uses `NoReturn` for improved type checking ([#7422](https://github.com/streamlit/streamlit/pull/7422)) Thanks, [kongzii](https://github.com/kongzii).

## **Version 1.28.0**

_Release date: October 26, 2023_
Expand Down
2 changes: 1 addition & 1 deletion content/library/components/components-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ To make the process of creating bi-directional Streamlit Components easier, we'v

To build a Streamlit Component, you need the following installed in your development environment:

- Python 3.8 - Python 3.11
- Python 3.8 - Python 3.12
- Streamlit 1.11.1 or higher
- [nodejs](https://nodejs.org/en/)
- [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/)
Expand Down
2 changes: 1 addition & 1 deletion content/library/get-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ You can edit any app you've deployed on Community Cloud with GitHub Codespaces.
Before you get started, you're going to need a few things:

- Your favorite IDE or text editor
- [Python 3.8 - Python 3.11](https://www.python.org/downloads/)
- [Python 3.8 - Python 3.12](https://www.python.org/downloads/)
- [PIP](https://pip.pypa.io/en/stable/installation/)

## Set up your virtual environment
Expand Down
2 changes: 1 addition & 1 deletion content/streamlit-cloud/get-started/security-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,4 @@ Streamlit uses third-party security tools to scan for vulnerabilities on a regul

We keep our systems up-to-date with the latest security patches and continuously monitor for new vulnerabilities. This includes automated scanning of our code repositories for vulnerable dependencies.

If you discover a vulnerability in one of our products or websites, please report the issue to [HackerOne](https://hackerone.com/snowflake?type=team). Although HackerOne is preferred, you can also email [email protected] with your concerns.
If you discover a vulnerability in one of our products or websites, please report the issue to [HackerOne](https://hackerone.com/snowflake?type=team).
16 changes: 11 additions & 5 deletions content/streamlit-cloud/share-your-app/embed-your-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ The only noteworthy differences between the methods is that iframing allows you

## Embed options

When [Embedding with iframes](#embedding-with-iframes), Streamlit allows you to specify one or more instances of the `?embed_options` query parameter for granular control over the embedding behavior.
When [Embedding with iframes](#embedding-with-iframes), Streamlit allows you to specify one or more instances of the `?embed_options` query parameter for granular control over the embedding behavior.

Both `?embed` and `?embed_options` are invisible to [`st.experimental_get_query_params`](/library/api-reference/utilities/st.experimental_get_query_params) and [`st.experimental_set_query_params`](/library/api-reference/utilities/st.experimental_set_query_params). The former ignores the embed query parameters and does not return them, while the latter disallows setting embed query parameters.

Expand All @@ -102,7 +102,7 @@ The supported values for `?embed_options` are listed below:
/?embed=true&embed_options=show_padding
```
3. Show the footer reading "Made with Streamlit."
3. Show the footer reading "Made with Streamlit." (This doesn't apply to Streamlit versions 1.29.0 and later since the footer was removed from the library.)
```javascript
/?embed=true&embed_options=show_footer
Expand All @@ -114,19 +114,25 @@ The supported values for `?embed_options` are listed below:
/?embed=true&embed_options=show_colored_line
```
5. Disable scrolling for the main body of the app. (The sidebar will still be scrollable.)
5. Hide the "skeleton" that appears while an app is loading.
```javascript
/?embed=true&embed_options=hide_loading_screen
```
6. Disable scrolling for the main body of the app. (The sidebar will still be scrollable.)
```javascript
/?embed=true&embed_options=disable_scrolling
```
6. Open the app with light theme.
7. Open the app with light theme.
```javascript
/?embed=true&embed_options=light_theme
```
7. Open the app with dark theme.
8. Open the app with dark theme.
```javascript
/?embed=true&embed_options=dark_theme
Expand Down
23 changes: 12 additions & 11 deletions pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,18 @@ export default function Home({ window, menu, gdpr_data, cookie_data }) {
<H2 className="no-b-m">What's new</H2>

<TileContainer>
<RefCard
size="third"
href="/library/api-reference/layout/st.container"
>
<i className="material-icons-sharp">check_box_outline_blank</i>
<h4>Container borders</h4>
<p>
Now you can control border visibility for{" "}
<code>st.container</code>
and <code>st.form</code>!
</p>
</RefCard>
<RefCard size="third" href="/library/api-reference/app-testing">
<i className="material-icons-sharp">science</i>
<h4>App testing</h4>
Expand Down Expand Up @@ -242,17 +254,6 @@ export default function Home({ window, menu, gdpr_data, cookie_data }) {
easy!
</p>
</RefCard>
<RefCard
size="third"
href="/library/api-reference/widgets/st.link_button"
>
<i className="material-icons-sharp">link</i>
<h4>Link button</h4>
<p>
Introducing <code>st.link_button</code>! Open an external link
in a new tab with a bit more pizazz than a plain-text link.
</p>
</RefCard>
{/* <Tile
size="half"
background="unset"
Expand Down
2 changes: 1 addition & 1 deletion python/api-examples-source/guides/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
streamlit==1.28.0
streamlit==1.29.0
2 changes: 1 addition & 1 deletion python/api-examples-source/hello/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ numpy==1.23.5
scipy
altair==4.2.0
pydeck==0.8.0
streamlit==1.28.0
streamlit==1.29.0
2 changes: 1 addition & 1 deletion python/api-examples-source/layout.container2.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import streamlit as st

container = st.container()
container = st.container(border=True)
container.write("This is inside the container")
st.write("This is outside the container")

Expand Down
2 changes: 1 addition & 1 deletion python/api-examples-source/mpa-hello/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ scipy
altair==4.2.0
pydeck==0.8.0
opencv-python-headless==4.6.0.66
streamlit==1.28.0
streamlit==1.29.0
2 changes: 1 addition & 1 deletion python/api-examples-source/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ altair==4.2.0
pydeck==0.8.0
Faker==19.1.0
openai==1.3.0
streamlit-nightly==1.28.1.dev20231026
streamlit==1.29.0
2 changes: 1 addition & 1 deletion python/api-examples-source/theming/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
streamlit==1.28.0
streamlit==1.29.0
vega_datasets
altair==4.2.0
plotly==5.13.0
Loading

0 comments on commit 44bd90d

Please sign in to comment.