변경 내역

최근 변경 사항.

제품과 사이트에 실제로 반영된 변경만 적습니다. 계획만 있는 이야기도, 해석이 필요한 로드맵도 없습니다.

Cloudflare Workers, Netlify 그리고 8개 언어

  • -Cloudflare 계정을 연결하면 CapyDB가 셀 앞에 Hyperdrive 구성을 두고 Worker 또는 Pages 프로젝트에 바인딩한 뒤 최신 상태로 유지합니다. 자격 증명은 Cloudflare 쪽에 남으므로, 교체해도 재배포 없이 Worker에 반영됩니다.
  • -Hyperdrive 오리진은 풀링된 엔드포인트를 가리키며 연결 예산은 요금제에 맞춰 설정됩니다. Cloudflare의 기본값은 작은 요금제의 전체 연결 한도를 넘을 수 있습니다.
  • -이제 실제로 바뀐 것이 없으면 재동기화는 아무것도 바꾸지 않습니다. 자격 증명 교체, 복원, 가져오기가 Worker의 새 버전을 조용히 게시하는 일이 사라졌습니다.
  • -Netlify용 CapyDB 확장입니다. 팀 단위로 API 키 하나를 보관하고 사이트별로 데이터베이스를 고르면 연결 문자열은 빌드 시점에 확인됩니다. 사이트 환경 변수에는 기능 플래그 외에 아무것도 들어가지 않습니다.
  • -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, 기간 제약, 가상 생성 열, 바뀌기 전 행 반환, 그리고 스키마를 한 메이저 버전에 못 박지 않고 쓰는 법을 다룹니다.
  • -capydb doctor에 나중에 가장 비싸지는 스키마 선택을 잡아내는 규칙을 넣었습니다. 이식되지 않는 uuidv7() 기본값과, NULL을 허용하면 안 되는 열입니다.
  • -생성 열이 스키마 조사와 capydb generate에 반영되어, 생성된 타입이 데이터베이스와 일치합니다.
  • -풀 연결이 Postgres 18 와이어 프로토콜을 지원합니다.

인덱스 어드바이저와 Supabase RLS 변환

  • -데이터베이스가 실제로 실행한 쿼리에서 인덱스를 제안하는 어드바이저를 추가했습니다. 아낄 수 있는 양이 큰 순서로 정렬됩니다.
  • -후보는 모두 가상 인덱스로 측정합니다 - 아무것도 만들지 않고 아무것도 쓰지 않으므로 - 운영 환경에 그대로 돌려도 안전합니다.
  • -어드바이저는 대시보드, capydb advisor indexes, API, 그리고 에이전트를 위한 MCP 도구에서 쓸 수 있습니다.
  • -capydb migrate rls를 추가했습니다. Supabase의 행 수준 보안 정책을 순수 Postgres로 옮기고, 이제 애플리케이션이 무엇을 넘겨야 하는지 정확히 알려줍니다.
  • -그 변환기를 capyrls라는 이름으로 오픈소스에 공개했습니다.
  • -대시보드에 스키마 페이지를 추가해, 살아 있는 데이터베이스의 테이블·열·인덱스·열거형을 훑어볼 수 있습니다.
  • -@capydb/drizzle에 withAuthContext가 들어갔습니다. 행 수준 보안 신원으로 쿼리를 실행하는, 풀러에서도 안전한 방식입니다.
  • -알림이 대시보드와 웹훅에 더해 조직 청구 이메일로도 갑니다.

버전 업그레이드, 웹훅 전송 기록, 저장소 점검

  • -Postgres 마이너 업그레이드 시점을 직접 고를 수 있습니다. 일시 중지된 셀은 다음에 깨어날 때 공짜로 받아 가고, 돌아가는 셀은 대기 중인 버전을 알린 뒤 지시할 때 재시작합니다.
  • -메이저 버전 준비 점검을 추가했습니다. 무언가를 만들기 전에 걸림돌을 먼저 알려주므로, 중간에 엎어지지 않습니다.
  • -메이저 업그레이드가 여기서 실제로 어떻게 진행되는지 문서로 정리했습니다. 전체 복사와 검증 구간, 직접 확인하는 전환, 그리고 그 뒤에도 남아 있는 롤백입니다.
  • -웹훅 엔드포인트가 시도별 상태와 함께 전송 기록을 남기고, 개별 전송을 다시 보낼 수 있습니다.
  • -서명된 테스트 이벤트를 보내는 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을 추가했습니다.
  • -프로젝트 이벤트 스트림과 작업 기록을 추가해, 오래 걸리는 작업을 계속 물어보는 대신 지켜볼 수 있습니다.

