2023 release notes
本页面包含2023年发布的Streamlit版本的发布说明。有关Streamlit的最新版本,请参阅发布说明。
Version 1.29.0
发布日期:2023年11月30日
亮点
- 🔲
st.container和st.form现在有一个border参数来显示或隐藏边框。 - 🐍 Streamlit 支持 Python 3.12!
显著变化
- ⌛
st.dataframe,st.data_editor, 和st.table支持datetime.timedelta值 (#7689, #4489). - 💀 Streamlit 应用程序在初始化时预加载骨架元素,以实现更平滑的外观 (#7598)。
- 🏃 减少了运行
AppTest模拟应用程序的开销,特别是对于快速运行的应用程序(#7691)。 - 🛁
AppTest数据的字符串表示形式得到了改进,以提供更好的测试和调试体验 (#7658)。 - 🔢 应用程序可以配置为识别具有匹配成员名称的
Enum类为相同类(#7408, #4909)。感谢,Asaurus1! - ❌ "Made with Streamlit" 页脚不再出现在应用程序的底部 (#7583).
- 🧹 未使用的配置选项已被弃用 (#7584).
- 🕳️ 查询参数可以为空 (#7601, #7416).
- 💅 视觉调整 (#7592, #7630).
其他变更
- 🦗 错误修复:将浮点数转换为字节而不是哈希,以避免哈希不稳定性 (#7754)。感谢,BlackHC!
- 🦎 Bug 修复:修正了错误消息中的错误链接和拼写错误 (#7746, #7764, #7770)。感谢 ObservedObserver!
- 🐌 错误修复:
st.connection在使用相同类型的两个连接时正确缓存结果 (#7730, #7709)。 - 🕸️ Bug 修复:现在在多线程中使用上下文管理器可以按预期顺序显示内容 (#7715, #7668)。感谢 eric-skydio!
- 🦂 错误修复:在获取主机地址时添加了https回退(#7712, #7703)。感谢,LarsHill!
- 🛡️ 错误修复:为
pyarrow漏洞添加了安全补丁。使用pyarrow表反序列化的自定义组件应要求pyarrow>=14.0.1(#7695, #7700)。 - 🦟 错误修复:改进了
st.connection的类型定义 (#7671)。感谢 thezanke! - 🪰 Bug 修复:
SnowflakeConnection方法的重试范围缩小为仅在发生瞬态错误时进行,以避免不必要的重复错误 (#7645, #7637)。 - 🏗️ 移除了未记录的v0测试框架 (#7657).
- 🪳 Bug 修复:导航扩展箭头不再消失 (#7634, #7547).
- ❄️ 改进了当配置未找到时
SnowflakeConnection的错误信息 (#7652). - 🕷️ Bug 修复:
st.rerun在与st.chat_input一起使用时不再导致RecursionError(#7643, #7629). - 🐞 错误修复:
st.file_uploader不再导致额外的重新运行,因此不会与st.chat_input冲突 (#7641, #7556)。 - 🐝 错误修复:
AppTest在遇到st.container时不再引发错误 (#7644, #7636)。 - 🪲 错误修复:退出全屏视图时,Graphviz图表正确缩放(#7398, #7527)。
- 🎥 错误修复:当已知浏览器不支持时,“录制屏幕录像”被隐藏 (#7604)。
- 🐛 错误修复:增加了嵌入式应用的顶部填充,以更好地显示数据框架工具栏 (#7681, #7609, #7607).
- 🐜 错误修复:
st.rerun使用NoReturn以改进类型检查 (#7422) 感谢,kongzii。
Version 1.28.0
发布日期:2023年10月26日
发布视频
亮点
- 🧪 引入一个新的Streamlit应用测试框架!查看我们的文档,了解如何为您的应用构建自动化测试。
- 💻 宣布
st.connection的全面可用性,这是一个方便管理 Streamlit 应用程序中连接的命令。查看 文档 以了解更多信息。 - ❄️
SnowparkConnection已升级为全新改进的SnowflakeConnection— 同样的强大功能,甚至更多!查看我们的 内置连接。 - 🛠️
st.dataframe和st.data_editor有了一个新的工具栏!用户除了可以享受改进的行添加和删除UI外,还可以搜索和下载数据。查看我们更新的Dataframes指南。
显著变化
- 🌀 当使用带有缓存函数的加载指示器时,加载指示器将覆盖内容而不是将内容向下推 (#7488)。
- 📅
st.data_editor现在支持日期时间索引编辑 (#7483). - 🔢 改进了在
st.dataframe和st.data_editor中对decimal.Decimal的支持 (#7475)。 - 🥸 为
hashlib添加了全局 kwargs(#7527, #7526)。感谢 DueViktor! - 📋
st.components.v1.iframe现在允许写入剪贴板 (#7487)。感谢 dilipthakkar! - 📝
SafeSessionState断开连接已被脚本运行器 yield 点取代,以提高效率和清晰度 (#7373)。 - 🤖 当输入字符串太长无法显示为标签时,Langchain回调处理程序将在
st.status的主体中显示完整的输入字符串(#7478)。感谢,pokidyshev! - 📈
st.graphviz_chart现在支持使用不同的 Graphviz 布局引擎 (#7505, #4089)。 - 🦋 各种视觉调整 (#7486, #7592).
- 📊
plotly.js已升级至版本 2.26.1 (#7449, #7476, #7045). - 💽 数据帧的旧序列化已被移除。所有数据帧将通过Apache Arrow进行序列化(#7429)。
- 🖼️ 增加了对 Pillow 10.x 的兼容性 (#7442).
- 📬 将
_stcore/allowed-message-origins端点迁移到_stcore/host-config(#7342). - 💬 添加了
post_parent_message平台命令,用于从 Streamlit 应用程序向其父窗口发送自定义消息 (#7522)。
其他变更
- ⌨️ 改进了DataFrames的字符串数据类型处理 (#7479).
- ✒️
st.write将尽可能避免使用unsafe_allow_html=True(#7432). - 🐛 错误修复:为了改进行为和一致性,简化了
st.expander的实现 (#7247, #2839, #4111, #4651, #5604). - 🪲 错误修复:侧边栏中的多页链接现在与其他侧边栏元素对齐 (#7531)。
- 🐜 错误修复:
st.chat_input不会在IDE中错误地提示label参数 (#7560)。 - 🐝 错误修复:滚动条正确覆盖
st.dataframe和st.data_editor,而不会添加额外的空白空间 (#7090, #6888)。 - 🐞 错误修复:
st.chat_message在移除 AutoSizer 后表现正常 (#7504, #7473)。 - 🕷️ 错误修复:为非英文标题可靠地生成锚点链接(#7454, #5291)。
- ☃️ 错误修复:
st.connections.SnowparkConnection更准确地检测到它在 Snowflake 中的 Streamlit 运行时(#7502)。 - 🪳 Bug 修复:当超出 pandas
Styler对象的大小限制时,会显示一个用户友好的警告 (#7497, #5953)。 - 🪰 Bug 修复:
st.data_editor自动将非字符串列名转换为字符串 (#7485, #6950)。 - 🦠 错误修复:
st.data_editor正确识别非范围索引为必需列 (#7481, #6995)。 - 🦟 错误修复:
st.file_uploader正确显示复合文件扩展名,如csv.gz(#7362)。感谢 mo42! - 🦂 错误修复:列配置不再使用已弃用的类型检查 (#7496, #7477, #7550)。感谢,c-bik!
- 🦗 错误修复:额外的工具栏项目不再垂直堆叠 (#7470, #7471).
- 🕸️ Bug 修复:列配置不再在 Mypy 中引起类型警告 (#7457)。感谢 kopp!
- 🐌 错误修复:Bokeh 滑块不再导致 JavaScript 错误 (#7441, #7171).
- 🦎 错误修复:缓存现在能够识别具有相同值但不同列名的DataFrames为不同的对象(#7331, #7086)。
Version 1.27.0
发布日期:2023年9月21日
亮点
- ✨ 介绍
st.scatter_chart— 一个新的、简单的图表元素,用于快速轻松地构建散点图!查看我们的 文档。 - 🔗 介绍
st.link_button!想要在一个新标签页中打开外部链接,并且比纯文本链接更有吸引力吗?查看我们的 文档 了解如何操作。 - 🏃 宣布
st.rerun的全面可用性,这是一个可以中断脚本并立即触发重新运行的命令。
显著变化
- 👻 你可以通过将
None设置为st.number_input、st.selectbox、st.date_input、st.time_input、st.radio、st.text_input和st.text_area的初始值来初始化小部件为空状态! - 📤
st.download_button现在使用target="_self"而不是打开新标签页 (#7151, #7132). - 🧟 移除了未维护的
pympler依赖 (#7193, #7131)。感谢 rudyardrichter!
其他变更
- 🐛 错误修复:
st.multiselect现在在没有结果匹配用户搜索时显示正确的消息 (#7205, #7116)。 - 🪲 错误修复:
st.experimental_user现在默认值为test@example.com(#7219, #7215). - 🐜 错误修复:当选择小范围时,
st.slider标签不会重叠 (#7221, #3385)。 - 🐝 错误修复:类型检查正确识别所有字符串类型,以避免哈希错误 (#7255, #6455).
- 🐞 错误修复:使用 JSON5 解析 JSON,以避免在使用
st.pydeck_chart时因空值导致的错误 (#7256, #5799)。 - 🕷️ Bug 修复:Streamlit 现在能够正确地将不同页面上的相同小部件识别为不同的(#7264, #6146)。
- 🦋 Bug 修复:对小组件进行了视觉调整以实现响应式行为 (#7145)。
- 🪳 Bug 修复:SVGs 现在可以准确显示 (#7183, #3882)。
- 🪰 Bug 修复:
st.video现在可以正确更新start_time的更改 (#7257, #7126)。 - 🦠 错误修复:向
st.session_state添加了额外的错误处理 (#7280, #7206)。 - 🦟 错误修复:
st.map正确刷新新数据 (#7307, #7294). - 🦂 Bug 修复:装饰性的应用标题行不再被侧边栏覆盖 (#7297, #6264)。
- 🦗 错误修复:
st.code不再触发CachedStFunctionWarning(#7306, #7055)。 - 🕸️ Bug 修复:
st.download_button不再因不同的data而重置 (#7316, #7308). - 🐌 错误修复:无论是否启用
fastRerun,小部件在页面仍在运行时始终能识别用户交互(#7283, #6643)。 - 🦎 Bug 修复:
st.tabs已改进,以更好地处理和渲染有条件出现的标签 (#7287, #7310, #5454, #7040)。
Version 1.26.0
发布日期:2023年8月24日
亮点
- 🤖 引入
st.status来显示长时间运行的进程和外部 API 调用的输出 (#7140)。与st.chat_message配合使用效果很好!查看我们的 文档 了解如何使用此功能。 - 🚥 引入
st.toggle— 当你需要一个开关时,作为st.checkbox的替代方案。
显著变化
- 🎨 简单的图表元素有一个
color参数来设置数据点或系列的颜色(#7022)。 - 🌈 Markdown 支持彩虹色和灰色 (#7106, #7179).
- 📏
st.header和st.subheader现在有可选的彩色分隔线 (#7133)。 - 🚀 部署到社区云变得更加容易——本地运行的应用程序在其工具栏中有一个部署按钮 (#7085, #6935).
- 🖌️
st.download_button有一个新的参数type用于主题设置 (#7056, #7038)。 - 🤖
st.chat_message有用于消息的AI和人类预设 (#7094)。 - 💅
st.radio选项支持 markdown 并有标题 (#7018, #7105, #6085). - 🧼 各种视觉调整 (#7050, #894).
- 🛏️ 用
pillow替换了已弃用的imghdr依赖项 (#7081, #7027). - 🔢
st.number_input的步进按钮(+/-)在标签导航期间被忽略(#7154)。感谢 @denck007!
其他变更
- 🍞 错误修复:Toast 消息不再被
st.chat_input阻挡 (#7204, #7115)。 - 🕸️ Bug 修复:Widget ID 现在稳定,以防止状态不一致 (#7003)。
- 🦟 错误修复:现在表单中的浏览器自动填充功能已被正确识别 (#7150, #7101, #7084).
- 🪱 错误修复:
st.file_uploader在 WebSocket 连接断开并重新连接时不再导致会话状态重置 (#7149, #7025)。 - 🏎️ 错误修复:为了提高性能,Pydeck JSON 数据被缓存 (#7113, #5532).
- 🦋 错误修复:
st.chat_input在使用输入法编辑器时不再提前提交(#6993)。 - 🐞 错误修复:
st.tabs的标签背景现在变为透明 (#7070, #5707)。 - 🐝 错误修复:在使用
st.button中的help参数时,页面宽度不再被忽略 (#7033, #6161)。 - 🐜 错误修复:调整了Altair颜色规范,以提高在暗模式下的可见性(#7061, #3343)。
- 🪲 错误修复:
st.chat_message可以正确使用本地图片作为头像 (#7130)。 - 🐛 错误修复:指定MD5不用于安全目的 (#7122, #7120).
- 🪄 错误修复:异步函数的文档字符串被Streamlit magic忽略(#7143, #7137)。
Version 1.25.0
发布日期:2023年7月20日
亮点
- 🍞 介绍
st.toast— 一个命令,用于在应用程序的右下角短暂显示提示消息。查看 我们的文档 了解如何使用此功能。
显著变化
- 🗺️
st.map现在有参数latitude、longitude、color和size来定制数据点 (#6896)。 - 🚩
st.multiselect支持通过仅关键字参数placeholder和max_selections分别设置占位符和指定最大选择数量 (#6901, #4750)。感谢 @fhiroki! - 📅 使用
format参数自定义st.date_input的日期格式(#6974, #5234)。 - ↩️ Forms 现在可以在
st.text_input、st.number_input或st.text_area内部使用 Enter/Return 键提交 (#6911, #3790)。 - 🍢 应用程序右上角的应用程序菜单图标已从“☰”更改为“⋮”(#6947)。
其他变更
- ⛓️ 多个Python依赖的最低要求版本已提高,包括
numpy>=1.19.3和pandas>=1.3.0(#6802)。 - 🛡️
protobufjs从 7.2.1 升级到 7.2.4 (#6959). - ✨ 对Streamlit的输入小部件进行了视觉设计调整 (#6944)。
- 🦋 错误修复:
st.slider现在接受像numpy.int64这样的通用数字类型,而不仅仅是int和float(#6816, #6815)。感谢 @milliams! - 🐜 错误修复:当位于
st.expander内时,st.slider和st.select_slider的数据标签不再溢出 (#6828, #6297)。 - 🐛 错误修复:元素不再在每次重新运行时从头开始重新渲染 (#6923, #6920).
- 🐞 错误修复:
st.data_editor正确哈希样式对象,以确保在重新运行时的稳定性 (#6815, #6898)。 - 🐝 错误修复:修复了使用
st.chat_input的嵌入式应用程序的填充问题,以防止消息被截断 (#6979)。
Version 1.24.0
发布日期:2023年6月27日
亮点
- 💬 介绍
st.chat_message和st.chat_input— 两个新的 聊天元素,让你可以构建对话式应用。在我们的 教程 中学习如何在你的LLM驱动的聊天应用中使用这些功能。 - 💾 Streamlit的缓存装饰器现在允许你使用仅关键字参数
hash_funcs来自定义Streamlit对输入参数的哈希处理。
显著变化
- 🐍 我们已在核心库和Streamlit Community Cloud中弃用了对Python 3.7的支持(#6868)。
- 📅
st.cache_data和st.cache_resource可以对时区感知的datetime对象进行哈希处理 (#6812, #6690, #5110).
其他变更
- ✨ 对Streamlit的输入小部件进行了视觉设计调整 (#6817)。
- 🐛 错误修复:
st.write使用st.help美化打印数据类 (#6750)。 - 🪲 错误修复:
st.button的高度与其他小部件保持一致 (#6738)。 - 🐜 错误修复:升级了
react-range前端依赖以修复滑块的内存使用问题 (#6764, #5436)。感谢 @wolfd! - 🐝 错误修复:Pydantic 验证器在应用重新运行时不再导致异常 (#6664, #3218).
- 🐞 错误修复:
streamlit config show尊重换行符 (#6758, #2868)。 - 🪰 错误修复:修复了一个竞态条件,确保在文件更改时 Streamlit 重新运行最新代码 (#6884)。
- 🦋 Bug 修复:当用户点击锚点链接时,应用程序不再重新运行 (#6834, #6500).
- 🕸️ Bug 修复:在
st.number_input中为min_value和max_value添加了健壮的越界检查 (#6847, #6797)。
Version 1.23.0
发布日期:2023年6月1日
亮点
- ✂️ 宣布 st.data_editor 的全面可用性,这是一个小部件,允许您在类似表格的UI中编辑DataFrames和许多其他数据结构。重大变更: 在
st.session_state中使用的数据编辑器表示已更改。在 Access edited data 中了解更多关于新格式的信息。 - ⚙️ 引入列配置API,提供一系列方法来配置
st.dataframe和st.data_editor列的显示和编辑行为(例如它们的标题、可见性、类型或格式)。请密切关注接下来两周内即将发布的详细博客文章和深入文档。 - 🔌 学习使用
st.experimental_connection在您的应用程序中创建和管理数据连接,通过新的 连接到数据 文档和 视频教程。
显著变化
- 📊 Streamlit 现在支持 Protobuf 4 和 Altair 5 (#6215, #6618, #5626, #6622).
- ☎️ st.dataframe 和 st.data_editor 可以使用
hide_index隐藏索引列,使用column_order指定列的显示顺序,并使用disabled参数禁用单个列的编辑。 - ⏱️ st.cache_data 和 st.cache_resource 中的
ttl参数接受格式化字符串,因此你可以简单地使用ttl="30d"、ttl="1h30m"以及 Pandas 的 Timedelta 构造函数 支持的任何其他w、d、h、m、s组合 (#6560)。 - 📂
st.file_uploader现在更准确地解释type参数。例如,"jpg" 或 ".jpg" 现在接受 "jpg" 和 "jpeg" 扩展名。此功能也已扩展到 "mpeg/mpg"、"tiff/tif"、"html/htm" 和 "mpeg4/mp4"。 - 🤫 新的
global.disableWidgetStateDuplicationWarning配置选项允许静默因同时设置小部件默认值和键控会话状态值而触发的警告(#3605, #6640)。感谢 @antonAce!
其他变更
- 🏃♀️通过懒加载一些依赖项改进了启动时间 (#6531)。
- 👋 由于弃用和使用率低,移除了
st.beta_*和st.experimental_show(#6558) - 🚀 Further improvements to st.dataframe and st.data_editor:
- Improved editing on mobile devices for the data editor (#6548).
- All editable columns have an icon in their column header and support tooltips (#6550, #6561).
- Enable editing for columns containing datetime, date, or time values (#6025).
- New input validation options for columns in the data editor, such as
max_charsandvalidatefor text columns, andmin_value,max_valueandstepfor number columns (#6563). - Improved type parsing capabilities in the data editor (#6551).
- Unified missing values to
Nonein returned data structures (#6544). - A warning is shown in cells when integers exceed the maximum safe value of
(2^53) -1(#6311, #6549). - Prevented editing the sessions state by showing a warning (#6634).
- Fixed issues with list columns sometimes breaking the frontend (#6644).
- Fixed a display issue with index columns using category dtype (#6680, #6598).
- Fixed an issue that prevented a rerun when adding empty rows (#6598).
- Unified the behavior between
st.data_editorandst.dataframerelated to auto-hiding the index column(s) based on the input data (#6659, #6598)
- 🛡️ Streamlit的安全政策可以在其GitHub仓库中找到(#6666)。
- 🤏 记录了
st.number_input和st.slider的整数大小限制(#6724)。 - 🐍 Streamlit 的大部分 Python 依赖项都设定了最大允许版本,标准上限设置为下一个主要版本,但不包括该版本 (#6691)。
- 💅 应用内模态框的UI设计改进 (#6688).
- 🐞 错误修复:
st.date_input的日期选择器在暗模式下同样可见 (#6072, #6630)。 - 🐜 错误修复:多页面应用中的侧边栏导航展开指示器已恢复 (#6731).
- 🐛 错误修复:
st.set_page_config的文档字符串和异常消息已更新,以澄清此命令可以在多页面应用程序中为每个页面调用一次,而不是整个应用程序调用一次 (#6594)。 - 🐝 错误修复:
st.json在渲染时不再将键和值中的多个空格折叠为单个空格 (#6657, #6663)。
Version 1.22.0
发布日期:2023年4月27日
亮点
- 🔌 介绍
st.experimental_connection:使用我们新的连接功能,轻松将您的应用程序连接到数据源和API。在API参考中查找更多详细信息,并请继续关注即将发布的博客文章和深入文档!同时,探索我们更新的MySQL和Snowflake连接教程,了解此功能的示例。
显著变化
- 🐼 Streamlit 现在支持 Pandas 2.0 (#6413, #6378, #6507). 感谢, connortann!
- 🍔 使用
client.toolbarMode配置选项 (#6174) 自定义工具栏、选项菜单和设置对话框中项目的可见性。 - 🪵 Streamlit 日志现在位于 "streamlit" 命名空间中,而不是根日志记录器,使应用程序开发者能够更好地管理日志处理 (#3978, #6377).
其他变更
- 🔏 CLI参数不能再用于设置敏感配置值 (#6376).
- 🤖 通过减少日志噪音改善了调试体验 (#6391).
- 🐞 错误修复:
@st.cache_data装饰的函数支持 UUID 对象作为参数 (#6440, #6459). - 🐛 错误修复:现在在通过按钮和其他元素进行选项卡切换时,仅在聚焦时显示红色边框,而不是在点击时显示 (#6373)。
- 🪲 错误修复:
st.multiselect的清除图标更大,并包含悬停效果 (#6471)。 - 🐜 错误修复:自定义主题字体设置不再应用于代码块 (#6484, #6535).
- ©️ Bug 修复:当您悬停在代码块上时,
st.code的复制到剪贴板按钮会出现 (#6490, #6498)。
Version 1.21.0
发布日期:2023年4月6日
亮点
- 📏 介绍
st.divider— 一个在你的应用中显示水平线的命令。了解如何在其 API 参考 中使用此命令。 - 🔏 Streamlit 现在支持使用全局的
secrets.toml文件,除了项目级别的文件外,可以轻松存储并安全访问您的秘密。了解更多信息,请访问 Secrets management。 - 🚀 st.help 已经改版,现在可以显示更多关于对象方法、属性、类等信息,这对于调试非常有用 (#5857, #6382)!
显著变化
- 🪜 st.time_input 支持通过仅关键字参数
step添加步进间隔 (#6071)。 - ❓ 大多数 文本元素 可以使用
help参数包含工具提示 (#6043)。 - ↔️ st.pyplot 有一个
use_container_width参数,用于将图表设置为容器宽度(现在所有 chart elements 都支持此参数)(#6067)。 - 👩💻 st.code 支持通过布尔参数
line_numbers选择性地在代码块左侧显示行号 (#5756, #6042)。 - ⚓ 可以通过设置
anchor=False来关闭标题元素中的锚点 (#6158)。
其他变更
- 🐼 st.table 和 st.dataframe 支持
pandas.Period,以及分类列中的数字和布尔类型 (#2547, #5429, #5329, #6248)。 - 🕸️ 已将
.webp添加到允许的静态文件扩展名列表中 (#6331) - 🐞 错误修复:在websocket关闭时停止脚本执行,以立即清除会话信息 (#6166, #6204).
- 🐜 错误修复:更新了允许/禁止的标签Markdown行为,使得不支持的元素被解包,仅渲染其子元素(文本内容)(#5872, #6036, #6054, #6163)。
- 🪲 错误修复:在重新运行时不要推送浏览器历史状态,在
streamlit hello中使用HTTPS加载外部资源,并使浏览器后退按钮适用于多页面应用(#5292, #6266, #6232)。感谢,whitphx! - 🐝 错误修复:避免在非UTF-8终端上显示表情符号。(#2284, #6088). 感谢, kcarnold!
- 📁 Bug 修复:覆盖默认使用的 File System Access API 用于
react-dropzone,以便st.file_uploader的文件选择对话框仅显示与type参数中包含的文件类型相对应的文件类型 (#6176, #6315)。 - 💾 错误修复:使缓存装饰函数的
.clear()方法正常工作 (#6310, #6321). - 🏃 错误修复:
st.experimental_get_query_params不需要重新运行即可工作 (#6347, #6348)。感谢 PaleNeutron! - 🐛 错误修复:
CachedStFunctionWarning提到experimental_allow_widgets而不是已弃用的suppress_st_warning(#6216, #6217).
Version 1.20.0
发布日期:2023年3月9日
显著变化
- 🔐 增加了配置SSL的支持,以便直接通过HTTPS提供应用程序(#5969)。
- 🖼️ 通过
/?embed和/?embed_options查询参数,对应用程序嵌入行为进行细粒度控制。在我们的 文档 中了解如何使用此功能 (#6011, #6019)。 - ⚡ 默认启用了
runner.fastReruns配置选项,使应用对用户交互更加响应迅速 (#6200)。
其他变更
- 🍔 通过移除最少使用的选项清理了汉堡菜单 (#6080).
- 🖨️ 设计更改,确保应用程序在打印或保存为PDF时看起来很好 (#6180).
- 🐞 错误修复:改进了
st.experimental_data_editor中的dtypes检查 (#6185, #6188)。 - 🐛 错误修复:当不在列内时,正确放置
st.metric的help工具提示 (#6168)。 - 🪲 错误修复:修复了从服务器的
ForwardMsgCache检索消息时的回归问题 (#6210)。 - 🌀 Bug 修复:
st.cache_data文档字符串中关于show_spinner参数的描述现在列出了str作为支持的类型 (#6207, #6213)。 - ⏱️ 使ping和websocket的超时时间更加宽松(#6212)。
- 🗺️
st.map和st.pydeck_chart文档指出,Streamlit 的 Mapbox 令牌不会永久有效 (#6143)。
Version 1.19.0
发布日期:2023年2月23日
亮点
其他变更
- ✨ Streamlit的GitHub README有了新面貌 (#6016).
- 🌚 提高了暗模式下样式化数据框单元格的可读性 (#6060, #6098).
- 🐛 错误修复:使应用程序在最新版本的Safari中再次工作,并在Chrome中阻止第三方Cookie的情况下工作 (#6092, #6094, #6087, #6100).
- 🐞 错误修复:在“清除缓存”对话框和错误信息中引用新的缓存原语 (#6082, #6128).
- 🐝 错误修复:正确缓存类成员函数和实例方法 (#6109, #6114).
- 🐜 错误修复:修复了
st.metric工具提示位置的回归问题 (#6093, #6129)。 - 🪲 错误修复:允许在扩展器中为数据框、图表等显示全屏按钮(#6083, #6148)。
Version 1.18.0
发布日期:2023年2月9日
亮点
显著变化
- 🪆
st.columns支持在应用程序的主区域中进行最多一级的列嵌套(即列中的列)。 - ⏳
st.progress支持使用text关键字参数在进度条上方添加一条消息。 - ↔️
st.button有一个可选的use_container_width参数,允许你将按钮拉伸到容器的整个宽度。 - 🐍 我们正式添加了对 Python 3.11 的支持。
- 🖨️ 通过应用程序的汉堡菜单中的“打印”选项将您的应用程序保存为PDF。
- 🛎️ 应用程序可以通过
enableStaticServing配置选项提供小的静态媒体文件。请参阅我们的 文档 了解如何使用此功能,并查看我们的演示 应用 以获取示例。
其他变更
- 🏁 所有 Streamlit 端点(包括
/healthz)已重命名,以保持一致的命名模式,并避免与 GCP(特别是 Cloud Run 和 App Engine)的保留端点发生冲突 (#5534)。 - ⚡ 当多个会话同时访问未计算的缓存值时,提高了缓存性能 (#6017).
- 🚧 Streamlit 仅在
client.showErrorDetails配置选项设置为True时在浏览器中显示弃用警告。无论是否在浏览器中显示,弃用警告始终会记录到控制台 (#5945)。 - 🏓 重构了
st.dataframe的内部结构,以改进数据框的处理和转换,例如检测更多类型、将键值字典转换为数据框等 (#6026, #6023)。 - 💽 当小部件标签传递了不支持的Markdown元素时的行为已被记录 (#5978)。
- 📊 错误修复:Plotly 改进 — 升级了多个前端依赖项,包括 Plotly,到最新版本,以正确重绘缓存的图表,使 Plotly mapbox 动画正常工作,并允许用户在使用 Streamlit 主题时更新图表布局 (#5885, #5967, #6055).
- 📶 错误修复:允许浏览器标签页在暂时断开连接(由于网络波动、负载均衡器超时等)时避免丢失所有状态(#5856)。
- 📱 错误修复:当
st.selectbox和st.multiselect的选项少于10个时,移动设备上的键盘会被隐藏 (#5979)。 - 🐝 错误修复:对
st.metric、st.multiselect、st.tabs和菜单项进行了设计调整,以防止标签溢出和滚动问题,特别是在小视口尺寸下 (#5933, #6034)。 - 🐞 错误修复:在
st.set_page_config中切换到一个可用的Twemoji URL,用于加载页面图标 (#5943)。 - ✍️ 更多类型提示 (#5986)。感谢,harahu!
Version 1.17.0
发布日期:2023年1月12日
显著变化
- 🪄
@st.experimental_singleton支持一个可选的validate参数,该参数接受一个用于验证缓存数据的验证函数,并在每次访问缓存值时调用。 - 💾
@st.experimental_memo的persist参数也可以接受布尔值。
其他变更
- 📟 多页面应用从页面选择器中排除了
__init__.py(#5890)。 - 📐 嵌入应用的 iframes 能够动态调整其高度 (#5894)。
- 🐞 错误修复:范围滑块的拇指值现在会尊重容器的宽度 (#5913).
- 🪲 错误修复:Streamlit命令的文档字符串中的所有示例都包含相关的导入,以使它们可重现 (#5877)。
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。