资讯动态

Cube Playground 版本演进全解:从 @cubejs-client/playground CHANGELOG 看查询构建器的七年迭代

发布时间:2026/9/20 9:22:53 来源:尧图企业网站定制
Cube Playground 版本演进全解从 cubejs-client/playground CHANGELOG 看查询构建器的七年迭代【免费下载链接】cube Cube Core is open-source semantic layer for AI, BI and embedded analytics项目地址: https://gitcode.com/gh_mirrors/cu/cubepackages/cubejs-playground/CHANGELOG.md是 Cube开源语义层项目中cubejs-client/playground包的完整变更日志时间跨度从 2019 年 3 月的 0.3.x 一路延续到 2026 年 9 月的 1.7.42。读懂这份 changelog你就能掌握 PlaygroundCube 自带的可视化查询与建模调试控制台的全部能力演进查询构建器如何从基础 UI 演进为支持 Pivot、预聚合设计Rollup Designer、代码生成的完整调试工作台以及在升级依赖时如何借助版本记录排查问题、应对破坏性变更如 1.7.0 移除renewQuery参数。这份 CHANGELOG 记录的是什么该包发布到 npm 的名字是cubejs-client/playground当前版本1.7.42见 package.json。它是 Cube 开发控制台的核心前端在浏览器里连接 Cube 后端以可视化方式选择 Measures/Dimensions、添加过滤条件、查看生成的 SQL/GraphQL/REST 请求并观察结果。从 package.json 的脚本可以看到它的产物分三路{ build:lib: tsc --noEmit false node postbuild.js cp -R src/img/ lib/img/, build:vizard: cd ./vizard yarn yarn build cp -R ./build ../public/vizard, build:playground: SKIP_PREFLIGHT_CHECKtrue vite build rm -Rf ../cubejs-server-core/playground/** cp -R build/ ../cubejs-server-core/playground/ }build:playground用 Vite 把 src/ 下的 React 应用构建为静态文件并直接拷贝进 cubejs-server-core/playground/——从源码结构看Playground 就是由 Cube 后端服务内置托管的这也是为什么它的版本号与后端版本联动build:vizard构建 vizard/ 子应用AI 可视化助手对应文档中的 Vizard 功能build:lib把src编译为 TypeScript 库输出到lib/供其他包以库形式引用 Playground 组件早期 changelog 中就有 Export playground components、prepublishOnly for exports 等记录。Changelog 的阅读方法conventional commits 与版本号含义文件开头声明了规范All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.因此每条记录都遵循 conventional commits 语义并按语义化版本SemVer组织## [x.y.z]单井号patch/minor 级条目大多数是**Note:** Version bump only for package cubejs-client/playground表示本版本仅因 monorepo 联动作同步升版无本包自身代码变化# [x.y.z]单行井号 高版本major/minor 发布通常伴随真实的功能或破坏性变更### Features/### Bug Fixes对应feat:/fix:提交### BREAKING CHANGES破坏性变更说明升级时必读。一份实用技巧在排查我升级 Cube 后端后 Playground 某功能变了这类问题时先过滤掉 441 条 Version bump only只关注 281 条带Features/Bug Fixes的实质性记录。每条记录的格式为- **playground:** 变更描述#issue号commit哈希issue 号与 commit 哈希可回溯到具体 PR 与代码改动配合 packages/cubejs-playground/ 下的源码可以精确定位实现。里程碑版本时间线从 changelog 中提取的主要版本节点如下均取自 CHANGELOG.md 原文版本日期性质与说明0.3.5 ~ 0.5.22019-03 ~ 2019-04独立statsbotco/cubejs-client仓库时期Playground 起步Schema 生成 UI、过滤器、Dashboard 生成器0.36.0 ~ 0.36.82024-09 ~ 2024-10进入主仓库后的快速迭代期1.0.02024-10-15首个 1.0 正式版从 0.36.11 升版1.2.02025-02-05minor 发布1.3.02025-04-11新查询构建器QueryBuilder V2与新图表原型1.4.0 / 1.5.02025-10-29连续两个 minor均为联动升版1.6.02025-12-18minor 发布1.6.22026-01-10connect to bi 页替换为 Cube BI 页1.7.02026-07-06破坏性变更移除renewQuery参数1.7.422026-09-18当前版本这个时间线本身说明了两件事一是 Cube 的 Playground 与后端保持几乎每周一次的发版节奏大量相邻 patch 版本间隔 24 天升级频率高意味着 changelog 是日常排查的第一入口二是功能大版本1.3.0 新构建器、1.7.0 参数移除都集中在 minor/major 上patch 版本可以放心跟进。起点2019 年的四个奠基功能changelog 最底层的记录约 2019 年 34 月当时仍在statsbotco/cubejs-client仓库下记录了 Playground 的四个原始能力它们至今仍是产品骨架## [0.4.4] (2019-03-17) ### Features - Introduce Schema generation UI in Playground ## [0.4.5] (2019-03-21) ### Features - Playground filters implementation ## [0.4.6] (2019-03-27) ### Features - Dashboard Generator for Playground ## [0.5.2] (2019-04-05) ### Features - Playground UX improvements即Schema 生成 UI → 过滤器 → Dashboard 生成器 → 持续的 UX 打磨。这解释了为什么今天的 Playground 同时承担查询调试与可视化建模两个角色。能力演进主线一查询构建器QueryBuilder的持续增强changelog 中最高频的功能簇属于查询构建器。对照 src/ 目录结构可以看到QueryBuilder/V1与QueryBuilderV2/V2含Pivot/子目录并存以及QueryBuilderChart.tsx、QueryBuilderFilters.tsx、QueryBuilderSQL.tsx、QueryBuilderGraphQL.tsx、QueryBuilderRest.tsx、QueryBuilderGeneratedSQL.tsx等文件与 changelog 记录一一对应基础交互run query button, disable query auto triggering (#2476)、stop processing query once it has changed (#2731)查询内容变化即中止旧请求、new tab opening, tabs refactoring (#3071)、query tabs, preserve query history (#2915)——多标签查询与历史保留成员浏览member grouping (#2736)、member search (#2764)、sticky search bar, search improvements (#2815)——对应 package.json 中的flexsearch全文检索依赖SQL 展示prevent the browser to freeze on large SQL highlighting大 SQL 高亮防冻结——对应 src/PrismCode.tsx 的语法高亮实现V2 重构1.3.02025-04-11版本记录了cubejs-client/playground: new query builder new chart prototyping (#8678)即 src/QueryBuilderV2/ 的引入图表与选项扩展add support for ungrouped and offset options (#8719)图表未分组/偏移系列选项、chart library title、table presentation、Angular 图表渲染器angular chart renderer、use title for vue charts (#3273)等。能力演进主线二Rollup Designer 与预聚合调试Playground 内置的 Rollup Designer 是设计预聚合pre-aggregation的图形化工具changelog 记录了它的完整演进链Rollup Designer can use pre-agg (#3142) → Rollup Designer time dimension granularity → display segments in the Rollup Designer → pre-aggregation status (#2641) / pre-agg status (#2904) → internal pre-agg warning (#2943) / Building pre-aggregations message (#1984) → pre-agg helper (#2807) → rollup designer v2 (#3018) → rollup designer v2 updates (#3124) → save pre-aggregations from the Rollup Designer (#3096) → rollup designer settings (#3261)这条链条说明该工具从只读查看预聚合状态逐步演进到可配置粒度、可保存预聚合定义回 schema的闭环。实现位于 src/rollup-designer/package.json 中的cron-validator依赖正对应 Rollup Designer 里refresh_keycron 表达式的校验。能力演进主线三安全上下文与 Token 管理Playground 需要向 Cube 后端注入securityContext决定行级权限changelog 记录了相关能力security context editing (#1986)、security context update (#3056)编辑与刷新安全上下文propagate cubejs token (#1669)、token refresh, Vue apiUrl (#2523)JWT Token 的传递与刷新allow to store multiple tokens、invalid token (#2991)多 Token 存储与失效处理meta error handling (#2077)、meta refresh refactoring (#2242)schema 元数据拉取meta的错误处理与刷新机制display server error message (#2648)、display error message on all tabs (#2741)跨标签页的错误提示。package.json 中的jwt-decode、js-cookie依赖印证了 Token 解码与 Cookie 持久化这套机制。1.7.0必须注意的破坏性变更changelog 中唯一的BREAKING CHANGES段落出现在 1.7.02026-07-06与 api-gateway 包联动feat(api-gateway)!: Remove deprecated renewQuery parameter (#11050)BREAKING CHANGESTherenewQueryparameter of the/v1/loadREST endpoint and the GraphQLcubequery has been removed. Use thecacheparameter instead:cache: must-revalidatereplacesrenewQuery: true, and the defaultstale-if-slowreplacesrenewQuery: false.含义是旧客户端包括旧版 Playground 前端若仍向/v1/load传renewQuery: true/false升级到 1.7.0 后需改为# 旧写法已移除 /v1/load?renewQuerytrue # 新写法 /v1/load?cachemust-revalidate # 强制回源、跳过缓存 # 不传 cache 参数即为默认的 stale-if-slow由于 Playground 与后端版本联动前文build:playground会把前端构建进 server-core跟进 monorepo 发版即可同时获得前后端一致的行为若你自行固定了 Playground 版本嵌入其他应用则需确认前端发出的查询参数与后端版本匹配。近期版本1.7.42 前后依赖与工具链升级changelog 顶部最近的实质性记录集中在依赖治理与工具链迁移这类条目对升级决策同样重要## [1.7.42] (2026-09-18) **Note:** Version bump only ## [1.7.41] (2026-09-18) ### Features - Upgrade deps (clear 52 Dependabot alerts) (#11853) ## [1.7.38] (2026-09-14) ### Bug Fixes - **deps:** Bump/align 24 transitive deps to clear 97 Dependabot alerts (#11846) ## [1.7.36] / [1.7.37] (2026-09-09 / 2026-09-10) ### Features - Migrate to TypeScript 6.0.3 (prepare for 7) (#11767) ## [1.7.20] (2026-08-16) ### Bug Fixes - **deps:** bump uuid from 8.3.2 to 11.1.1 across the packages that declare it (#11534)可以推断1.7.42 这一轮迭代主要是安全告警清理uuid 8.x → 11.x、46 个传递依赖对齐与 TypeScript 6.0.3 迁移业务功能无变化——这也是判断patch 版本能否安全跟进的典型依据。如何查阅与使用这份记录定位行为变化的版本直接在 packages/cubejs-playground/CHANGELOG.md 中按功能关键词如pre-agg、security context、token检索再对照版本号与日期确认前端与后端的部署关系Playground 构建产物会被拷贝进 packages/cubejs-server-core 随后端一起分发因此升级 Cube 后端即同步升级 Playground深挖实现changelog 条目中的功能均可在 packages/cubejs-playground/src/ 找到对应模块QueryBuilder/、QueryBuilderV2/、rollup-designer/、cloud/、pages/并配有 src/tests/ 单元测试与 vitest.config.ts升级检查单跨 minor/major尤其是 1.7.0升级时核对BREAKING CHANGES段落与 API 参数变化跨 1.3.0 升级时注意查询构建器 UI 由 V1 切换至 V2 带来的交互差异。这份 changelog 与源码、构建脚本共同构成了 Playground 的完整技术档案它以每周发版的节奏、清晰的 conventional commits 记录和明确的破坏性变更标注支撑着嵌入分析场景下对 Cube 查询与预聚合能力的持续调试。【免费下载链接】cube Cube Core is open-source semantic layer for AI, BI and embedded analytics项目地址: https://gitcode.com/gh_mirrors/cu/cube创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

免费获取报价