Version 1.49.0

Highlights

Notable Changes

  • :label: You can configure the labels of options in SelectboxColumn with a new format_func parameter (#12232, #6795).

  • :bread: You can configure the duration of st.toast messages (#11872, #7047).

  • :key: st.form_submit_button has a key parameter (#12190, #12121).

  • :sunflower: Markdown and heading dividers can be yellow (#12201).

  • :speech_balloon: st.dialog widths have a larger option (#12040, #8904).

  • :laptop: st.dataframe and st.data_editor have width and height to use with flex layouts (#11930).

  • :framed_picture: st.image, st.pyplot, and st.graphviz_chart have a width parameter to use them with flex layouts (#11952, #12212).

  • :chart_increasing: 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).

  • :skull_and_crossbones: st.bokeh_chart is deprecated. Use the streamlit-bokeh custom component instead.

  • :broom: We removed deprecated commands and parameters: st.experimental_dialog, st.experimental_fragment, and caching’s experimental_allow_widgets (#12167).

Other Changes

  • :man_running: For better performance, st.slider will not rerun the app until the user releases the slider thumb (#11879, #4541).

  • :nail_polish: For improved custom theming, single mark charts use the first categorical chart color (#12162).

  • :globe_with_meridians: For st.logo, the crossorigin property can be configured by hosts (#12226).

  • :artist_palette: The colored decoration line at the top of Streamlit apps was removed (#12155).

  • :ghost: The copy-to-clipboard function of multiple elements gives a checkmark feedback to users when they copy something (#12141, #12172).

  • :dotted_line_face: Users can quickly hide or unhide all columns in a dataframe (#12164, #12082). Thanks, plumol!

  • :information_source: Material icons were updated (#12264).

  • :alien: Bug fix: CheckboxColumn uses the radii from the theming configuration options (#12263).

  • :crab: Bug fix: A column’s menu is not accessible when the column is hidden (#12233, #12230). Thanks, plumol!

  • :butterfly: Bug fix: Streamlit correctly caches Pydantic models (#12137, #10348).

  • :lizard: Bug fix: st.plotly_chart correctly handles null selections (#12222, #12191).

  • :snail: Bug fix: When using accept_new_options=True with st.selectbox, mobile users can access their keyboards (#12219, #12205).

  • :spider_web: Bug fix: Streamlit does not raise an error when the user’s email is empty and server.showEmailPrompt is false (#12202, #12166). Thanks, wyattscarpenter!

  • :cricket: Bug fix: The drop area of st.file_uploader correctly truncates a long list of file types (#12192, #12189).

  • :scorpion: Bug fix: The corner radius of st.page_link matches the navigation widget instead of the border radius configured for buttons (#12181).

  • :mosquito: Bug fix: Cached replay correctly handles element height and width for flex layouts (#12183).

  • :microbe: 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, #12113).

  • :fly: Bug fix: Identity provider logout was reverted to prevent redirect failures in st.logout() (#12179).

  • :cockroach: Bug fix: Currency symbols in column configuration are narrowly formatted (#11895).

  • :spider: Bug fix: Users can’t remove files from st.file_uploader while the widget is disabled (#12180, #12146).

  • :lady_beetle: Bug fix: pip install works correctly in Windows (#8952). Thanks, Dev-iL!

  • :honeybee: Bug fix: The drop-down menu for st.time_input uses theme colors consistently with other elements (#12157).

  • :ant: Bug fix: st.toast uses custom theme colors (#12160, #11951).

  • :beetle: Bug fix: The width handling of custom components was updated to work with horizontal containers (#12148).

  • :bug: Bug fix: st.chat_input correctly resizes itself after the user submits a long message (#12132, #12079).

6 Likes

These are awesome, nice job!

Upgraded from v1.45 to v1.49.

Now, when launching my application, the sidebar temporarily displays–exposing all of my .py files in the pages/ directory before permanently disappearing (not collapsed) and my sidebar is not accessible.

Finally, my page_config was (partially) st.set_page_config(initial_sidebar='collapsed'

Can someone please explain what happened and how to fix? Thanks.

EDIT / UPDATE: ———–

Currently, I am setting the page config in a utility file (for all my page configurations to be nicely packaged in one location (e.g. import … as VFR, VFR.set_page_config()).

This is apparently the problem, as when I create a test file and embed the st.set_page_config() within the test file, a sidebar displays as expected.

I assume it has something to do with v1.46. Not really sure why the st.set_page_config() needs to be called multiple times in a page and all users have worked around this limitation thus far. Comment and pull requests like this ( set_page_config() issue in Microsoft edge · Issue #9797 · streamlit/streamlit · GitHub ) don’t even seem to be good practice!

So, can I get a Steamlit developer to confirm that instead of calling a single wrapped function for all of my page configurations, the best practice is now to copy/paste the same 16 line function across all 18 of my app’s pages?

It seems like the major user reason is to change the Page Title instead of creating a new page that requires a little more development work in the era of AI? I can only imagine how much debugging was required to implement this breaking change (for what appears to enable poor app structure and technical debt on the end-developer’s codebase).

st.pdf not working…tested on sagemaker with all permissions already signed to pdf.

did you try installing the required dependencies withpip install streamlit[pdf]? st pdf docs

Yes, I tried. even after that it was showing some security level message, even when the pdf was public whether it was from GitHub, conference or from local.

Since i had a deadline, i went with hyperlink :expressionless_face:

@ryanlampkin The change to st.set_page_configmakes it more compatible with the newer version of multipage apps where you call it once in your entrypoint file to set a general default, and then call it again on the specific pages where you want to deviate from that default. I think that was a bigger reason for removing the restriction, although, yes, it also allows you to now call it repeatedly on a single page to change the title or icon over and over if you want.

Can you create a new thread or GitHub bug report with some minimal, executable code to demonstrate the issue you are having with the configuration?

I also cannot get st.pdf to work - I get this error whether I try a local or public network pdf.

@edward.ball Streamlit and streamlit-pdf both got patches. Can you confirm if the error persists after upgrading both. Then if it still occurs, please can you file a bug report: Sign in to GitHub · GitHub

The problem was not with st.set_page_config().

The problem was within a different aspect of my helper function when setting CSS styling for the former “header” class – possibly this: Theming: Remove colored decoration line by mayagbarnes · Pull Request #12155 · streamlit/streamlit · GitHub

In any case, I removed my custom CSS related to this. I temporarily also removed:

    footer {{
        visibility: hidden;
    }}

and it seemed to have no effect. Perhaps Streamlit removed the auto-generated footer at some point too; however, I’m not sure why the header version of that CSS styling caused problems and the footer styling did not (maybe bottom of page stuff).