Version 1.13.0

Notable Changes

  • :label: Widgets can customize how to hide their labels with the label_visibility parameter.
  • :mag: adds zoom buttons to the map by default.
  • ↔️ st.dataframe supports the use_container_width parameter to stretch across the full container width.
  • :magic_wand: 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 the width parameter.

Other Changes

  • :keyboard: st.time_input allows for keyboard-only input (#5194).
  • :cd: st.experimental_memo will warn the user when using ttl and persist keyword argument together (#5032).
  • :1234: st.number_input returns consistent type after rerun (#5359).
  • :fire_engine: st.sidebar UI fixes including a fix for scrollbars in Firefox browsers (#5157, #5324).
  • :woman_technologist: Improvements to usage metrics to guide API development.
  • :writing_hand: More type hints! (#5191, #5192, #5242, #5243, #5244, #5245, #5246) Thanks harahu!

Thanks @kmcgrady! :rocket: :rocket: :rocket:

Will the official Streamlit roadmap be updated too? IMO having visibility of upcoming features and improvements is critical. Helps us developers decide if Streamlit is the right framework for an app idea, if it’s worth developing a custom component vs. waiting for the Streamlit-native feature already in the roadmap (e.g., st.dataframe improvements) vs. create a feature request, etc. Thanks again!


The best news :heart::heart::heart:

I’m unable to load the release notes app linked to from the docs. My Safari web console shows a bunch of errors.

Nice update. I got a lot of warning logs like below:
“label got an empty value. This is discouraged for accessibility reasons and may be disallowed in the future by raising an exception. Please provide a non-empty label and hide it with label_visibility if needed.”

But it is hard for me to locate which widget missed the label arg. There are too many widget to be checked. It would be great if the log specifies the widget names which need the ‘label’ arg. Thanks.


label_visibility='collapse' is one of those small touches that makes a big difference. Nice.

1 Like

Hi Tony,
I’ve just upgraded my streamlit version and received this warning message too. Like you, I’ve too many widgets to check and using Jupyter notebook doesn’t help either.
Could you advise me as to how you went about your investigation to find the widget in question? thanks.

I’ve finally found the source of the problem. I assigned (intentionally) a null value to the selectbox label (in this case, text) as such:

option = st.sidebar.selectbox(text,some_list,index=0)
(where text = ‘’)
The latest streamlit version does not like null value, so to get past its warning message, I assign ’ ’ (a space in between the quotes) to my text label. That works and resolves my problem.

1 Like

@finavatar Actually it is not straightforward to locate which widget causes this warning from the app side, not to mention when you use some 3rd party streamlit libraries. My suggestion is to add the widget name info in Streamlit logs.


I have found this error too and spend sometime figure out how to fix.

I found out that these kind of code will result in that error and we can quickly find and fix it.

choice =“”, [‘a’,‘b’,‘c’])

fixed to
choice =“options”, [‘a’,‘b’,‘c’], label_visibility=‘collapsed’)

note that “options” will not display as we set label_visibility=‘collapsed’

Hi, I wonder how to add the widget name info in Streamlit logs?

yes or a line number!