Changelog#

SDK @rafikidb/sdk#

0.8.0#

  • Realtime WebSocket transport (auto-reconnect with backoff, event recovery); transport: 'auto' | 'websocket' | 'sse'

0.7.x#

  • Full generics across every surface (from<Row>(), typed realtime, typed modules); insert overloads; self-contained react subpath bundle
  • Browser realtime fix: named SSE events (INSERT/UPDATE/DELETE)

0.6.0#

  • Generic DataBuilder (from<Row>() types execute/get/single/insert/update and awaited chains); insert accepts Partial<Row>

0.5.0#

  • Self-contained bundles + fixed d.ts imports for @rafikidb/sdk/react

0.4.0#

  • Keyset pagination (.cursor(id))
  • Partial index on table creation (fast default list queries)

0.3.0#

  • .join() from code (column pickers, aliases, chained joins)

0.2.0#

  • persistSession (localStorage sessions)
  • useAuth React hook (@rafikidb/sdk/react)

0.1.x#

  • Project-scoped login(); platformLogin() for account holders
  • Renderable RafikiDBError (enumerable message, status, code, errors)
  • Fetch binding fix (no "Illegal invocation" in browsers)

Platform#

  • Realtime: WebSocket transport with history recovery
  • RLS: subject semantics (api_key / authenticated / public / any), user-JWT priority on the data API
  • API key scopes enforced on data + modules (storage/env/secrets/functions/ webhooks/payments)
  • Query engine: joins (column-based), aggregates, group by, distinct, select aliases, qualified columns
  • Data API: Supabase-style filters, count=exact, keyset cursor
  • Password reset for project users (email code, single-use)
  • Cron scheduler (robfig/cron, background loop)
  • OpenAPI spec expanded and served at /openapi.yaml