Changelog

All notable changes to the esimtida API boilerplate are documented here. esimtida follows Semantic Versioning.

v1.3.0 March 2025 New

KYC Integration & Stripe Identity

  • Added full KYC verification flow powered by Stripe Identity.
  • New kyc_status enum on the User model: PENDING, PROCESSING, VERIFIED, FAILED.
  • New middleware RequireKyc to gate routes behind verified identity status.
  • Webhook handler for identity.verification_session.verified events.
v1.2.0 January 2025 Improved

Context Switching & Team Scoping

  • New ContextController — allows users to switch active Team or Project mid-session.
  • Global Eloquent scope now dynamically resolves from session context instead of a fixed FK.
  • Improved SwitchTeamRequest with UUID validation and ownership checks.
  • Fixed a race condition where switching context too quickly could leak queries across tenants.
v1.1.2 November 2024 Fix

Security Patch

  • Patched CORS configuration to correctly block Secret Key requests from browser origins.
  • Rate limiter now uses token identity when a Bearer token is present, falling back to IP.
  • Stricter UUID enforcement on all resource routes — non-UUID segments now return 404 instead of 500.
v1.1.0 October 2024 New

API Key Management & Sandbox Mode

  • Projects now auto-provision both pk_live_ and pk_test_ key pairs on creation.
  • New SandboxMiddleware — requests authenticated with a test key are automatically isolated to sandbox data.
  • API responses now include an X-esimtida-Mode: live|test header.
v1.0.0 September 2024 Initial

Initial Release

  • Laravel 11 + PHP 8.2 foundation with full Sanctum Bearer token authentication.
  • Multi-tenancy via Team & Project isolation with Global Eloquent Scopes.
  • Glassmorphism UI built with Geist font, Vanilla CSS variables, and Alpine.js.
  • Vite bundler with instant HMR and production asset optimization.
  • Pre-wired error handler returning JSON for all API exceptions.