May 15th, 2026

ZenseAI v3.0.4

New Features

Schools & billing

  • School membership: Schools resolve roster access via the dedicated membership table with administrator flags instead of legacy junction-only helpers

πŸ“· [SCREENSHOT] β€” School roster showing consistent admin signals tied to membership rows

  • School-wide studio pools: Image Studio and Video Studio budgets consolidate into one pooled allowance while preserving analytics splits by role
  • School studio packs: Pool purchases settle once thanks to verification guards that detect repeat intents

School administration UI

  • Bulk student import: A standalone bulk-import page sits beside Invite Student so large spreadsheets stay out of the main roster
  • Loading polish: Skeleton loaders plus staged enter motion ship across School Management tabs including roster infinite scroll

Personal billing clarity

  • Cleaner histories: School-funded studio purchases no longer surface inside individual transaction or billing timelines

Enhancements

  • Administrator-funded studio caps stay distinct from optional personal top-ups; stored totals reconcile with backend pooling logic
  • Nullable teacher roster caps unlock unlimited staffing parity with student seating semantics
  • Monthly resets apply pooled allowances together with tracked personal purchases
  • Auxiliary lookups respect membership-aware joins for classrooms and tags

Platform reliability

  • API safeguards: Rate limiting plus OAuth route hygiene help institutional deployments withstand abusive bursts
  • Studio authorization: Media tooling endpoints inherit tighter ownership checks that close residual studio IDOR gaps

Bug Fixes

  • Stopped duplicate studio balances triggered when verification replayed the same payment intent for packs or personal top-ups
  • Repaired overstated school totals caused by legacy formulas double-counting bonus pools versus assigned caps
  • Removed conflicting scroll containers on School Management filters and tightened roster limit editors