资讯动态

Gradio 6.x 版本演进深度解析:从 CHANGELOG 读懂发布节奏与核心特性全景

发布时间:2026/9/10 10:18:33 来源:尧图企业网站定制
Gradio 6.x 版本演进深度解析从 CHANGELOG 读懂发布节奏与核心特性全景【免费下载链接】gradioBuild and share delightful machine learning apps, all in Python. Star to support our work!项目地址: https://gitcode.com/GitHub_Trending/gr/gradio导读本仓库根目录的CHANGELOG.md是 Gradio 项目 Python 主包对应版本号为 6.26.0的完整发布记录档案按版本、按 Features/Fixes 分类记录了每一次合并进主分支的 PR。本文以这份 CHANGELOG 为骨架结合仓库源码解读 6.0→6.26 的主线技术演进可视化工作流gr.Workflow、Svelte 5 前端迁移、gr.cache缓存体系、gr.Server服务端模式、SSR 渲染、OAuth/MCP 与安全加固帮助开发者快速判断每个版本改了什么、为什么改、对应代码在哪以及如何在升级与贡献时高效利用这份变更档案。仓库中的版本档案CHANGELOG 文档定位Gradio 仓库维护了多份随包发布的变更记录使用时需注意区分文件覆盖范围CHANGELOG.md本主题文档主 Python 包gradio记录 6.26.0 一路回溯到远古版本如 2.x、1.x共 8242 行gradio/CHANGELOG.md与根目录 CHANGELOG 内容一致两者当前起点同为 6.26.0随源码包分发client/python/CHANGELOG.mdPython 客户端gradio_client6.0.1 起独立升级到 2.0.0client/js/CHANGELOG.mdJS/TS 客户端gradio/client从内容结构看CHANGELOG 采用严格的版本 →### Features/### Fixes两级目录组织每个条目包含 PR 编号、commit 哈希、一句功能描述与贡献者致谢。它既是给使用者的升级手册也是判断功能成熟度例如某功能从引入到修 bug再到补测试的时间线证据。仓库中的 scripts/format_release_notes.py 表明这类发布说明由脚本格式化生成因此格式高度统一适合被工具解析。版本编号体系与当前状态当前仓库主包版本为6.26.0可在 gradio/package.json 中确认pyproject.toml 通过 hatch 从该文件提取版本号。6.x 系列经历了三条阶段的编号6.0.0-dev.0 ~ 6.0.0-dev.5预发布开发版本主要完成 6.0 破坏性变更Chatbot 移除 tuple 消息格式、Dataframe 构造参数变更、theme/css/js/head等参数从 Blocks 移到launch()、show_api改名、原生 plot 组件清理弃用参数等6.0.0 → 6.26.0正式发布后的小版本迭代每个版本都带 Features 与 Fixes 两组条目再往前的5.x 及更早记录了历史功能如 5.48 引入gradio openaichatCLI时间越早条目格式越松散旧版条目没有统一 PR/commit 双链接。阅读 CHANGELOG 时应以 6.x 为主线因为它集中反映了当前仓库代码的最新能力。主线一gr.Workflow可视化 AI 工作流6.17 → 6.266.x 后期最活跃的功能面是可视化工作流。时间线如下6.17.0PR #13417引入gr.Workflow与gr.WorkflowCanvas通过graph、bind、edges参数把 Python 函数接入画布并自动持久化到 graph JSON 文件6.19.0PR #13524子图subgraph通过 Gradio API 执行——每个子图暴露为命名端点并复用/info、/call、/api画布上提供 View API 面板6.20.0点端口自动创建节点、运行子图时显示下游输出、调用推理客户端前先校验模型、把 token 注入 fn 函数6.21.0接入模型端点、改进画布创作体验、新增 html modality、本地启动gr.Workflow时自动打开浏览器、通过 chat completions 调用视觉语言模型使image-text-to-text模型节点可用6.22.0为模型节点自动创建输入/输出节点、节点可缩放、全屏图片查看、webcam/mic 采集、把节点错误信息变为可复制并在 View API 面板中文档化oauth_token参数6.23.0画布增加 oauth 提示6.24.0只内联应用自有文件、让已打开的 HTML 脱离应用源安全边界6.25.0支持把 Workflow 保存到 Space 本身、修复 checkbox 可见性、转发x-ip-token以便 zerogpu Space 向调用方计费6.26.0支持 另存为副本、每个查看者独立保存画布布局并支持 undo/redo。与之对应的仓库实现位于 gradio/workflow.py后端核心内部使用anyio.to_thread把同步服务端函数送入线程池、gradio/components/workflowcanvas.pyWorkflowCanvas组件从workflow.py第 34 行的导入可确认调用关系、gradio/workflow_api.py 以及前端 js/workflowcanvas。可运行示例见 demo/workflow/run.py调用远程模型节点做图像描述与其配套的 demo/workflow/workflow.json。更多参考 demo 还包括demo/workflow_vlm_chat、demo/workflow_image_generator_comparison等。主线二前端全面迁移 Svelte 56.x 的发布记录中高频出现 Migrate X to Svelte 5 条目这是一次横跨整个前端组件库的大规模重构可据此看出迁移批次顺序6.0 阶段起步修复reload mode、队列、事件系统等 6.0 回归6.1–6.4Textbox、Dropdown、Markdown、Label、JSON、Gallery、File、Video、ColorPicker、UploadButton、MultimodalTextbox、StatusTracker、Dataset、FileExplorer、Code 等批量迁移6.5–6.6Dataframe 前的重要修复与迁移收尾6.11Dataframe 迁移到 Svelte 56.18Plot、Chatbot、Tabs、TabItem 迁移6.20Image 组件迁移。Svelte 5 迁移带来大量事件回归修复典型如Slider 值为 0 时change事件不触发6.5.1、ColorPicker 迁移后 focus/blur/submit 失效6.6.0、Tabs.select()切换不触发6.20.0、fill_height失效6.9.0、Gallery 全屏按钮失效6.6.0、组件值变化时统一派发change事件6.18.0。CHANGELOG 中反复出现的 X 迁移到 Svelte 5 → 修复 Y 模式提示使用者在跟随大版本升级时应重点回归自己用到的组件事件。主线三缓存能力gr.cache/gr.Cache缓存是 6.x 中后期补强的基础能力6.12.0PR #13176引入gr.cache()装饰器以及底层基于依赖注入的gr.Cache6.15.0PR #13322允许gr.cache()直接作用于中间函数gr.cache(fn)(*args)运行时调用。具体参数语义可对照 gradio/caching.py 的cache第 482 行起与Cache类第 535 行起参数默认值含义取自源码 docstringfn无待缓存函数作为gr.cache无括号时是被装饰函数作为gr.cache(...)时为 None运行时gr.cache(fn)(...)则必须可调用keyNone接收 kwargs 字典、返回可哈希缓存键的函数例如只按prompt缓存可传lambda kw: kw[prompt]max_size128缓存条目上限按 LRU 淘汰0 表示不限制max_memoryNone内存总量上限接受512mb、2gb等字符串或整数字节per_sessionFalseTrue 时每个会话获得独立缓存命名空间会话断开即清理装饰器版内部经由_get_cached_wrapper包装缓存命中绕过 Gradio 队列同步/异步函数与生成器均支持生成器命中时回放已缓存的所有 yield 值。Cache类则提供get(key)/set(key, **data)/keys()/clear()手动存取采用默认参数注入方式交给事件函数使用。仓库内配套 demo 见 demo/cache_demo/run.py、demo/cache_kv_demo/run.py、demo/cache_intermediate_demo/run.py、demo/cache_manual_demo/run.py。主线四gr.Server、SSR 与部署形态6.10.0PR #13117新增服务端模式gr.Server不同于gr.Blocks用于以服务形态承载已有 Blocks源码位于 gradio/server.py类定义于第 28 行继承自App。后续 6.12.0 修复了 ZeroGPU 场景下gr.Server的处理6.17.0 起 analytics 中把 Server 模式单列为modeserverSSR服务端渲染6.4.0PR #12472Re-enable SSR mode、6.10.0 修复自定义组件在 SSR 下的问题6.22.0 改进了 Node SSR 服务失败时的报错并在预期端口上以降级方式服务不启用 SSR6.23.0 修复 SSR 应用在 CtrlC 时卡在 Stopping Node.js server... 的问题6.26.0 修复 SSR 开启时读取历史运行只能加载输入不能加载输出的问题。SSR 依赖 Node 前端代理可参见 gradio/node_server.py 与 js/spa/src历史运行Run History6.24.0PR #13718新增浏览器本地运行历史记录与回载前端实现位于 js/spa/src/RunHistory.svelte代理与部署细节6.15.0 把流量卸载到静态 worker 并用 node 作为代理6.21.0 保留浏览器可见的代理源与 FastAPI root path6.9.0、6.10.0 修复 FastAPI/反向代理后挂载 Gradio 的问题mount_gradio_app、gradio_api路径等。主线五客户端、MCP 与 OAuth客户端6.0.1 将gradio_client升级到 2.0.06.0.2 修复客户端流式文件下载并保持与 5.x 服务端兼容JS 客户端 6.20.0 恢复同源凭据使跨域嵌入可用6.21.0 为需要gr.OAuthToken的端点新增oauth_token参数Python 与 JS 客户端均支持且只发给声明需要该参数的端点6.25.0 给客户端内部 helper 任务分配独立线程池。实现可参考 client/python/gradio_client 与 client/js/src。MCP6.11.0 对非队列 MCP 工具调用绕过 HTTP 回环、直接调用blocks.process_api()降低延迟6.16.0 在浏览器打开 MCP 端点时展示友好落地页而非裸 JSON-RPC 错误6.23.0 在 MCP 工具输入 schema 中输出required数组6.0 阶段支持把 Gradio MCP 应用同时以 ChatGPT 应用形式提供服务。相关代码见 gradio/mcp.py。OAuth6.18.0 将过期 OAuth 会话视为登出用户6.24.0 等待auth_dependency并在既有应用上构建路由时应用它6.26.0 修复过期会话导致的 OAuth 重定向死循环。实现在 gradio/oauth.py含OAuthProfile、OAuthToken、oauth_login/oauth_logout等。主线六贯穿始终的安全加固6.x 修复了大量安全漏洞且 CHANGELOG 中直接注明了 CVE/GHSA 编号是升级时最应关注的条目。代表性如下SSRFImage/Gallery 的 SVG 后处理与 Audio 流式后处理中受用户影响的 URL 拉取统一改走safehttpx6.16.0PR #13436/gradio_api/fileurl由开放重定向改为 SSRF 安全的流式代理6.20.0PR #13596路径穿越与开放重定向gr.FileExplorer.preprocess用_safe_join校验选中路径、拒绝逃逸root_dir的绝对/..路径6.16.0PR #13437修复gradio.oauth._redirect_to_target中被多前导斜杠/反斜杠绕过的开放重定向6.16.0PR #13438恢复对 CVE-2026-28415 的防护为Blocks.from_config()proxy_url 的 SSRF 防护补回归测试GHSA-jmh7-g254-2cq96.15.1隔离/proxy请求的 cookie jar防止恶意上游 Space 向不同*.hf.space泄 cookieGHSA-2mr9-9r47-px2g6.15.0上传与请求边界对/component_server的 multipart 上传强制max_file_size6.20.0multipart 上传头超限时返回 413 而非 5006.25.0加固认证与文件重定向边界6.22.0HTML 前端的script引入警告6.18.0与style/link清洗6.21.0。最近 10 个版本逐版速览6.17 → 6.26结合上文主线将最新版本段的关键条目按重点 Feature / 重点 Fix整理如下版本核心 Feature核心 Fix6.17.0引入gr.Workflow/gr.WorkflowCanvasServer 模式独立 analytics前端资源自托管以支持离线使用mistyped 组件/参数给出可定位报错Markdown/HTML 支持布局尺寸参数6.18.0Plot/Chatbot/Tabs/TabItem 迁 Svelte 5所有组件值变化统一派发changei18n choices 翻译本地 HF token 用于 WorkflowUI 冻结、plt 图关闭、客户端迭代器关闭、api_nameFalse事件视为私有 API 等6.19.0Workflow 子图以 Gradio API 形式运行命名端点 View API 面板Dropdown 无障碍化combobox ARIA、gr.SelectData坐标修正、全屏按钮修复、Markdown 长文本溢出修复6.20.0Gallery Download AllWorkflow 点端口自动建节点/模型校验/token 注入SSRF 安全代理替代开放重定向、max_file_size强制执行、Tabs.select()、ImageEditor 空闲 CPU 优化、state.change()对.stream()触发6.21.0保留代理源与 root pathWorkflow 模型端点接入、html modality、VLM 走 chat completionsoauth_token客户端支持gradio cc尊重自定义FRONTEND_DIR热重载下保持进行中的事件与生成器Windows 文件名处理HTMLstyle/link清洗gr.Code无初值渲染修复6.22.0Workflow 节点自动建输入/输出、节点缩放、全屏图片、webcam/mic 采集、View API 面板文档化oauth_tokenPrism 全局变量发布时序修复认证与文件重定向边界加固SSR 失败原因报告与降级服务6.23.0Workflow 画布增加 OAuth 提示MCP schema 输出required数组深色模式文本可读性内嵌应用收缩、sidebar 重叠量重算、SSR CtrlC 卡死修复6.24.0Workflow 只内联应用自有文件浏览器本地运行历史等待并应用auth_dependency413 代替 500Dataframe 行数变化重读虚拟窗口6.25.0Workflow 可保存到 Space转发x-ip-token计费OAuth 重定向死循环过期会话客户端内部任务独立线程池SSR 下历史运行加载输出6.26.0Workflow 另存为副本、画布布局按查看者保存 undo/redo升级存在漏洞的前端依赖嵌套响应式 render 上下文PLY/OBJ 渲染为空白画布ChatInterface 与gr.load_chat的历史 bug挂载应用的 CORSMiddleware 兼容服务器状态累积停止6.0 → 6.16 关键版本要点回顾更早的 6.x 版本中以下条目对理解 API 演进尤其重要6.0.x 系列6.0.1 升级 gradio_client 至 2.0.0、pillow 至 12.06.0.2 客户端兼容 5.x 服务端并修复流式文件下载。6.1.0为gr.Audio/gr.Video增加可更新可读取的playback_positionButton 新增link_target恢复 6.0 中弃用的 Blocks 构造参数theme、css等。6.2.0为组件增加自定义按钮能力gr.FileExplorer增加.select()/.input()事件放宽 pydantic 依赖。6.4.0原生 plot 增加axis_format重新启用 SSR。6.5.0支持 pandas 3Gallery 支持 webcam 上传与剪贴板粘贴。6.6.0隐藏无元素表单多项 Svelte 5 迁移后事件修复。6.7.0gr.HTML可作为布局元素并支持服务端函数与push_to_hubgradio skills add支持生成 Space 专属 skill加载模型支持:fastest/:cheapestSKILLS.md纳入仓库。6.8.0允许从gr.HTML上传文件。6.9.0gr.HTML可触发任意事件名gr.HTML的js_on_load新增watch函数。6.10.0引入gr.ServerGradio Prediction CLI 命令主题类增加custom_css参数新增核心主题后端性能剖析trace/benchmark能力。6.11.0Dataframe 迁移 Svelte 5组件 pre/post 处理移入独立线程Starlette 1.0 兼容。6.12.0引入gr.cache()/gr.Cache大量组件Slider、Layout、Chatbot、Gallery、Label、AnnotatedImage 等补齐单元测试开始 vendor 依赖并给 CI 加exclude-newer。6.13.0Request.state序列化 typo 修复批处理队列事件请求上下文丢失修复。6.14.0Model3D/Dialogue/UploadButton/ColorPicker 等单元测试新增主题设计器 skill。6.15.0gr.cache()支持作用于中间函数代理 cookie jar 隔离GHSA-2mr9-9r47-px2g静态 worker 卸载流量。6.16.0GRADIO_HEARTBEAT_INTERVAL环境变量可配置会话心跳FileExplorer 路径穿越修复、OAuth 开放重定向修复CVE-2026-28415、SVG SSRF 修复、Dataframe 虚拟窗口浏览器冻结修复、运行时切换语言的全面重翻译修复。从 6.12 开始出现大量 XXX Unit Tests配合test/目录下的 test_components.py、test_blocks.py 等可以看出 6.x 中期把质量基建单测、playwright e2e、lint/type-check CI作为重要投入方向。工程实践如何高效使用这份 CHANGELOG定位升级影响面先看当前版本到目标版本之间每个版本标题下的内容凡涉及你用到的组件例如 Dataframe、Plot、Chatbot、gr.HTML的条目都要逐个过关注标题含 Migrate … to Svelte 5 或 Fix … regression 的条目。按主题横切追踪CHANGELOG 是纵向时间线主题演进需要横切。例如追踪 Workflow就按上文主线一的方式把多个版本条目串联阅读再到 gradio/workflow.py 与 demo/workflow/run.py 中看最终形态。把安全条目当升级优先级带 CVE/GHSA 编号的条目SSRF、路径穿越、cookie 泄漏、开放重定向应作为升级硬性理由。识别预发布与正式版形如6.0.0-dev.N是正式发版前的开发快照功能与参数到正式版可能再次变化例如 6.0.0-dev.3 变更 Dataframe 构造参数、dev.2 把theme/css/js/head移到launch()历史 CHANGELOG 可帮你厘清参数何时被移动/重命名避免翻阅旧教程踩坑。结语CHANGELOG.md是观察 Gradio 6.x 工程演进最直接的窗口从 6.0 的大版本破坏性清理到 6.12 起缓存与测试基建补强再到 6.17 之后以gr.Workflow为牵引的可视化 AI 管线与持续的安全加固每一条记录都能在仓库源码gradio/workflow.py、gradio/caching.py、gradio/server.py、gradio/oauth.py、gradio/mcp.py与 demo 示例中找到落点。需要说明的是以上版本记录以当前仓库快照为准最新记录为 6.26.0后续版本的变更需以更新后的 CHANGELOG 文件为准。【免费下载链接】gradioBuild and share delightful machine learning apps, all in Python. Star to support our work!项目地址: https://gitcode.com/GitHub_Trending/gr/gradio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价