変更履歴

最近の変更

製品とサイトに実際に反映された変更だけを載せています。構想も、読み解きの必要なロードマップもありません。

Cloudflare Workers、Netlify、そして8言語対応

  • -Cloudflare アカウントを接続すると、CapyDB がセルの前段に Hyperdrive 構成を用意し、Worker または Pages プロジェクトにバインドして最新の状態に保ちます。認証情報は Cloudflare 側に残るため、ローテーションは再デプロイなしで Worker に届きます。
  • -Hyperdrive のオリジンはプール済みエンドポイントを指し、接続数の上限はプランに合わせて設定されます。Cloudflare の既定値は、小さなプランの接続枠全体を超えることがあります。
  • -再同期は、実際に変更がない限り何も書き換えません。認証情報のローテーション、リストア、インポートが Worker の新しいバージョンを黙って公開することはなくなりました。
  • -Netlify 向けの CapyDB 拡張機能です。チーム単位で API キーを 1 つ保持し、サイトごとにデータベースを選ぶと、接続文字列はビルド時に解決されます。サイトの環境変数に入るのは機能フラグだけです。
  • -Vercel Marketplace 経由で導入したデータベースは、Vercel アカウント間で移管できます。セル、そのストレージ、接続文字列はプロジェクトとともに移動するのでデプロイはそのまま動作し、プロジェクト単位の API キーは失効します。
  • -サイトとダッシュボードが英語・ドイツ語・スペイン語・フランス語・日本語・韓国語・ポルトガル語・中国語に対応しました。英語の URL は変更していません。
  • -ドキュメントのポイントインタイム復旧期間を訂正しました。障害復旧ページに記載していた約 30 日ではなく、7 日です。復旧経路はもともとストレージのチェックポイントしか使っていないため、実際は常に 7 日でした。

検証つき TLS、温まったプレビュー、そして公開したベンチマーク

  • -接続文字列が CapyDB のルート証明書を検証する sslmode=verify-full になりました。既存のプロジェクトもそのまま更新済みで、接続を黙って横取りされることはもうありません。
  • -ベンチマークのページを公開しました。方法論と正確なパーセンタイルまで載せ、実際の本番ノード上で、すべてのプロジェクトが通るのと同じ 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、時間区間の制約、仮想生成列、更新前の行を返す仕組み、そしてスキーマを 1 つのメジャーに縛らずに使う方法を扱っています。
  • -capydb doctor に、あとで最も高くつくスキーマの選択を見つける規則を足しました。移植できない uuidv7() のデフォルト値と、NULL 可であるべきでない列です。
  • -生成列がスキーマの内観と capydb generate に反映されるようになり、生成される型がデータベースと一致します。
  • -プール接続が Postgres 18 のワイヤプロトコルに対応しました。

インデックスアドバイザーと Supabase RLS の変換

  • -データベースが実際に実行したクエリからインデックスを提案するアドバイザーを追加しました。効果の大きい順に並びます。
  • -候補はすべて仮想インデックスとして測定します - 何も作らず、何も書き込みません - ので、本番に対して実行しても安全です。
  • -アドバイザーはダッシュボード、capydb advisor indexes、API、そしてエージェント向けの MCP ツールから使えます。
  • -capydb migrate rls を追加しました。Supabase の行レベルセキュリティのポリシーを素の Postgres に変換し、これからアプリケーション側が渡すべきクレームを漏れなく報告します。
  • -その変換エンジンである 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 の拡張が自動で更新されるようになりました。ダッシュボードにプラットフォーム更新のお知らせとして表示されます。

使われていなければ一時停止、壊す操作には確認を

  • -問い合わせが来ないセルは一時停止し、次の接続で約 3 分の 1 秒で戻るようになりました。眠っているデータベースに計算資源の料金はかかりません。
  • -一時停止中と復帰中の状態を、ダッシュボード・API・CLI のどこでも同じように表示します。復帰中のデータベースが障害に見えることはありません。
  • -本番データベースをその場で任意の時点に巻き戻す復元を、明示的な確認つきで追加しました。
  • -破壊的な操作には明示的な確認が必須になりました。データを上書きするインポートや本番プロジェクトの削除は、確認がなければ静かに進むのではなく失敗します。
  • -拡張のカタログに pg_cron を追加しました。
  • -プロジェクトのイベントストリームとジョブ履歴を追加し、時間のかかる操作を繰り返し問い合わせるのではなく眺められるようにしました。

