**Highlights**
* βοΈ Announcing the general availability of [st.data_editor](https://docs.streamlit.io/library/api-reference/data/st.data_editor), a widget that allows you to edit DataFrames and many other data structures in a table-like UI. **Breaking change:** the data editorβs representation used in `st.session_state` was altered. Find out more about the new format in [Access edited data](https://docs.streamlit.io/library/advanced-features/dataframes#access-edited-data).
* βοΈ Introducing the [Column configuration API](https://docs.streamlit.io/library/api-reference/data/st.column_config) with a suite of methods to configure the display and editing behavior of `st.dataframe` and `st.data_editor` columns (e.g. their title, visibility, type, or format). Keep an eye out for a detailed [blog post](https://blog.streamlit.io/) and in-depth [documentation](https://docs.streamlit.io/library/advanced-features/dataframes#configuring-columns) upcoming in the next two weeks.
* π Learn to use `st.experimental_connection` to create and manage data connections in your apps with the new [Connecting to data](https://docs.streamlit.io/library/advanced-features/connecting-to-data) docs and [video tutorial](https://www.youtube.com/watch?v=xQwDfW7UHMo).
**Notable Changes**
* π Streamlit now supports Protobuf 4 and Altair 5 ([6215](https://github.com/streamlit/streamlit/issues/6215), [#6618](https://github.com/streamlit/streamlit/pull/6618), [#5626](https://github.com/streamlit/streamlit/issues/5626), [#6622](https://github.com/streamlit/streamlit/pull/6622)).
* βοΈ st.dataframe and st.data_editor can hide index columns with `hide_index`, specify the display order of columns with `column_order`, and disable editing for individual columns with the `disabled` parameter.
* β±οΈ The `ttl` parameter in [st.cache_data](https://docs.streamlit.io/library/api-reference/performance/st.cache_data) and [st.cache_resource](https://docs.streamlit.io/library/api-reference/performance/st.cache_resource) accepts formatted strings, so you can simply say `ttl="30d"`, `ttl="1h30m"` and any other combination of `w`, `d`, `h`, `m`, `s` supported by [Pandasβs Timedelta constructor](https://pandas.pydata.org/docs/reference/api/pandas.Timedelta.html) ([#6560](https://github.com/streamlit/streamlit/pull/6560)).
* π `st.file_uploader` now interprets the `type` parameter more accurately. For example, "jpg" or ".jpg" now accept both "jpg" and "jpeg" extensions. This functionality has also been extended to "mpeg/mpg", "tiff/tif", "html/htm", and "mpeg4/mp4".
* π€« The new `global.disableWidgetStateDuplicationWarning` configuration option allows the silencing of warnings triggered by setting widget default values and keyed session state values concurrently ([3605](https://github.com/streamlit/streamlit/issues/3605), [#6640](https://github.com/streamlit/streamlit/pull/6640)). Thanks, [antonAce](https://github.com/antonAce)!
**Other Changes**
* πββοΈImproved startup time by lazy loading some dependencies ([6531](https://github.com/streamlit/streamlit/pull/6531)).
* π Removed `st.beta_*` and `st.experimental_show` due to deprecation and low-use ([6558](https://github.com/streamlit/streamlit/pull/6558))
* π Further improvements to st.dataframe and st.data_editor:
* Improved editing on mobile devices for the data editor ([6548](https://github.com/streamlit/streamlit/pull/6548)).
* All editable columns have an icon in their column header and support tooltips ([6550](https://github.com/streamlit/streamlit/pull/6550), [#6561](https://github.com/streamlit/streamlit/pull/6561)).
* Enable editing for columns containing datetime, date, or time values ([6025](https://github.com/streamlit/streamlit/pull/6025)).
* New input validation options for columns in the data editor, such as `max_chars` and `validate` for text columns, and `min_value`, `max_value` and `step` for number columns ([6563](https://github.com/streamlit/streamlit/pull/6563)).
* Improved type parsing capabilities in the data editor ([6551](https://github.com/streamlit/streamlit/pull/6551)).
* Unified missing values to `None` in returned data structures ([6544](https://github.com/streamlit/streamlit/pull/6544)).
* A warning is shown in cells when integers exceed the maximum safe value of `(2^53) -1` ([6311](https://github.com/streamlit/streamlit/issues/6311), [#6549](https://github.com/streamlit/streamlit/pull/6549)).
* Prevented editing the sessions state by showing a warning ([6634](https://github.com/streamlit/streamlit/pull/6634)).
* Fixed issues with list columns sometimes breaking the frontend ([6644](https://github.com/streamlit/streamlit/pull/6644)).
* Fixed a display issue with index columns using category dtype ([6680](https://github.com/streamlit/streamlit/issues/6680), [#6598](https://github.com/streamlit/streamlit/pull/6598)).
* Fixed an issue that prevented a rerun when adding empty rows ([6598](https://github.com/streamlit/streamlit/pull/6598)).
* Unified the behavior between `st.data_editor` and `st.dataframe` related to auto-hiding the index column(s) based on the input data ([6659](https://github.com/streamlit/streamlit/issues/6659), [#6598](https://github.com/streamlit/streamlit/pull/6598))
* π‘οΈ Streamlitβs [Security Policy](https://github.com/streamlit/streamlit/blob/develop/SECURITY.md) can be found in its GitHub repository ([#6666](https://github.com/streamlit/streamlit/pull/6666)).
* π€ Documented the integer size limit for `st.number_input` and `st.slider` ([6724](https://github.com/streamlit/streamlit/pull/6724)).
* π The majority of Streamlit's Python dependencies have set a maximum allowable version, with the standard upper limit set to the next major version, but not inclusive of it ([6691](https://github.com/streamlit/streamlit/pull/6691)).
* π
UI design improvements to in-app modals ([6688](https://github.com/streamlit/streamlit/pull/6688)).
* π Bug fix: `st.date_input`'s date selector is equally visible in dark mode ([6072](https://github.com/streamlit/streamlit/issues/6072), [#6630](https://github.com/streamlit/streamlit/pull/6630)).
* π Bug fix: the sidebar navigation expansion indicator in multipage apps is restored ([6731](https://github.com/streamlit/streamlit/pull/6731)).
* π Bug fix: The docstring and exception message for `st.set_page_config` have been updated to clarify that this command can be invoked once for each page within a multipage app, rather than once per entire app ([6594](https://github.com/streamlit/streamlit/pull/6594)).
* π Bug fix: `st.json` no longer collapses multiple spaces in both keys and values with single space when rendered ([6657](https://github.com/streamlit/streamlit/issues/6657), [#6663](https://github.com/streamlit/streamlit/pull/6663)).