Skip to content

Changelog

Version history for QS-Bridge releases.


v0.2.0 — Multi-Server Platform (Current)

Released: 2026-03-26

This release marks the completion of the core platform — multi-server architecture, production-ready admin panel, Steam authentication, and comprehensive testing.

Platform

  • 12 platform tables — ServerRegistry, ServerConfig, BanEntry, WhitelistEntry, AdminRole, ModuleConfig, PanelSession, PanelAuditLog, PlayerServerPresence, GlobalVault, ServerTransferQueue, CrossServerEvent
  • 24 platform reducers — admin CRUD, panel wrappers with is_gateway() guard, server lifecycle (register, heartbeat, player connect/disconnect)
  • Multi-server architectureserver_id partitioning, scoped subscriptions, cluster-wide global tables
  • Mod Registry schema — 10 tables, 30+ reducers, 8 ModKind variants

Bridge (C++)

  • 225+ files, 17,200+ lines — clean build, 0 warnings
  • BSATN codec — 18 header-only files, full SpacetimeDB binary protocol
  • STDB Client — WebSocket with BSATN binary framing, auto-reconnect
  • Engine Adapter — abstract interface with UE4 4.27 implementation (vtable hooking)
  • HMAC-SHA256 — reducer call signing (RFC 4231 verified)
  • 860+ test assertions across 7 test suites:
  • 131 BSATN round-trip tests
  • 554 integration pipeline assertions (45 tests)
  • 108 server message parsing assertions
  • 26 protocol framing tests
  • 17 mock adapter tests
  • 16 E2E SpacetimeDB tests
  • 8 HMAC tests
  • codegen.py — UE4 bindings → C++17 BSATN types (809 lines, 218 generated headers)

Admin Panel

  • 13 pages — Dashboard, Servers, Players, Users & Roles, Admin, Audit Log, Passport, Settings, Tables, SQL Console, Login
  • 16 UI components — Button, Card, Dialog, DataTable, Badge, Input, Toast, Skeleton, EmptyState, Spinner, Switch, Tabs, Select, Textarea, Kbd
  • Real-time subscriptionsuseTable<T> hook, no polling
  • Steam OpenID authentication — via API Gateway, JWT sessions
  • BisectHosting integration — server lifecycle controls with rate limiting
  • Design system — Red Rose/Inter/JetBrains Mono fonts, warm amber palette, framer-motion animations
  • Code splitting — React.lazy(), vendor chunks, <300 KB gzipped

API Gateway

  • Hono TypeScript server on port 3081
  • Steam OpenID 2.0 — redirect-based authentication
  • JWT sessions — HttpOnly cookie, 8-hour expiry, HS256 signed
  • ~55 REST routes — admin mutations, hosting API proxy, server management
  • is_gateway() guard — all panel reducers verify caller is the gateway identity

Security

  • Password hashing (bcrypt/argon2 in reducers)
  • Steam OpenID replaces password-based auth
  • HMAC-SHA256 bridge-side reducer signing
  • Session storage (XSS mitigation)
  • SQL console restricted to Owner role

Documentation

  • wiki.qs-zuq.com — 60-page wiki with public + restricted tiers
  • Getting Started (5 pages), Platform (17 pages), Panel (12 pages)
  • Game Modules (4 pages), Modding (3 pages), Deployment (5 pages)
  • Reference (4 pages), Restricted (9 pages)

v0.1.0 — Initial Release

Internal milestone

  • Single-server bridge proof-of-concept
  • HumanitZ game module (49 tables, 117+ reducers)
  • Basic panel with direct STDB authentication
  • BSATN codec and WebSocket client
  • UE4 4.27 engine adapter

Versioning Policy

QS-Bridge follows Semantic Versioning:

  • MAJOR — breaking changes to platform tables, SDK traits, or API contracts
  • MINOR — new features, new tables, new pages (backwards compatible)
  • PATCH — bug fixes, performance improvements, documentation updates

The platform, panel, and bridge are versioned together as a single product.