셀 하나에 Postgres 하나

  • -이제 모든 셀이 자기 저장소와 자기 CPU·메모리 한도를 가진 독립된 Postgres로 돕니다. 다른 프로젝트와 서버 한 대를 나눠 쓰지 않습니다.
  • -연결 수 한도와 메모리는 요금제에서 나옵니다. 이웃이 남긴 몫에서 나오지 않습니다.
  • -프리뷰와 복원이 셀 저장소에서 갈라져 나오는 방식이 됐습니다. 뒤에 쌓인 데이터가 얼마든 빠르게 만들어지는 이유입니다.
  • -새 셀은 감당할 여유가 있는 노드에만 놓이고, 셀별 한도 덕분에 이웃의 급증이 노드 전체를 가져가지 못합니다.
  • -대시보드, API, CLI, Terraform 프로바이더가 같은 말을 쓰게 됐습니다. 리전 안의 노드, 그 위의 셀입니다.

확장 기능, 사용량 알림, 그리고 플랫폼 도구 정비

  • -대시보드를 새로 만들었습니다. 프로젝트 맥락을 담은 사이드바와, 새 프로젝트마다 제공되는 시작 체크리스트가 있습니다.
  • -Postgres 확장 기능 관리를 추가했습니다. PostGIS, pgcrypto를 비롯해 엄선한 확장 기능을 프로젝트별로 대시보드에서 켤 수 있습니다.
  • -스토리지와 연결 수에 대한 임계값 알림을 추가했습니다. 대시보드, 웹훅(alert.triggered / alert.resolved), 이메일로 전달됩니다.
  • -리전별 상태를 보여 주는 실시간 상태 페이지를 열었습니다.
  • -일상적인 운영을 위한 명령어를 CLI에 대거 추가했습니다.
  • -@capydb/mcp를 공개했습니다. AI 에이전트가 MCP로 프로젝트, 프리뷰, 백업을 다룰 수 있습니다.
  • -프로젝트와 프리뷰를 선언적으로 관리하는 Terraform 프로바이더를 공개했습니다.
  • -풀 리퀘스트마다 프리뷰 데이터베이스를 만드는 GitHub Action을 더 튼튼하게 만들었습니다.
  • -커넥션 풀링, 재해 복구, 전환, 컴플라이언스, llms.txt를 다루는 문서를 새로 냈습니다.

API 키, 웹훅, 서비스 연동

  • -권한을 좁힌 API 키를 추가했습니다. 키마다 범위, 목록, 폐기를 지원합니다.
  • -프로젝트와 작업 생애주기를 서명된 이벤트로 보내는 웹훅 엔드포인트를 추가했습니다. 엔드포인트마다 비밀 값과 교체가 있습니다.
  • -Vercel과 Netlify 연동을 추가했습니다. 연결 문자열을 프로젝트 환경 변수로 밀어 넣고, 자격 증명 교체·복원·가져오기 뒤에 다시 채웁니다.
  • -Clerk, Auth0, Better Auth의 사용자 동기화 연동을 추가했습니다.

브랜드와 마케팅 정비

  • -공개 사이트의 방향을 ‘허풍 없는 매니지드 Postgres’로 다시 잡았습니다.
  • -요금제, 소개, 문의, 문서, 블로그 문구를 만드는 사람의 언어로 더 또렷하게 다시 썼습니다.
  • -쓰고 버리는 데이터베이스, 직접 접근, 분명한 제품 경계로 메시지를 정렬했습니다.

대시보드의 Clerk 기반 조직 인증

  • -백엔드에서 Clerk 세션 토큰을 검증합니다.
  • -활성 Clerk 조직을 메타데이터에서 CapyDB 조직에 매핑했습니다.
  • -일반 대시보드 경로에서 프런트엔드가 전역 관리자 토큰을 요구하지 않습니다.

관리자 화면과 조직 설정

  • -조직과 그리드 노드를 조회하고 생성하는 관리자 화면을 추가했습니다.
  • -Clerk OrganizationSwitcher로 여러 조직을 전환할 수 있습니다.
  • -설정에서 청구 메타데이터 편집, 팀 관리, API 키 폐기를 할 수 있습니다.

공개 사이트 정리

  • -문서, 블로그, 약관, 소개, 문의, 변경 내역의 임시 페이지를 실제 내용으로 바꿨습니다.
  • -아직 출시하지 않은 CLI 기능과 ‘곧 출시’ 문구를 마케팅 화면에서 걷어냈습니다.