v5.26.0
3 days ago by Caeleb Balanesi
New Features
- Entity-Level Cache Control: New
AllowCachingcolumn on Entity table provides fine-grained control over server-side and client-side caching behavior per entity - External Change Detection System: Comprehensive package for detecting and reconciling changes made outside MemberJunction by external systems or direct database modifications
- Cache Statistics API: New GraphQL resolver exposing detailed cache metrics including entry counts, memory usage, and cache hit/miss ratios by type
- Configurable Cache TTL and Memory Limits: Per-entity TTL controls and memory-based eviction policies for improved cache management
- External Change Replay: Ability to replay detected external changes through MemberJunction's entity system to maintain audit trails and trigger business logic
Improvements
- Enhanced Cache Architecture: Improved cache fingerprint system with entity reverse indexing for more efficient cache invalidation
- Schema-Level Cache Defaults: CodeGen integration with
newEntityDefaults.AllowCachingBySchemafor automatic cache configuration during entity creation - Optimized Change Detection: Batch loading and parallel processing for external change detection with configurable concurrency
- Cache Provider Migration: Support for migrating cache entries between storage providers while preserving data integrity
- Metadata Synchronization: Automated migration system for keeping database schema and metadata tables in sync
Bug Fixes
- Dependency Resolution: Fixed missing dependencies across 17 packages that had accumulated while knip dependency checking was silently broken
- Knip Infrastructure Repair: Disabled crashing vitest plugin and hardened CI workflow to fail-fast on tool crashes instead of silently passing
- Migration Timestamp Conflicts: Resolved AllowCaching migration timing issues to ensure proper execution order after v5.25 releases
- Cache Control Edge Cases: Fixed cache behavior for filtered vs unfiltered queries to prevent stale data issues
- Angular Version Hardcoding: Fixed hardcoded Angular version references in dependency auto-fix scripts