2022 release notes
This page contains release notes for Streamlit versions released in 2022. For the latest version of Streamlit, see Release notes.
Version 1.16.0
Release date: December 14, 2022
Highlights
- ๐ฉโ๐จ Introducing a new Streamlit theme for Altair, Plotly, and Vega-Lite charts! Check out our blog post for more information.
- ๐จ Streamlit now supports colored text in all commands that accept Markdown, including
st.markdown
,st.header
, and more. Learn more in our documentation.
Notable Changes
- ๐ Functions cached with
st.experimental_memo
orst.experimental_singleton
can contain Streamlit media elements and forms. - โ All Streamlit commands that accept pandas DataFrames as input also support Snowpark and PySpark DataFrames.
- ๐ท st.checkbox and st.metric can customize how to hide their labels with the
label_visibility
parameter.
Other Changes
- ๐บ๏ธ
st.map
improvements: support for upper case columns and better exception messages (#5679, #5792). - ๐ Bug fix:
st.plotly_chart
respects the figure's height attribute and theuse_container_width
parameter (#5779). - ๐ชฒ Bug fix: all commands with the
icon
parameter such as st.error, st.warning, etc, can contain emojis with variant selectors (#5583). - ๐ Bug fix: prevent
st.camera_input
from jittering when resizing the browser window (#5661). - ๐ Bug fix: update exception layout to avoid overflow of stack traces (#5700).
Version 1.15.0
Release date: November 17, 2022
Notable Changes
- ๐ Widget labels can contain inline Markdown. See our docs and demo app for more info.
- ๐ต
st.audio
now supports playing audio data passed in as NumPy arrays with the keyword-onlysample_rate
parameter. - ๐ Functions cached with
st.experimental_memo
orst.experimental_singleton
can contain Streamlit widgets using theexperimental_allow_widgets
parameter. This allows caching checkboxes, sliders, radio buttons, and more!
Other Changes
- ๐ฉโ๐จ Design tweak to prevent jittering in sliders (#5612).
- ๐ Bug fix: links in headers are red, not blue (#5609).
- ๐ Bug fix: properly resize Plotly charts when exiting fullscreen (#5645).
- ๐: Bug fix: don't accidentally trigger
st.balloons
andst.snow
(#5401).
Version 1.14.0
Release date: October 27, 2022
Highlights
- ๐จ
st.button
andst.form_submit_button
support designating buttons as "primary" (for additional emphasis) or "secondary" (for normal buttons) with thetype
keyword-only parameter.
Notable Changes
- ๐ค
st.multiselect
has a keyword-onlymax_selections
parameter to limit the number of options that can be selected at a time. - ๐
st.form_submit_button
now has thedisabled
parameter that removes interactivity.
Other Changes
- ๐
st.dataframe
andst.table
accept categorical intervals as input (#5395). - โก Performance improvements to Plotly charts (#5542).
- ๐ชฒ Bug fix:
st.download_button
supports non-latin1 characters in filenames (#5465). - ๐ Bug fix: Allow
st.image
to render a local GIF as a GIF, not as a static PNG (#5438). - ๐ฑ Design tweaks to the sidebar in multipage apps (#5538, #5445, #5559).
- ๐ Improvements to the axis configuration for built-in charts (#5412).
- ๐ง Memo and singleton improvements: support text values for
show_spinner
, usedatetime.timedelta
objects asttl
parameter value, properly hash PIL images andEnum
classes, show better error messages when returning unevaluated dataframes (#5447, #5413, #5504, #5426, #5515). - ๐ Zoom buttons in maps created with
st.map
andst.pydeck_chart
use light or dark style based on the app's theme (#5479). - ๐ Websocket headers from the current session's incoming WebSocket request can be obtained from a new "internal" (i.e.: subject to change without deprecation) API (#5457).
- ๐ Improve the text that gets printed when you first install and use Streamlit (#5473).
Version 1.13.0
Release date: September 22, 2022
Notable Changes
- ๐ท Widgets can customize how to hide their labels with the
label_visibility
parameter. - ๐
st.map
adds zoom buttons to the map by default. - โ๏ธ
st.dataframe
supports theuse_container_width
parameter to stretch across the full container width. - ๐ช Improvements to
st.dataframe
sizing: Column width calculation respects column headers, supports double click between column headers to autosize, better fullscreen support, and fixes the issue with thewidth
parameter.
Other Changes
- โจ๏ธ
st.time_input
allows for keyboard-only input (#5194). - ๐ฟ
st.memo
will warn the user when usingttl
andpersist
keyword argument together (#5032). - ๐ข
st.number_input
returns consistent type after rerun (#5359). - ๐
st.sidebar
UI fixes including a fix for scrollbars in Firefox browsers (#5157, #5324). - ๐ฉโ๐ป Improvements to usage metrics to guide API development.
- โ๏ธ More type hints! (#5191, #5192, #5242, #5243, #5244, #5245, #5246) Thanks harahu!
Version 1.12.0
Release date: August 11, 2022
Highlights
- ๐ Built-in charts (e.g.
st.line_chart
) get a brand-new look and parametersx
andy
! Check out our blog post for more information.
Notable Changes
- โฏ Functions cached with
st.experimental_memo
orst.experimental_singleton
can now contain staticst
commands. This allows caching text, charts, dataframes, and more! - โ๏ธ The sidebar is now resizable via drag and drop.
- โ๏ธ
st.info
,st.success
,st.error
, andst.warning
got a redesign and have a new keyword-only parameter:icon
.
Other Changes
- ๐๏ธ
st.select_slider
correctly handles all floats now (#4973, #4978). - ๐ข
st.multi_select
can take values from enums (#4987). - ๐
st.slider
range values can now be set throughst.session_state
(#5007). - ๐จ
st.progress
got a redesign (#5011, #5086). - ๐
st.radio
better deals with list-like dataframes (#5021). - ๐งโโ๏ธ
st.cache
properly handles JSON files now (#5023). - โ๏ธ Headers render markdown now when the
anchor
parameter is set (#5038). - ๐ป
st.image
can now load SVGs from Inkscape (#5040). - ๐บ๏ธ
st.map
andst.pydeck_chart
use light or dark style based on the app's theme (#5074, #5108). - ๐ Clicks on elements below
st.balloons
andst.snow
don't get blocked anymore (#5098). - ๐ Embedded apps have lower top padding (#5111).
- ๐ Adjusted padding and alignment for widgets, charts, and dataframes (#4995, #5061, #5081).
- โ๏ธ More type hints! (#4926, #4932, #4933)
Version 1.11.0
Release date: July 14, 2022
Highlights
- ๐ Introducing
st.tabs
to have tab containers in your app. See our documentation on how to use this feature.
Notable Changes
- โน๏ธ
st.metric
supports tooltips with thehelp
keyword parameter. - ๐
st.columns
supports setting the gap size between columns with thegap
keyword parameter.
Other Changes
- ๐
Design tweaks to
st.selectbox
,st.expander
,st.spinner
(#4801). - ๐ฑ The sidebar will close when users select a page from the navigation menu on mobile devices (#4851).
- ๐ง
st.memo
supports dataclasses! (#4850) - ๐ Bug fix for a race condition that destroyed widget state with rapid interaction (#4882).
- ๐
st.table
presents overflowing content to be scrollable when placed inside columns and expanders (#4934). - ๐ Types: More updated type annotations across Streamlit! (#4808, #4809, #4856)
Version 1.10.0
Release date: June 2, 2022
Highlights
- ๐ Introducing native support for multipage apps! Check out our blog post and try out our new
streamlit hello
.
Notable Changes
- โจ
st.dataframe
has been redesigned. - ๐
st.radio
has ahorizontal
keyword-only parameter to display options horizontally. - โ ๏ธ Streamlit Community Cloud will support richer exception formatting.
- ๐ Get user information on private apps using
st.experimental_user
.
Other Changes
- ๐ Upgraded Vega-Lite library to support even more interactive charting improvements. See their release notes to find out more. (#4751).
- ๐
st.vega_lite_chart
will respond to updates, particularly in response to input widgets (#4736). - ๐ฌ
st.markdown
with long text will always wrap (#4696). - ๐ฆ Support for PDM (#4724).
- โ๏ธ Types: Updated type annotations across Streamlit! (#4679, #4680, #4681, #4682, #4683, #4684, #4685, #4686, #4687, #4688, #4690, #4703, #4704, #4705, #4706, #4707, #4708, #4710, #4723, #4733).
Version 1.9.0
Release date: May 4, 2022
Notable Changes
- ๐ช
st.json
now supports a keyword-only argument,expanded
on whether the JSON should be expanded by default (defaults toTrue
). - ๐โโ๏ธ More performance improvements from reducing redundant work each script run.
Other Changes
- ๐ Widgets when
disabled
is set/unset will maintain its value (#4527). - ๐งช Experimental feature to increase the speed of reruns using configuration
runner.fastReruns
. See #4628 for the known issues in enabling this feature. - ๐บ๏ธ DataFrame timestamps support UTC offset (in addition to time zone notation) (#4669).
Version 1.8.0
Release date: March 24, 2022
Notable Changes
- ๐โโ๏ธ Dataframes should see performance improvements (#4463).
Other Changes
- ๐ฐ
st.slider
handles timezones better by removing timezone conversions on the backend (#4348). - ๐ฉโ๐จ Design improvements to our header (#4496).
Version 1.7.0
Release date: March 3, 2022
Highlights
- Introducing
st.snow
, celebrating our acquisition by Snowflake! See more information in our blog post.
Version 1.6.0
Release date: Feb 24, 2022
Other Changes
- ๐ WebSocket compression is now disabled by default, which will improve CPU and latency performance for large dataframes. You can use the
server.enableWebsocketCompression
configuration option to re-enable it if you find the increased network traffic more impactful. - โ๏ธ ๐ Radio and checkboxes improve focus on Keyboard navigation (#4308).
Version 1.5.0
Release date: Jan 27, 2022
Notable Changes
- ๐ Favicon defaults to a PNG to allow for transparency (#4272).
- ๐ฆ Select Slider Widget now has the
disabled
parameter that removes interactivity (completing all of our widgets) (#4314).
Other Changes
- ๐ค Improvements to our markdown library to provide better support for HTML (specifically nested HTML) (#4221).
- ๐ Expanders maintain their expanded state better when multiple expanders are present (#4290).
- ๐ณ Improved file uploader and camera input to call its
on_change
handler only when necessary (#4270).
Version 1.4.0
Release date: Jan 13, 2022
Highlights
- ๐ธ Introducing
st.camera_input
for uploading images straight from your camera.
Notable Changes
- ๐ฆ Widgets now have the
disabled
parameter that removes interactivity. - ๐ฎ Clear
st.experimental_memo
andst.experimental_singleton
programmatically by using theclear()
method on a cached function. - ๐จ Developers can now configure the maximum size of a message to accommodate larger messages within the Streamlit application. See
server.maxMessageSize
. - ๐ We formally added support for Python 3.10.
Other Changes
- ๐ตโ๐ซ Calling
str
orrepr
onthreading.current_thread()
does not cause a RecursionError (#4172). - ๐น Gracefully stop screencast recording when user removes permission to record (#4180).
- ๐ Better scale images by using a higher-quality image bilinear resampling algorithm (#4159).
Still have questions?
Our forums are full of helpful information and Streamlit experts.