2023 release notes

本页面包含2023年发布的Streamlit版本的发布说明。有关Streamlit的最新版本,请参阅发布说明

发布日期:2023年11月30日

亮点

  • 🔲 st.containerst.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

发布日期:2023年10月26日

发布视频

亮点

  • 🧪 引入一个新的Streamlit应用测试框架!查看我们的文档,了解如何为您的应用构建自动化测试。
  • 💻 宣布 st.connection 的全面可用性,这是一个方便管理 Streamlit 应用程序中连接的命令。查看 文档 以了解更多信息。
  • ❄️ SnowparkConnection 已升级为全新改进的 SnowflakeConnection — 同样的强大功能,甚至更多!查看我们的 内置连接
  • 🛠️ st.dataframest.data_editor 有了一个新的工具栏!用户除了可以享受改进的行添加和删除UI外,还可以搜索和下载数据。查看我们更新的Dataframes指南。

显著变化

  • 🌀 当使用带有缓存函数的加载指示器时,加载指示器将覆盖内容而不是将内容向下推 (#7488)。
  • 📅 st.data_editor 现在支持日期时间索引编辑 (#7483).
  • 🔢 改进了在 st.dataframest.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.dataframest.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)。

发布日期:2023年9月21日

亮点

  • ✨ 介绍 st.scatter_chart — 一个新的、简单的图表元素,用于快速轻松地构建散点图!查看我们的 文档
  • 🔗 介绍 st.link_button!想要在一个新标签页中打开外部链接,并且比纯文本链接更有吸引力吗?查看我们的 文档 了解如何操作。
  • 🏃 宣布st.rerun的全面可用性,这是一个可以中断脚本并立即触发重新运行的命令。

显著变化

其他变更

  • 🐛 错误修复: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)。

发布日期:2023年8月24日

亮点

  • 🤖 引入 st.status 来显示长时间运行的进程和外部 API 调用的输出 (#7140)。与 st.chat_message 配合使用效果很好!查看我们的 文档 了解如何使用此功能。
  • 🚥 引入 st.toggle — 当你需要一个开关时,作为 st.checkbox 的替代方案。

显著变化

其他变更

  • 🍞 错误修复: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)。

发布日期:2023年7月20日

亮点

  • 🍞 介绍 st.toast — 一个命令,用于在应用程序的右下角短暂显示提示消息。查看 我们的文档 了解如何使用此功能。

显著变化

  • 🗺️ st.map 现在有参数 latitudelongitudecolorsize 来定制数据点 (#6896)。
  • 🚩 st.multiselect 支持通过仅关键字参数 placeholdermax_selections 分别设置占位符和指定最大选择数量 (#6901, #4750)。感谢 @fhiroki
  • 📅 使用format参数自定义st.date_input的日期格式(#6974, #5234)。
  • ↩️ Forms 现在可以在 st.text_inputst.number_inputst.text_area 内部使用 Enter/Return 键提交 (#6911, #3790)。
  • 🍢 应用程序右上角的应用程序菜单图标已从“”更改为“”(#6947)。

其他变更

  • ⛓️ 多个Python依赖的最低要求版本已提高,包括 numpy>=1.19.3pandas>=1.3.0 (#6802)。
  • 🛡️ protobufjs 从 7.2.1 升级到 7.2.4 (#6959).
  • ✨ 对Streamlit的输入小部件进行了视觉设计调整 (#6944)。
  • 🦋 错误修复:st.slider 现在接受像 numpy.int64 这样的通用数字类型,而不仅仅是 intfloat (#6816, #6815)。感谢 @milliams
  • 🐜 错误修复:当位于 st.expander 内时,st.sliderst.select_slider 的数据标签不再溢出 (#6828, #6297)。
  • 🐛 错误修复:元素不再在每次重新运行时从头开始重新渲染 (#6923, #6920).
  • 🐞 错误修复:st.data_editor 正确哈希样式对象,以确保在重新运行时的稳定性 (#6815, #6898)。
  • 🐝 错误修复:修复了使用 st.chat_input 的嵌入式应用程序的填充问题,以防止消息被截断 (#6979)。

发布日期:2023年6月27日

亮点

  • 💬 介绍 st.chat_messagest.chat_input — 两个新的 聊天元素,让你可以构建对话式应用。在我们的 教程 中学习如何在你的LLM驱动的聊天应用中使用这些功能。
  • 💾 Streamlit的缓存装饰器现在允许你使用仅关键字参数hash_funcs来自定义Streamlit对输入参数的哈希处理。

显著变化

  • 🐍 我们已在核心库和Streamlit Community Cloud中弃用了对Python 3.7的支持(#6868)。
  • 📅 st.cache_datast.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_valuemax_value 添加了健壮的越界检查 (#6847, #6797)。

发布日期:2023年6月1日

亮点

  • ✂️ 宣布 st.data_editor 的全面可用性,这是一个小部件,允许您在类似表格的UI中编辑DataFrames和许多其他数据结构。重大变更:st.session_state 中使用的数据编辑器表示已更改。在 Access edited data 中了解更多关于新格式的信息。
  • ⚙️ 引入列配置API,提供一系列方法来配置st.dataframest.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_datast.cache_resource 中的 ttl 参数接受格式化字符串,因此你可以简单地使用 ttl="30d"ttl="1h30m" 以及 Pandas 的 Timedelta 构造函数 支持的任何其他 wdhms 组合 (#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_chars and validate for text columns, and min_value, max_value and step for number columns (#6563).
    • Improved type parsing capabilities in the data editor (#6551).
    • Unified missing values to None in 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_editor and st.dataframe related to auto-hiding the index column(s) based on the input data (#6659, #6598)
  • 🛡️ Streamlit的安全政策可以在其GitHub仓库中找到(#6666)。
  • 🤏 记录了st.number_inputst.slider的整数大小限制(#6724)。
  • 🐍 Streamlit 的大部分 Python 依赖项都设定了最大允许版本,标准上限设置为下一个主要版本,但不包括该版本 (#6691)。
  • 💅 应用内模态框的UI设计改进 (#6688).
  • 🐞 错误修复:st.date_input 的日期选择器在暗模式下同样可见 (#6072, #6630)。
  • 🐜 错误修复:多页面应用中的侧边栏导航展开指示器已恢复 (#6731).
  • 🐛 错误修复:st.set_page_config 的文档字符串和异常消息已更新,以澄清此命令可以在多页面应用程序中为每个页面调用一次,而不是整个应用程序调用一次 (#6594)。
  • 🐝 错误修复:st.json 在渲染时不再将键和值中的多个空格折叠为单个空格 (#6657, #6663)。

发布日期:2023年4月27日

亮点

  • 🔌 介绍 st.experimental_connection:使用我们新的连接功能,轻松将您的应用程序连接到数据源和API。在API参考中查找更多详细信息,并请继续关注即将发布的博客文章和深入文档!同时,探索我们更新的MySQLSnowflake连接教程,了解此功能的示例。

显著变化

  • 🐼 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)。

发布日期: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.tablest.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).

发布日期: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.metrichelp 工具提示 (#6168)。
  • 🪲 错误修复:修复了从服务器的 ForwardMsgCache 检索消息时的回归问题 (#6210)。
  • 🌀 Bug 修复:st.cache_data 文档字符串中关于 show_spinner 参数的描述现在列出了 str 作为支持的类型 (#6207, #6213)。
  • ⏱️ 使ping和websocket的超时时间更加宽松(#6212)。
  • 🗺️ st.mapst.pydeck_chart 文档指出,Streamlit 的 Mapbox 令牌不会永久有效 (#6143)。

发布日期:2023年2月23日

亮点

  • ✂️ 介绍 st.experimental_data_editor,一个小部件,允许您在类似表格的UI中编辑DataFrames和许多其他数据结构。在我们的文档博客文章中了解更多。

其他变更

  • ✨ Streamlit的GitHub README有了新面貌 (#6016).
  • 🌚 提高了暗模式下样式化数据框单元格的可读性 (#6060, #6098).
  • 🐛 错误修复:使应用程序在最新版本的Safari中再次工作,并在Chrome中阻止第三方Cookie的情况下工作 (#6092, #6094, #6087, #6100).
  • 🐞 错误修复:在“清除缓存”对话框和错误信息中引用新的缓存原语 (#6082, #6128).
  • 🐝 错误修复:正确缓存类成员函数和实例方法 (#6109, #6114).
  • 🐜 错误修复:修复了st.metric工具提示位置的回归问题 (#6093, #6129)。
  • 🪲 错误修复:允许在扩展器中为数据框、图表等显示全屏按钮(#6083, #6148)。

发布日期:2023年2月9日

亮点

  • 🎊 介绍 @st.cache_data@st.cache_resource — 两个新的缓存命令,用于替换 st.cache!查看我们的 博客文章文档 以获取更多信息。

显著变化

  • 🪆 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.selectboxst.multiselect的选项少于10个时,移动设备上的键盘会被隐藏 (#5979)。
  • 🐝 错误修复:对 st.metricst.multiselectst.tabs 和菜单项进行了设计调整,以防止标签溢出和滚动问题,特别是在小视口尺寸下 (#5933, #6034)。
  • 🐞 错误修复:在st.set_page_config中切换到一个可用的Twemoji URL,用于加载页面图标 (#5943)。
  • ✍️ 更多类型提示 (#5986)。感谢,harahu

发布日期:2023年1月12日

显著变化

  • 🪄 @st.experimental_singleton 支持一个可选的 validate 参数,该参数接受一个用于验证缓存数据的验证函数,并在每次访问缓存值时调用。
  • 💾  @st.experimental_memopersist 参数也可以接受布尔值。

其他变更

  • 📟 多页面应用从页面选择器中排除了 __init__.py (#5890)。
  • 📐 嵌入应用的 iframes 能够动态调整其高度 (#5894)。
  • 🐞 错误修复:范围滑块的拇指值现在会尊重容器的宽度 (#5913).
  • 🪲 错误修复:Streamlit命令的文档字符串中的所有示例都包含相关的导入,以使它们可重现 (#5877)。
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。