Skip to content

v0.2.0

Pre-release
Pre-release

Choose a tag to compare

@lalitgehani lalitgehani released this 19 Jan 19:27
· 246 commits to main since this release

Release Notes: SnackBase Updates v0.2.0

This release introduces several major features and architectural improvements, focusing on a more powerful permissions system, real-time capabilities, and enhanced security.

🚀 Major Features

🔐 Permission System V2 (SQL-Native RLS)

A complete overhaul of the authorization system, moving from application-level checks to high-performance, SQL-native Row-Level Security (RLS).

  • Collection-Centric Rules: Permissions are now defined directly on collections using a powerful new expression language.
  • SQL Macros: Introduced MacroExpander for dynamic authorization rules (e.g., @has_role, @request.auth.id).
  • SQL Compiler: A new pipeline with a dedicated lexer, parser, and validator transforms rules directly into efficient SQL filters.
  • Field-Level Permissions: Granular control over specific fields within collections.

🏠 Single-Tenant Mode

New server-driven single-tenant configuration for simplified deployments.

  • Automatic Bootstrapping: Automatically creates the initial account and admin user.
  • Simplified Auth: Support for optional account identifiers in authentication routes when running in single-tenant mode.
  • Demo App: Added a dedicated to-do list example app optimized for single-tenant use.

📡 Real-time Event System

A robust system for broadcasting record changes to connected clients.

  • Multi-Protocol Support: Full support for both WebSockets and Server-Sent Events (SSE).
  • Subscription Management: Efficient management of real-time subscriptions for collection events.
  • Demo App: A complete Realtime Demo application showing live activity streams and connection status.

🔑 API Key Management

Full support for static API keys to facilitate machine-to-machine communication and external integrations.

  • Management UI: New interface for creating, listing, and revoking API keys.
  • Secure Authentication: Fully integrated into the existing authorization middleware.

🛡️ Security & Middleware

  • Rate Limiting: New middleware with configurable user/IP-based limits and storage backends.
  • Security Headers: Integrated support for CSP, HSTS, and HTTPS redirection.
  • Auth Refinements: Added API client with auth interceptors to shared example utilities.

🎨 UI & UX Improvements

  • Collection Rules Tab: New interface for managing collection-specific access rules.
  • Rule Editor & Tester: Specialized components for writing and testing permission expressions.
  • Date Field Type: Introduced a new date field type with an integrated calendar UI.
  • Dynamic Field Inputs: Improved JSON validation and display for flexible data structures.

📚 Documentation

  • Writing Rules Guide: Comprehensive guide for the new V2 rule expression language.
  • Real-time Docs: New documentation for the WebSocket and SSE systems.
  • API Key Overview: Conceptual overview and updated API examples for key management.
  • Architecture Updates: Updated architecture diagrams and core implementation details.