1 セルにつき 1 つの Postgres

  • -各セルが、独自のストレージと独自の CPU・メモリ上限を持つ自分だけの Postgres として動くようになりました。ほかのプロジェクトと 1 台のサーバーを分け合うことはありません。
  • -接続数の上限とメモリはプランから決まります。隣人の使い残しからではありません。
  • -プレビューと復元はセルのストレージからの枝分かれになりました。背後のデータ量に関わらず素早く作れるのはそのためです。
  • -新しいセルは、それを担うだけの余力があるノードにしか置かれません。セルごとの上限があるので、隣人の急な負荷がノード全体を持っていくこともありません。
  • -ダッシュボード、API、CLI、Terraform プロバイダーの語彙をそろえました - リージョンの中のノード、その上のセルです。

拡張、使用量アラート、プラットフォームツールの拡充

  • -ダッシュボードを刷新しました。プロジェクト単位のサイドバーと、新規プロジェクトごとの初期設定チェックリストを用意しています。
  • -Postgres 拡張の管理を追加しました。PostGIS、pgcrypto をはじめとする厳選した拡張を、プロジェクトごとにダッシュボードから有効にできます。
  • -ストレージと接続数のしきい値アラートを追加しました。ダッシュボード、Webhook(alert.triggered / alert.resolved)、メールでお届けします。
  • -リージョンごとの状態がわかるライブのステータスページを公開しました。
  • -日々の運用に向けたコマンド群を CLI に追加しました。
  • -@capydb/mcp を公開しました。AI エージェントが MCP 経由でプロジェクト、プレビュー、バックアップを扱えます。
  • -プロジェクトとプレビューを宣言的に管理できる Terraform プロバイダーを公開しました。
  • -プルリクエストごとにプレビュー用データベースを作る GitHub Action を強化しました。
  • -コネクションプール、災害復旧、切り替え、コンプライアンス、llms.txt に関するドキュメントを追加しました。

API キー、Webhook、プロバイダー連携

  • -権限を絞った API キーを追加しました。キーごとのスコープ、一覧、失効に対応します。
  • -プロジェクトとジョブのライフサイクルを署名つきイベントで送る Webhook エンドポイントを追加しました。エンドポイントごとにシークレットと更新があります。
  • -Vercel と Netlify の連携を追加しました。接続文字列をプロジェクトの環境変数に書き込み、認証情報の更新・復元・インポートのあとで書き直します。
  • -Clerk、Auth0、Better Auth のユーザー同期連携を追加しました。

ブランドとマーケティングの刷新

  • -公開サイトの立ち位置を「誇張のないマネージド Postgres」に定め直しました。
  • -料金、CapyDB について、お問い合わせ、ドキュメント、ブログの文章を、つくる人に寄り添う明快な言葉に書き直しました。
  • -使い捨てのデータベース、直接接続、明確な製品の線引きという軸にメッセージをそろえました。

ダッシュボードでの Clerk による組織認証

  • -バックエンドで Clerk のセッショントークンを検証するようにしました。
  • -有効な Clerk の組織を、メタデータ上で CapyDB の組織に対応づけました。
  • -通常のダッシュボード操作で、フロントエンドが全体管理トークンを必要としなくなりました。

管理画面と組織の設定

  • -組織とグリッドのノードを一覧・作成できる管理画面を追加しました。
  • -Clerk の OrganizationSwitcher による複数組織の切り替えを追加しました。
  • -設定画面で、請求メタデータの編集、チーム管理、API キーの失効ができるようになりました。

公開サイトの整理

  • -ドキュメント、ブログ、規約、CapyDB について、お問い合わせ、変更履歴の仮ページを、実際の内容に置き換えました。
  • -未提供の CLI 機能や「近日公開」の記載をマーケティング面から取り除きました。