v5.35.0


Multi-Tenant Architecture and AI Agent Enhancements

New Features

  • Multi-tenant switching support - Complete infrastructure for switching between tenants with proper cache management, component reloading, and loading screen coordination
  • Unified artifact and attachment delivery - New architecture consolidates file handling paths for AI agents, with proper type registration and wildcard MIME support
  • Pluggable geocoding providers - New abstraction layer supporting Google, Geocod.io, and HERE providers with extensible provider registry
  • Memory Manager contradiction detection - AI agents now include contradiction detection capabilities with dedicated prompt metadata support
  • Inline Test form editing - Rich editing experience for Test and Test Suite entities with save/discard workflows, tag management, and drag-to-reorder functionality

Improvements

  • Page header chrome consolidation - Standardized UI chrome across ~50 dashboards in 14 sections using shared component library (mj-page-layout, mj-page-header, mj-page-body) with design-token-driven styling
  • Enhanced Home dashboard - Improved pin empty state with dismissible "Don't show this again" preference and faster Add Pin panel through cached singleton access
  • Developer permissions expansion - Developer role now has delete permissions on development-owned entities with proper schema scoping
  • Query parameter round-trip - Deep linking and browser back/forward navigation now properly maintains state in Explorer
  • Database provider consolidation - Unified SQL composition logic between SQL Server and PostgreSQL providers, reducing duplication and fixing PostgreSQL UPDATE bugs
  • Open App installation improvements - Made mj app upgrade idempotent and added support for mixed-case schema names

Bug Fixes

  • Keyset pagination infinite loop - Fixed vector sync infinite loops by including AfterKey in RunView fingerprint generation
  • UUID comparison standardization - Proper UUID comparison using UUIDsEqual() for cross-platform compatibility
  • GraphQL BypassCache exposure - RunViewParams.BypassCache parameter now properly exposed through GraphQL surface
  • Pin overlay hang resolution - Fixed hanging pin overlay in Explorer dashboard navigation
  • AI Agents category filtering - Fixed category filter not properly filtering results in AI Agents dashboard
  • Collection picker creation - Fixed empty collection creation workflow in picker components