2021 release notes
This page contains release notes for Streamlit versions released in 2021. For the latest version of Streamlit, see Release notes.
Version 1.3.0
Release date: Dec 16, 2021
Notable Changes
- π― Support for NumPy values in 
st.metric. - π Support for Mesh Layers in PyDeck.
 - π Updated Plotly chart version to support the latest features.
 - π 
st.spinnerelement has visual animated spinner. - π° 
st.captionsupports HTML in text withunsafe_allow_htmlparameter. 
Other Changes
- πͺ² Bug fix: Allow 
st.session_stateto be used to set number_input values with no warning (#4047). - πͺ² Bug fix: Fix footer alignment in wide mode (#4035).
 - π Bug fix: Better support for Graphviz and Bokeh charts in containers (columns, expanders, etc.) (#4039).
 - π Bug fix: Support inline data values in Vega-Lite (#4070).
 - βοΈ Types: Updated type annotations for experimental memo and singleton decorators.
 - βοΈ Types: Improved type annotations for 
st.selectbox,st.select_slider,st.radio,st.number_input, andst.multiselect. 
Version 1.2.0
Release date: Nov 11, 2021
Notable Changes
- βοΈ 
st.text_inputandst.text_areanow have aplaceholderparameter to display text when the field is empty. - π Viewers can now resize the input box in 
st.text_area. - π Streamlit can auto-reload when files in sub-directories change.
 - π We've upgraded Bokeh support to 2.4.1! We recommend updating your Bokeh library to 2.4.1 to maintain functionality. Going forward, we'll let you know if there's a mismatch in your Bokeh version via an error prompt.
 - π Developers can access secrets via attribute notation (e.g. 
st.secrets.keyvsst.secrets["key"]) just like session state. - βοΈ Publish type annotations according to PEP 561. Users now get type annotations for Streamlit when running mypy (#4025).
 
Other Changes
- π Visual fixes (#3863, #3995, #3926, #3975).
 - π Fixes to the hamburger menu (#3968).
 - π¨οΈ Ability to print session state (#3970).
 
Version 1.1.0
Release date: Oct 21, 2021
Highlights
- π§ Memory improvements: Streamlit apps allocate way less memory over time now.
 
Notable Changes
- β»οΈ Apps automatically rerun now when the content of 
secrets.tomlchanges (before this you had to refresh the page manually). 
Other Changes
- π Redirected some links to our brand-new docs site, e.g. in exceptions.
 - πͺ² Bug fix: Allow initialization of range slider with session state (#3586).
 - π Bug fix: Refresh chart when using 
add_rowswithdatetimeindex (#3653). - βοΈ Added some more type annotation in our codebase (#3908).
 
Version 1.0.0
Release date: Oct 5, 2021
Highlights
- πAnnouncing Streamlit 1.0! To read more about check out our 1.0 blog post.
 
Other Changes
- π Fixed an issue where using 
df.dtypesto show datatypes for a DF fails while using Arrow (#3709), Image captions stay within image width and are readable (#3530). 
Version 0.89.0
Release date: Sep 22, 2021
Highlights
- π° Introducing 
st.experimental_memoandexperimental_singleton, a new primitive for caching! See our blog post. - π Streamlit allows developers to configure their hamburger menu to be more user-centric.
 
Notable Changes
- π We updated our UI to a more polished look with a new font.
 - π¨ We now support 
theme.basein the theme object when it's sent to custom components. - π§  We've modified session state to reset widgets if any of their arguments changed even if they provide a key.
- Some widget behavior may have changed, but we believe this change makes the most sense. We have added a section to our documentation describing how they behave.
 
 
Other Changes
Version 0.88.0
Release date: Sep 2, 2021
Highlights
- β¬οΈ Introducing 
st.download_button, a new button widget for easily downloading files. 
Notable Changes
- π We made changes to improve the redacted exception experience on Streamlit Community Cloud. When 
client.showErrorDetails=trueexceptions display the Error Type and the Traceback, but redact the actual error text to prevent data leaks. 
Version 0.87.0
Release date: Aug 19, 2021
Highlights
- π’ Introducing 
st.metric, an API for displaying KPIs. Check out the demo app showcasing the functionality. 
Other Changes
- π Bug Fixes: File uploader retains state upon expander closing (#3557), setIn Error with 
st.empty(#3659), Missing IFrame embeds in docs (#3706), Fix error writing certain PNG files (#3597). 
Version 0.86.0
Release date: Aug 5, 2021
Highlights
- π Our layout primitives are graduating from beta! You can now use 
st.columns,st.containerandst.expanderwithout thebeta_prefix. 
Notable Changes
- π± When using 
st.columns, columns will stack vertically when viewport size <640px so that column layout on smaller viewports is consistent and cleaner. (#3594). 
Other Changes
- π Bug fixes: Fixed 
st.date_inputcrashes if its empty (#3194), Opening files with utf-8(#3022),st.select_sliderresets its state upon interaction (#3600). 
Version 0.85.0
Release date: Jul 22, 2021
Highlights
- πΉ Streamlit now uses Apache Arrow for serializing data frames when they are sent from Streamlit server to the front end. See our blog post.
- (Users who wish to continue using the legacy data frame serialization can do so by setting the 
dataFrameSerializationconfig option to"legacy"in theirconfig.toml). 
 - (Users who wish to continue using the legacy data frame serialization can do so by setting the 
 
Other Changes
- π Bug fixes: Unresponsive pydeck example (#3395), JSON parse error message (#2324), Tooltips rendering (#3300), Colorpicker not working on Streamlit Sharing (#2689).
 
Version 0.84.0
Release date: Jul 1, 2021
Highlights
- π§  Introducing 
st.session_stateand widget callbacks to allow you to add statefulness to your apps. Check out the blog post 
Notable Changes
- πͺ 
st.text_inputnow has anautocompleteparameter to allow password managers to be used 
Other Changes
- Using st.set_page_config to assign the page title no longer appends "Streamlit" to that title (#3467)
 - NumberInput: disable plus/minus buttons when the widget is already at its max (or min) value (#3493)
 
Version 0.83.0
Release date: Jun 17, 2021
Highlights
- π£οΈ Updates to Streamlit docs to include step-by-step guides which demonstrate how to connect Streamlit apps to various databases & APIs
 
Notable Changes
- π 
st.formnow has aclear_on_submitparameter which "resets" all the form's widgets when the form is submitted. 
Other Changes
Version 0.82.0
Release date: May 13, 2021
Notable Changes
- β»οΈ Improvements to memory management by forcing garbage collection between script runs.
 
Version 0.81.1
Release date: Apr 29, 2021
Highlights
- π Introducing 
st.formandst.form_submit_buttonto allow you to batch input widgets. Check out our blog post - π€ Introducing 
st.captionso you can add explainer text anywhere in you apps. - π¨ Updates to Theming, including ability to build a theme that inherits from any of our default themes.
 - π Improvements to deployment experience to Streamlit sharing from the app menu.
 
Other changes
- Support for binary files in Custom Components (#3144)
 
Version 0.80.0
Release date: Apr 8, 2021
Highlights
- π Streamlit now support Secrets management for apps deployed to Streamlit Sharing!
 - βοΈ Titles and headers now come with automatically generated anchor links. Just hover over any title and click the π to get the link!
 
Other changes
- Added 
allow-downloadscapability to custom components (#3040) - Fixed markdown tables in dark theme (#3020)
 - Improved color picker widget in the Custom Theme dialog (#2970)
 
Version 0.79.0
Release date: Mar 18, 2021
Highlights
- π Introducing support for custom themes. Check out our blog post
 - π This release also introduces dark mode!
 - π οΈ Support for tooltips on all input widgets
 
Other changes
Version 0.78.0
Release date: Mar 4, 2021
Features
- If you're in the Streamlit for Teams beta, we made a few updates to how secrets work. Check the beta docs for more info!
 - Dataframes now displays timezones for all DateTime and Time columns, and shows the time with the timezone applied, rather than in UTC
 
Notable Bug Fixes
- Various improvement to column alignment in 
st.beta_columns - Removed the long-deprecated 
formatparam fromst.image, and replaced withoutput_format. 
Version 0.77.0
Release date: Feb 23, 2021
Features
- Added a new config option 
client.showErrorDetailsallowing the developer to control the granularity of error messages. This is useful for when you deploy an app, and want to conceal from your users potentially-sensitive information contained in tracebacks. 
Notable bug fixes
- Fixed bug where 
st.imagewasn't rendering certain kinds of SVGs correctly. - Fixed regression where the current value of an 
st.sliderwas only shown on hover. 
Version 0.76.0
Release date: February 4, 2021
Notable Changes
- π¨ 
st.color_pickeris now out of beta. This means the old beta_color_picker function, which was marked as deprecated for the past 3 months, has now been replaced with color_picker. - π Display a warning when a Streamlit script is run directly as 
python script.py. st.image'suse_column_widthnow defaults to anautooption which will resize the image to the column width if the image exceeds the column width.- βοΈ Fixed bugs (2437 and 2247) with content getting cut off within a 
st.beta_expander - π Fixed a bug in 
st.dataframewhere the scrollbar overlapped with the contents in the last column. - πΎ Fixed a bug for 
st.file_uploaderwhere file data returned was not the most recently uploaded file. - β Fixed bugs (2086 and 2556) where some LaTeX commands were not rendering correctly.
 
Version 0.75.0
Release date: January 21, 2021
Notable Changes
- π³ 
st.emptypreviously would clear the component at the end of the script. It has now been updated to clear the component instantly. - πΉ Previously in wide mode, we had thin margins around the webpage. This has now been increased to provide a better visual experience.
 
Version 0.74.0
Release date: January 6, 2021
Notable Changes
- πΎ 
st.file_uploader. has been stabilized and the deprecation warning and associated configuration option (deprecation.showfileUploaderEncoding) has been removed. - π 
st.bokeh_chartis no longer duplicated when the page loads. - π Fixed page icon to support emojis with variants (i.e. π€¦ββοΈ vs π€¦πΌββοΈ) or dashes (i.e π - crescent-moon).
 
Still have questions?
Our forums are full of helpful information and Streamlit experts.
