Skip to content

v0.13.0 — Data Platform (Intermediate)

Latest

Choose a tag to compare

@ivkan ivkan released this 25 Mar 11:43
· 2322 commits to main since this release

Highlights

Unified Query API — client.query() now supports field projection, result limits, and efficient Merkle delta reconnect. The separate Shapes API has been removed — all partial replication features are unified under one API.

Schema System — TypeScript-first schema definition with server-side validation. Define schemas with @topgunbuild/schema, generate Rust validation code via CLI.

DataFusion SQL — SELECT, WHERE, GROUP BY, ORDER BY queries powered by Apache DataFusion (feature-gated: --features datafusion).

What's New

Features

  • Unified Query API with fields projection, limit, Merkle delta reconnect, writer exclusion
  • Schema system: DSL, codegen, server-side SchemaService
  • DataFusion SQL integration: QueryBackend trait, Arrow cache, TopGunTableProvider
  • RSA JWT auto-detection (HMAC vs RSA/EC)
  • Simulation testing framework (SimCluster, SimNetwork, proptest)

Security

  • Re-enabled JWT expiration validation with configurable leeway
  • CORS origins default changed to empty (deny-all)
  • Missing sub claim now rejected with AUTH_FAIL

Documentation

  • New guides: Schema & Type Safety, SQL Queries, Troubleshooting, FAQ, Benchmarks
  • New tutorials: Todo App with React + TopGun
  • Updated Live Queries guide with field projection, limits, Merkle reconnect
  • Fixed misleading auth/security/RBAC documentation
  • Brand color token system for docs site

Breaking Changes

  • subscribeShape() removed — use client.query() with fields option instead
  • ShapeHandle, ShapeManager removed — QueryHandle now has all capabilities
  • SHAPE_* wire messages removed — use QUERY_* with extended fields

Updated Packages

Package Version
@topgunbuild/core 0.13.0
@topgunbuild/client 0.13.0
@topgunbuild/react 0.13.0

Stats

  • 589 Rust server tests, 461 client tests, 57 integration tests — all passing
  • 206 files changed, +32,112 / -1,697 lines since v0.12.0