更新日志

最近的改动

只记录真正落到产品和站点上的改动。没有画饼,也没有需要自行解读的路线图。

Cloudflare Workers、Netlify 与八种语言

  • -连接 Cloudflare 账户后,CapyDB 会在你的单元前置一份 Hyperdrive 配置,绑定到你的 Worker 或 Pages 项目并持续保持同步。凭据始终留在 Cloudflare 一侧,因此轮换凭据无需重新部署即可到达你的 Worker。
  • -Hyperdrive 源指向连接池端点,连接额度按你的套餐设定,而不是沿用 Cloudflare 的默认值——后者可能超过一个小套餐的全部连接配额。
  • -除非确实有变化,否则重新同步不再改动任何东西。凭据轮换、恢复和导入不会再悄悄发布你的 Worker 的新版本。
  • -面向 Netlify 的 CapyDB 扩展:在团队层级保存一个 API 密钥,为每个站点选择一个数据库,连接字符串在构建时解析。你的站点环境变量中除了一个功能开关之外不会出现任何内容。
  • -通过 Vercel Marketplace 安装的数据库可以在 Vercel 账户之间转移。单元、其存储和连接字符串随项目一同迁移,因此部署照常运行;项目范围的 API 密钥会被吊销。
  • -网站和控制台现已支持英语、德语、西班牙语、法语、日语、韩语、葡萄牙语和中文。英文 URL 保持不变。
  • -更正了文档中的时间点恢复窗口:为 7 天,而非灾难恢复页面此前所称的约 30 天。恢复路径一直只使用存储检查点,因此 7 天始终才是真实答案。

校验过的 TLS、预热的预览库,以及公开的基准数据

  • -连接字符串现在使用 sslmode=verify-full 校验 CapyDB 根证书,已有项目也就地更新完毕 - 连接不再可能被悄悄劫持。
  • -上线了基准测试页面,附完整方法论与精确分位数,全部在生产节点上、经由每个项目都要走的同一个 TLS 代理测得。
  • -几个关键数字:热连接上的查询 p95 不到 1 毫秒;32 个客户端时每秒 2,301 个事务;新开一条池化连接并拿到结果需要 15 毫秒。
  • -我们也公开了大多数厂商不提的「吵闹邻居」数字:同一节点上的邻居单元持续高负载时,被压的单元保住了独占时 49% 的吞吐。这是按比例的公平分配,如实测量,而不是一句没人量过的「完全隔离」。
  • -把跑出这些数字的测试工具 capybench 开源了,任何人都可以拿它来复测我们,或者复测别人。
  • -预览库现在是热启动:预览从父单元的存储分叉而来,因此它的第一次全表扫描只用了 255 毫秒 - 和父单元上的热扫描一样快。
  • -暂停的单元恢复得更快:唤醒会依据该单元自身的流量规律提前判断,一次性的大批量扫描也不会再把工作集挤出缓存。
  • -客户端包更新 - @capydb/sdk 1.5.0、@capydb/mcp 1.4.1、@capydb/drizzle 1.6.0。

Postgres 18,正式一等公民

  • -capydb.uuidv7() 现在存在于每个单元,并在 Postgres 16、17、18 上各自解析到正确实现 - 按时间有序的 UUID 默认值因此能安然穿过大版本升级,而不是在另一边失效。
  • -Postgres 18 单元按套餐规模启用这一版本新的异步 I/O,vacuum 进度视图也可以直接查看。
  • -发布了 Postgres 18 指南:时间有序 UUID、时间区间约束、虚拟生成列、返回旧行,以及怎样使用它们而不把表结构钉死在某一个大版本上。
  • -capydb doctor 新增了几条规则,针对以后代价最高的表结构选择:不可移植的 uuidv7() 默认值,以及本不该允许 NULL 的列。
  • -生成列现在会出现在表结构内省和 capydb generate 中,生成的类型与数据库保持一致。
  • -池化连接支持 Postgres 18 的通信协议。

索引顾问与 Supabase RLS 转换

  • -新增索引顾问,依据数据库真正执行过的查询给出索引建议,按能省下多少排序。
  • -每个候选索引都以假设索引的方式度量 - 不创建任何东西,也不写入任何东西 - 所以直接对生产库运行也是安全的。
  • -索引顾问在控制台、capydb advisor indexes、API,以及给智能体用的 MCP 工具里都能用。
  • -新增 capydb migrate rls,把 Supabase 的行级安全策略转换成纯 Postgres,并明确列出你的应用从此需要提供哪些 claim。
  • -把背后的转换器 capyrls 开源了。
  • -控制台新增表结构页面,可浏览运行中数据库的表、列、索引和枚举。
  • -@capydb/drizzle 加入了 withAuthContext:在行级安全身份下执行查询,且对连接池安全。
  • -告警通知除了控制台和你的 webhook,现在也会发到组织的账单邮箱。

