Version 1.29.0


  • :black_square_button: st.container and st.form now have a border parameter to show or hide a border.
  • :snake: Streamlit supports Python 3.12!

Notable Changes

  • :hourglass: st.dataframe, st.data_editor, and st.table support datetime.timedelta values (#7689, #4489).
  • :skull: Streamlit apps preload skeleton elements for a smoother appearance when initializing (#7598).
  • :running_man: Reduced the overhead of running AppTest-simulated apps, especially for fast-running apps (#7691).
  • :bathtub: String representations of AppTest data are improved for a better testing and debugging experience (#7658).
  • :1234: Apps can be configured to identify Enum classes as the same if they have matching member names (#7408, #4909). Thanks, Asaurus1!
  • :x: The “Made with Streamlit” footer no longer appears at the bottom of apps (#7583).
  • :broom: Unused config options have been deprecated (#7584).
  • :hole: Query parameters can be empty (#7601, #7416).
  • :nail_care: Visual tweaks (#7592, #7630).

Other Changes

  • :cricket: Bug fix: Convert floats to bytes instead of hashing to avoid hashing instability (#7754). Thanks, BlackHC!
  • :lizard: Bug fix: Corrected broken URLs and typos in error messages (#7746, #7764, #7770). Thanks, ObservedObserver!
  • :snail: Bug fix: st.connection correctly caches results when using two connections of the same type (#7730, #7709).
  • :spider_web: Bug fix: Using context managers with multithreading now displays content in the expected order (#7715, #7668). Thanks, eric-skydio!
  • :scorpion: Bug fix: Added https fallback when obtaining the host machine’s address (#7712, #7703). Thanks, LarsHill!
  • :shield: Bug fix: Added security patch for pyarrow vulnerability. Custom components using pyarrow table deserialization should require pyarrow>=14.0.1 (#7695, #7700).
  • :mosquito: Bug fix: Improved typing for st.connection (#7671). Thanks, thezanke!
  • :fly: Bug fix: Retries of SnowflakeConnection methods are narrowed to only occur with transient errors to avoid unnecessary repeated errors (#7645, #7637).
  • :building_construction: Removed the v0 testing framework which was undocumented (#7657).
  • :cockroach: Bug fix: The navigation expander arrow no longer disappears (#7634, #7547).
  • :snowflake: Improved the error message for SnowflakeConnection when a configuration is not found (#7652).
  • :spider: Bug fix: st.rerun no longer causes a RecursionError when used with st.chat_input (#7643, #7629).
  • :lady_beetle: Bug fix: st.file_uploader no longer causes an extra rerun and therefore doesn’t conflict with st.chat_input (#7641, #7556).
  • :honeybee: Bug fix: AppTest no longer raises an error when encountering st.container (#7644, #7636).
  • :beetle: Bug fix: Graphviz charts scale correctly when exiting fullscreen view (#7398, #7527).
  • :movie_camera: Bug fix: Record a screencast” is hidden when known to be unsupported in a browser (#7604).
  • :bug: Bug fix: Increased the top padding of embedded apps to better display the dataframe toolbar (#7681, #7609, #7607).
  • :ant: Bug fix: st.rerun uses NoReturn for improved type checking (#7422) Thanks, kongzii.

No fix for dataframe jitter on mobile yet?

@JPrice The jitter bug is being investigated. :beetle::dancer: Keep an eye on the GitHub issue for any updates.

1 Like

Got to say, loving the transparent loading of widgets, looking more and more beautiful and more feasible as a legit website :heart_eyes: :two_hearts: :two_hearts:

1 Like

Streamlit 1.32.0 is now available. We’ve upgraded our glide-data-grid dependency to fix numerous dataframe issues. Give it a try! :heart: