2022 release notes

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

发布日期:2022年12月14日

亮点

  • 👩‍🎨 为Altair、Plotly和Vega-Lite图表引入了一个新的Streamlit主题!查看我们的博客文章了解更多信息。
  • 🎨 Streamlit 现在支持在所有接受 Markdown 的命令中使用彩色文本,包括 st.markdownst.header 等。了解更多信息,请参阅我们的 文档

显著变化

  • 🔁 使用 st.experimental_memost.experimental_singleton 缓存的函数可以包含 Streamlit 媒体元素和表单。
  • ⛄ 所有接受pandas DataFrames作为输入的Streamlit命令也支持Snowpark和PySpark DataFrames。
  • 🏷 st.checkboxst.metric 可以使用 label_visibility 参数自定义如何隐藏它们的标签。

其他变更

  • 🗺️ st.map 改进:支持大写列和更好的异常消息 (#5679, #5792).
  • 🐞 错误修复:st.plotly_chart 尊重图表的高度属性和 use_container_width 参数 (#5779)。
  • 🪲 错误修复:所有带有 icon 参数的命令,例如 st.errorst.warning 等,现在可以包含带有变体选择器的表情符号 (#5583)。
  • 🐝 错误修复:防止在调整浏览器窗口大小时st.camera_input抖动(#5661)。
  • 🐜 错误修复:更新异常布局以避免堆栈跟踪溢出 (#5700).

发布日期:2022年11月17日

显著变化

  • 💅 小部件标签可以包含内联Markdown。查看我们的 文档 和演示 应用 以获取更多信息。
  • 🎵 st.audio 现在支持通过仅关键字参数 sample_rate 播放以 NumPy 数组形式传递的音频数据。
  • 🔁 使用 st.experimental_memost.experimental_singleton 缓存的函数可以包含使用 experimental_allow_widgets 参数的 Streamlit 小部件。这允许缓存复选框、滑块、单选按钮等!

其他变更

  • 👩‍🎨 设计调整以防止滑块抖动 (#5612).
  • 🐛 错误修复:标题中的链接是红色的,而不是蓝色的 (#5609)。
  • 🐞 错误修复:在退出全屏时正确调整 Plotly 图表的大小 (#5645)。
  • 🐝: 错误修复:不要意外触发 st.balloonsst.snow (#5401)。

发布日期:2022年10月27日

亮点

  • 🎨 st.buttonst.form_submit_button 支持通过 type 关键字参数将按钮指定为“primary”(用于额外强调)或“secondary”(用于普通按钮)。

显著变化

  • 🤏 st.multiselect 有一个仅限关键字的 max_selections 参数,用于限制一次可以选择的最大选项数量。
  • 📄 st.form_submit_button 现在具有 disabled 参数,该参数可以移除交互性。

其他变更

  • 🏓 st.dataframest.table 接受分类区间作为输入 (#5395).
  • ⚡ Plotly 图表的性能改进 (#5542).
  • 🪲 错误修复:st.download_button 支持文件名中的非拉丁1字符 (#5465)。
  • 🐞 错误修复:允许 st.image 将本地 GIF 渲染为 GIF,而不是静态 PNG (#5438)。
  • 📱 对多页面应用中的侧边栏进行了设计调整 (#5538, #5445, #5559).
  • 📊 改进内置图表的轴配置 (#5412).
  • 🔧 记忆和单例改进:支持show_spinner的文本值,使用datetime.timedelta对象作为ttl参数值,正确哈希PIL图像和Enum类,在返回未评估的数据帧时显示更好的错误消息(#5447, #5413, #5504, #5426, #5515)。
  • 🔍 在使用st.mapst.pydeck_chart创建的地图中,缩放按钮会根据应用程序的主题使用浅色或深色样式(#5479)。
  • 🗜 当前会话的传入WebSocket请求的头部信息可以通过一个新的“内部”(即:可能会在没有弃用的情况下更改)API获取(#5457)。
  • 📝 改进首次安装和使用 Streamlit 时打印的文本 (#5473)。

发布日期:2022年9月22日

显著变化

  • 🏷 小部件可以通过 label_visibility 参数自定义如何隐藏它们的标签。
  • 🔍 st.map 默认情况下会在地图上添加缩放按钮。
  • ↔️ st.dataframe 支持 use_container_width 参数以拉伸至整个容器宽度。
  • 🪄 对 st.dataframe 大小的改进:列宽计算现在会考虑列标题,支持双击列标题之间自动调整大小,更好的全屏支持,并修复了 width 参数的问题。

其他变更

  • ⌨️ st.time_input 允许仅使用键盘输入 (#5194).
  • 💿 st.memo 在使用 ttlpersist 关键字参数时会警告用户 (#5032)。
  • 🔢 st.number_input 在重新运行后返回一致的类型 (#5359)。
  • 🚒 st.sidebar 用户界面修复,包括修复 Firefox 浏览器中的滚动条问题 (#5157, #5324)。
  • 👩‍💻 改进使用指标以指导API开发。
  • ✍️ 更多的类型提示!(#5191, #5192, #5242, #5243, #5244, #5245, #5246) 感谢 harahu

发布日期:2022年8月11日

亮点

  • 📊 内置图表(例如 st.line_chart)获得了全新的外观和参数 xy!查看我们的 博客文章 了解更多信息。

显著变化

  • ⏯ 使用 st.experimental_memost.experimental_singleton 缓存的函数现在可以包含静态的 st 命令。这使得可以缓存文本、图表、数据框等内容!
  • ↔️ 侧边栏现在可以通过拖放调整大小。
  • ☎️ st.info, st.success, st.error, 和 st.warning 进行了重新设计,并新增了一个仅关键字参数:icon

其他变更

  • 🎚️ st.select_slider 现在可以正确处理所有浮点数 (#4973, #4978).
  • 🔢 st.multi_select 可以从枚举中获取值 (#4987)。
  • 🍊 st.slider 的范围值现在可以通过 st.session_state 设置 (#5007)。
  • 🎨 st.progress 进行了重新设计 (#5011, #5086).
  • 🔘 st.radio 更好地处理类似列表的数据框 (#5021)。
  • 🧞‍♂️ st.cache 现在可以正确处理 JSON 文件 (#5023)。
  • ⚓️ 当设置了anchor参数时,标题现在会渲染markdown (#5038)。
  • 🗻 st.image 现在可以从 Inkscape 加载 SVG 文件 (#5040)。
  • 🗺️ st.mapst.pydeck_chart 根据应用程序的主题使用浅色或深色样式 (#5074, #5108).
  • 🎈 点击 st.balloonsst.snow 下方的元素不再被阻止 (#5098)。
  • 🔝 嵌入式应用的上边距较小 (#5111).
  • 💅 调整了小部件、图表和数据框的填充和对齐方式 (#4995, #5061, #5081).
  • ✍️ 更多的类型提示! (#4926, #4932, #4933)

发布日期:2022年7月14日

亮点

  • 🗂 介绍 st.tabs 以在您的应用程序中使用标签容器。请参阅我们的 文档 了解如何使用此功能。

显著变化

  • ℹ️ st.metric 支持使用 help 关键字参数的工具提示。
  • 🚇 st.columns 支持使用 gap 关键字参数设置列之间的间隙大小。

其他变更

  • 💅 对 st.selectboxst.expanderst.spinner 的设计进行了微调 (#4801)。
  • 📱 当用户在移动设备上从导航菜单中选择页面时,侧边栏将关闭 (#4851).
  • 🧠 st.memo 支持数据类! (#4850)
  • 🏎 修复了一个在快速交互时破坏小部件状态的竞态条件 (#4882)。
  • 🏓 st.table 在放置在列和扩展器内时,将溢出的内容呈现为可滚动 (#4934).
  • 🐍 类型:Streamlit 中更多更新的类型注解!(#4808, #4809, #4856)

发布日期:2022年6月2日

亮点

  • 📖 引入对多页面应用的原生支持!查看我们的博客文章并尝试我们新的streamlit hello

显著变化

  • st.dataframe 已被重新设计。
  • 🔘 st.radio 有一个 horizontal 关键字参数,用于水平显示选项。
  • ⚠️ Streamlit Community Cloud 将支持更丰富的异常格式化。
  • 🏂 使用 st.experimental_user 获取私有应用上的用户信息。

其他变更

发布日期:2022年5月4日

显著变化

  • 🪗 st.json 现在支持一个仅关键字参数,expanded 用于决定 JSON 是否默认展开(默认为 True)。
  • 🏃‍♀️ 通过减少每次脚本运行时的冗余工作,进一步提升了性能。

其他变更

  • 🏇 当 disabled 被设置或取消设置时,Widgets 将保持其值 (#4527)。
  • 🧪 实验性功能,通过配置 runner.fastReruns 来提高重新运行的速度。有关启用此功能的已知问题,请参见 #4628
  • 🗺️ DataFrame 时间戳支持 UTC 偏移量(除了时区表示法)(#4669)。

发布日期:2022年3月24日

显著变化

  • 🏃‍♀️ 数据框应该会看到性能改进 (#4463).

其他变更

  • 🕰 st.slider 通过在后端移除时区转换,更好地处理时区问题 (#4348)。
  • 👩‍🎨 对我们头部的设计改进 (#4496).

发布日期:2022年3月3日

亮点

发布日期:2022年2月24日

其他变更

  • 🗜 WebSocket 压缩现在默认禁用,这将提高大数据帧的 CPU 和延迟性能。如果您发现增加的网络流量影响更大,可以使用 server.enableWebsocketCompression 配置选项重新启用它。
  • ☑️ 🔘 单选按钮和复选框改善了键盘导航的焦点 (#4308).

发布日期:2022年1月27日

显著变化

  • 🌟 网站图标默认使用PNG格式以支持透明度 (#4272).
  • 🚦 选择滑块小部件现在具有 disabled 参数,该参数可以移除交互性(完成我们所有的小部件)(#4314)。

其他变更

  • 🔤 对我们的markdown库进行了改进,以提供更好的HTML支持(特别是嵌套HTML)(#4221)。
  • 📖 当存在多个扩展器时,扩展器能更好地保持其展开状态 (#4290).
  • 🗳 改进了文件上传器和相机输入,仅在必要时调用其 on_change 处理程序 (#4270)。

发布日期:2022年1月13日

亮点

  • 📸 介绍 st.camera_input 用于直接从您的相机上传图像。

显著变化

  • 🚦 小部件现在具有 disabled 参数,该参数可以移除交互性。
  • 🚮 通过使用缓存函数上的clear()方法,以编程方式清除st.experimental_memost.experimental_singleton
  • 📨 开发者现在可以配置消息的最大大小,以适应Streamlit应用程序中的较大消息。请参阅server.maxMessageSize
  • 🐍 我们正式添加了对 Python 3.10 的支持。

其他变更

  • 😵‍💫 在 threading.current_thread() 上调用 strrepr 不会导致 RecursionError (#4172)。
  • 📹 当用户移除录制权限时,优雅地停止屏幕录制 (#4180).
  • 🌇 通过使用更高质量的图像双线性重采样算法来更好地缩放图像 (#4159).
forum

还有问题吗?

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