Version 1.30.0


  • :arrows_counterclockwise: Announcing st.switch_page to programmatically switch pages in multipage apps! Check out our docs to learn about this highly anticipated feature!
  • :question:Introducing st.query_params to handle variables passed through your app’s URL. Check out our docs to understand this feature and how it’s been upgraded and improved from our experimental version!

Notable Changes

  • :triangular_ruler: st.container can be configured with a height to create grids or scrolling containers (#7697, #2169, #2447).
  • :link: For dataframes, LinkColumn has a simplified UI and can be configured with display text, including programmatically defined text through regular expressions (#7784, #7741, #6787).
  • :compass: Sidebar navigation for multipage apps can be hidden via configuration (#7852).
  • :fast_forward: Plotly figures can load even faster when used in combination with orjson (#7860). Thanks, eric-skydio!
  • :recycle: Behavior change: Query parameters are removed when changing pages (#7817, #6725, #5505).

Other Changes

  • :hammer_and_wrench: showFooter is no longer an embed option since the footer no longer exists (#7902, #7785).
  • :male_detective: All security concerns should be reported through HackerOne (#7783).
  • :spider: Bug fix: Tabs are not disabled when stale to prevent flickering (#7905, #7820).
  • :shield: Bug fix: The full file path is used instead of a prefix to prevent custom components from reaching beyond their own folders (#7901).
  • :worm: Bug fix: Widgets raise an exception if its values aren’t Python comparable (#7840, #3714).
  • :lady_beetle: Bug fix: The down-arrow icons on expanders maintain a consistent size (#7596). Thanks, matiboux!
  • :honeybee: Bug fix: Tabs no longer flicker when switching between them (#7904).
  • :ant: Bug fix: Enter-to-submit is automatically disabled when the associated st.form_submit_button is disabled (#7827, #7822).
  • :beetle: Bug fix: Required columns cannot be hidden with column configuration (#7888, #7559).
  • :bug: Bug fix: Using nan as a value in SelectboxColumn will raise an error instead of silently failing (#7887, #7558).
  • :crescent_moon: Bug fix: Custom component iframes allow dark mode (#7821, #7813).
  • :fly: Bug fix: The command to start Streamlit is not sent to the frontend (#7787).
  • :nail_care: Bug fix: The background color of st.toggle is enhanced for better visibility (#7788).
  • :cockroach: Bug fix: Built-in charts can handle ordered categorical columns (#7771, #7776).

Streamlit rocks! :grinning:

The new display text feature is awesome. Links open with a single click and my dataframes look much cleaner now!!

Thank you!


Not sure if anyone else has experienced this issue or not, but I’m noticing some issues with the new st.switch_page feature. Some of the pages are not loading correctly or completely when switching between pages.

The feature works great with the exception of a couple of pages. Links are provided below. Please let me know if you have any questions.

Link to the page where the issue occurs - Dashboard

Link to the page where the issue occurs - SEC Filings

Link to Homepage - Fin Stream


Hi @REPNOT. If you’re encountering a bug with st.switch_pages can you check out issues in the GitHub repository. If there isn’t a current issue to upvote and comment on, then creating it there will be the best place for engineers to triage. :slight_smile:

1 Like

Ok. Thank you for letting me know.