v5.35.0
20 days ago by Ian Zygmunt
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 upgradeidempotent and added support for mixed-case schema names
Bug Fixes
- Keyset pagination infinite loop - Fixed vector sync infinite loops by including
AfterKeyin 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