版本升级、webhook 投递记录与仓库体检

  • -Postgres 小版本升级的时机由你决定:暂停的单元下次唤醒时顺带免费升级,运行中的单元会显示待升级版本,等你发话再重启。
  • -新增大版本就绪检查,在动手构建之前先报出阻碍,避免升级做到一半失败。
  • -把大版本升级在这里的真实流程写进了文档:完整复制加验证窗口、由你确认的切换,以及切换之后仍然保留的回滚。
  • -webhook 端点现在保留投递历史与每次尝试的状态,单条投递可以重发。
  • -新增 capydb webhooks test,向端点发送一条带签名的测试事件。
  • -新增 capydb doctor:读取仓库,指出以后会出事的数据库配置 - 同一个变量在不同 .env 里指向不同数据库、迁移工具被不安全地混用、驱动连错端口。

Postgres 16-18、连接池,以及一批开发工具

  • -可以选择 Postgres 主版本了:在 16、17 或 18 上创建项目。
  • -在 6432 端口上新增按项目的连接池,池大小按你的套餐配置。
  • -新增结构自省与类型生成:capydb generate 可直接从线上结构生成 TypeScript、Zod 或 Drizzle 定义。
  • -发布 @capydb/drizzle:一套面向 CapyDB 连接、对连接池友好的 Drizzle ORM 默认配置。
  • -新增近乎零停机的导入 capydb import --follow:在你正式切换之前,会持续复制旧库的变更。
  • -新增零停机凭据轮换:在你分发新凭据期间,旧凭据仍会在宽限期内继续可用。
  • -在控制台和 capydb logs 中新增实时日志跟踪与查询洞察。
  • -Postgres 扩展现在会自动更新,并在控制台以平台更新提示的形式呈现。

闲置即暂停,破坏性操作要确认

  • -没有查询时单元会暂停,下一次连接时约三分之一秒恢复。闲着的数据库不再产生计算费用。
  • -暂停中与恢复中的状态在控制台、API、CLI 里一致呈现,恢复中的数据库读起来就是恢复中,而不是故障。
  • -新增对生产库原地按时间点恢复,需经过明确确认。
  • -破坏性操作现在必须显式确认:会覆盖数据的导入、删除生产项目,没有确认就直接失败,而不是悄悄执行。
  • -扩展目录新增 pg_cron。
  • -新增项目事件流与任务历史,长时间运行的操作可以看着走完,而不用反复轮询。

一个单元,一个 Postgres

  • -每个单元现在都是自己的 Postgres,有自己的存储、自己的 CPU 和内存上限,而不是和别的项目挤同一台服务器。
  • -连接数上限和内存来自你的套餐,而不是邻居用剩下的部分。
  • -预览和恢复变成了从单元存储分叉出来的分支 - 这也是它们无论背后有多少数据都创建得快的原因。
  • -新单元只会落在还有余量承载它的节点上,加上按单元设定的上限,邻居的突发流量拿不走整个节点。
  • -控制台、API、CLI 和 Terraform provider 从此统一了说法:区域里的节点,节点上的单元。

扩展、用量告警,以及一批平台工具

  • -重做了控制台:新增按项目的上下文侧边栏,以及每个新项目的上手清单。
  • -新增 Postgres 扩展管理:可在控制台按项目启用 PostGIS、pgcrypto 等精选扩展。
  • -新增存储与连接数的阈值告警,通过控制台、Webhook(alert.triggered / alert.resolved)和邮件送达。
  • -上线实时状态页,展示各区域的健康状况。
  • -CLI 新增一批面向日常运维的命令。
  • -发布 @capydb/mcp,让 AI 智能体通过 MCP 管理项目、预览和备份。
  • -发布 Terraform provider,用声明式方式管理项目与预览。
  • -加固了按 pull request 创建预览数据库的 GitHub Action。
  • -新增关于连接池、灾难恢复、切换、合规与 llms.txt 的文档。

API 密钥、webhook 与第三方集成

  • -新增按权限范围划分的 API 密钥,支持逐个密钥设定范围、列出与吊销。
  • -新增 webhook 端点,以带签名的事件推送项目与任务的生命周期,每个端点各有自己的密钥并可轮换。
  • -新增 Vercel 与 Netlify 集成:把连接字符串写入你项目的环境变量,并在凭据轮换、恢复、导入之后重新写入。
  • -新增 Clerk、Auth0、Better Auth 的用户同步集成。

品牌与市场表达翻新

  • -把公开站点重新定位为「不吹牛的托管 Postgres」。
  • -用更利落、更贴近开发者的口吻重写了价格、关于、联系、文档和博客文案。
  • -把叙述统一到用完即弃的数据库、直连访问,以及清晰的产品边界上。

控制台改用 Clerk 的组织认证

  • -后端开始校验 Clerk 会话令牌。
  • -在元数据中把生效的 Clerk 组织映射到 CapyDB 组织。
  • -控制台常规路由不再要求前端持有全局管理员令牌。

管理界面与组织设置

  • -新增用于查看和创建组织、网格节点的管理界面。
  • -支持通过 Clerk 的 OrganizationSwitcher 在多个组织之间切换。
  • -设置页支持编辑计费元数据、管理团队成员、吊销 API 密钥。

公开站点清理

  • -把文档、博客、法律条款、关于、联系和更新日志的占位页换成了真实内容。
  • -从市场页面移除了尚未发布的 CLI 功能和「敬请期待」之类的说法。