2022 release notes
本页面包含2022年发布的Streamlit版本的发布说明。有关Streamlit的最新版本,请参阅发布说明。
Version 1.16.0
发布日期:2022年12月14日
亮点
- 👩🎨 为Altair、Plotly和Vega-Lite图表引入了一个新的Streamlit主题!查看我们的博客文章了解更多信息。
- 🎨 Streamlit 现在支持在所有接受 Markdown 的命令中使用彩色文本,包括
st.markdown、st.header等。了解更多信息,请参阅我们的 文档。
显著变化
- 🔁 使用
st.experimental_memo或st.experimental_singleton缓存的函数可以包含 Streamlit 媒体元素和表单。 - ⛄ 所有接受pandas DataFrames作为输入的Streamlit命令也支持Snowpark和PySpark DataFrames。
- 🏷 st.checkbox 和 st.metric 可以使用
label_visibility参数自定义如何隐藏它们的标签。
其他变更
- 🗺️
st.map改进:支持大写列和更好的异常消息 (#5679, #5792). - 🐞 错误修复:
st.plotly_chart尊重图表的高度属性和use_container_width参数 (#5779)。 - 🪲 错误修复:所有带有
icon参数的命令,例如 st.error、st.warning 等,现在可以包含带有变体选择器的表情符号 (#5583)。 - 🐝 错误修复:防止在调整浏览器窗口大小时
st.camera_input抖动(#5661)。 - 🐜 错误修复:更新异常布局以避免堆栈跟踪溢出 (#5700).
Version 1.15.0
发布日期:2022年11月17日
显著变化
- 💅 小部件标签可以包含内联Markdown。查看我们的 文档 和演示 应用 以获取更多信息。
- 🎵
st.audio现在支持通过仅关键字参数sample_rate播放以 NumPy 数组形式传递的音频数据。 - 🔁 使用
st.experimental_memo或st.experimental_singleton缓存的函数可以包含使用experimental_allow_widgets参数的 Streamlit 小部件。这允许缓存复选框、滑块、单选按钮等!
其他变更
- 👩🎨 设计调整以防止滑块抖动 (#5612).
- 🐛 错误修复:标题中的链接是红色的,而不是蓝色的 (#5609)。
- 🐞 错误修复:在退出全屏时正确调整 Plotly 图表的大小 (#5645)。
- 🐝: 错误修复:不要意外触发
st.balloons和st.snow(#5401)。
Version 1.14.0
发布日期:2022年10月27日
亮点
- 🎨
st.button和st.form_submit_button支持通过type关键字参数将按钮指定为“primary”(用于额外强调)或“secondary”(用于普通按钮)。
显著变化
- 🤏
st.multiselect有一个仅限关键字的max_selections参数,用于限制一次可以选择的最大选项数量。 - 📄
st.form_submit_button现在具有disabled参数,该参数可以移除交互性。
其他变更
- 🏓
st.dataframe和st.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.map和st.pydeck_chart创建的地图中,缩放按钮会根据应用程序的主题使用浅色或深色样式(#5479)。 - 🗜 当前会话的传入WebSocket请求的头部信息可以通过一个新的“内部”(即:可能会在没有弃用的情况下更改)API获取(#5457)。
- 📝 改进首次安装和使用 Streamlit 时打印的文本 (#5473)。
Version 1.13.0
发布日期:2022年9月22日
显著变化
- 🏷 小部件可以通过
label_visibility参数自定义如何隐藏它们的标签。 - 🔍
st.map默认情况下会在地图上添加缩放按钮。 - ↔️
st.dataframe支持use_container_width参数以拉伸至整个容器宽度。 - 🪄 对
st.dataframe大小的改进:列宽计算现在会考虑列标题,支持双击列标题之间自动调整大小,更好的全屏支持,并修复了width参数的问题。
其他变更
- ⌨️
st.time_input允许仅使用键盘输入 (#5194). - 💿
st.memo在使用ttl和persist关键字参数时会警告用户 (#5032)。 - 🔢
st.number_input在重新运行后返回一致的类型 (#5359)。 - 🚒
st.sidebar用户界面修复,包括修复 Firefox 浏览器中的滚动条问题 (#5157, #5324)。 - 👩💻 改进使用指标以指导API开发。
- ✍️ 更多的类型提示!(#5191, #5192, #5242, #5243, #5244, #5245, #5246) 感谢 harahu!
Version 1.12.0
发布日期:2022年8月11日
亮点
- 📊 内置图表(例如
st.line_chart)获得了全新的外观和参数x和y!查看我们的 博客文章 了解更多信息。
显著变化
- ⏯ 使用
st.experimental_memo或st.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.map和st.pydeck_chart根据应用程序的主题使用浅色或深色样式 (#5074, #5108). - 🎈 点击
st.balloons和st.snow下方的元素不再被阻止 (#5098)。 - 🔝 嵌入式应用的上边距较小 (#5111).
- 💅 调整了小部件、图表和数据框的填充和对齐方式 (#4995, #5061, #5081).
- ✍️ 更多的类型提示! (#4926, #4932, #4933)
Version 1.11.0
发布日期:2022年7月14日
亮点
- 🗂 介绍
st.tabs以在您的应用程序中使用标签容器。请参阅我们的 文档 了解如何使用此功能。
显著变化
- ℹ️
st.metric支持使用help关键字参数的工具提示。 - 🚇
st.columns支持使用gap关键字参数设置列之间的间隙大小。
其他变更
- 💅 对
st.selectbox、st.expander、st.spinner的设计进行了微调 (#4801)。 - 📱 当用户在移动设备上从导航菜单中选择页面时,侧边栏将关闭 (#4851).
- 🧠
st.memo支持数据类! (#4850) - 🏎 修复了一个在快速交互时破坏小部件状态的竞态条件 (#4882)。
- 🏓
st.table在放置在列和扩展器内时,将溢出的内容呈现为可滚动 (#4934). - 🐍 类型:Streamlit 中更多更新的类型注解!(#4808, #4809, #4856)
Version 1.10.0
发布日期:2022年6月2日
亮点
- 📖 引入对多页面应用的原生支持!查看我们的博客文章并尝试我们新的
streamlit hello。
显著变化
- ✨
st.dataframe已被重新设计。 - 🔘
st.radio有一个horizontal关键字参数,用于水平显示选项。 - ⚠️ Streamlit Community Cloud 将支持更丰富的异常格式化。
- 🏂 使用
st.experimental_user获取私有应用上的用户信息。
其他变更
- 📊 升级了Vega-Lite库,以支持更多交互式图表的改进。查看他们的发布说明以了解更多信息。(#4751).
- 📈
st.vega_lite_chart将响应更新,特别是对输入小部件的响应 (#4736)。 - 💬
st.markdown长文本将始终换行 (#4696). - 📦 支持 PDM (#4724).
- ✍️ 类型:更新了Streamlit中的类型注释!(#4679, #4680, #4681, #4682, #4683, #4684, #4685, #4686, #4687, #4688, #4690, #4703, #4704, #4705, #4706, #4707, #4708, #4710, #4723, #4733).
Version 1.9.0
发布日期:2022年5月4日
显著变化
- 🪗
st.json现在支持一个仅关键字参数,expanded用于决定 JSON 是否默认展开(默认为True)。 - 🏃♀️ 通过减少每次脚本运行时的冗余工作,进一步提升了性能。
其他变更
- 🏇 当
disabled被设置或取消设置时,Widgets 将保持其值 (#4527)。 - 🧪 实验性功能,通过配置
runner.fastReruns来提高重新运行的速度。有关启用此功能的已知问题,请参见 #4628。 - 🗺️ DataFrame 时间戳支持 UTC 偏移量(除了时区表示法)(#4669)。
Version 1.8.0
发布日期:2022年3月24日
显著变化
- 🏃♀️ 数据框应该会看到性能改进 (#4463).
其他变更
Version 1.7.0
发布日期:2022年3月3日
亮点
- 介绍
st.snow,庆祝我们被 Snowflake 收购!更多信息请参阅 我们的博客文章。
Version 1.6.0
发布日期:2022年2月24日
其他变更
- 🗜 WebSocket 压缩现在默认禁用,这将提高大数据帧的 CPU 和延迟性能。如果您发现增加的网络流量影响更大,可以使用
server.enableWebsocketCompression配置选项重新启用它。 - ☑️ 🔘 单选按钮和复选框改善了键盘导航的焦点 (#4308).
Version 1.5.0
发布日期:2022年1月27日
显著变化
其他变更
- 🔤 对我们的markdown库进行了改进,以提供更好的HTML支持(特别是嵌套HTML)(#4221)。
- 📖 当存在多个扩展器时,扩展器能更好地保持其展开状态 (#4290).
- 🗳 改进了文件上传器和相机输入,仅在必要时调用其
on_change处理程序 (#4270)。
Version 1.4.0
发布日期:2022年1月13日
亮点
- 📸 介绍
st.camera_input用于直接从您的相机上传图像。
显著变化
- 🚦 小部件现在具有
disabled参数,该参数可以移除交互性。 - 🚮 通过使用缓存函数上的
clear()方法,以编程方式清除st.experimental_memo和st.experimental_singleton。 - 📨 开发者现在可以配置消息的最大大小,以适应Streamlit应用程序中的较大消息。请参阅
server.maxMessageSize。 - 🐍 我们正式添加了对 Python 3.10 的支持。
其他变更
- 😵💫 在
threading.current_thread()上调用str或repr不会导致 RecursionError (#4172)。 - 📹 当用户移除录制权限时,优雅地停止屏幕录制 (#4180).
- 🌇 通过使用更高质量的图像双线性重采样算法来更好地缩放图像 (#4159).
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。