Skip to content

Release Notes - 3.13.2

Performance Improvements

FilterBar and Saved Views

  • Fixed performance issue where adding new filter conditions would unnecessarily re-evaluate all existing filters
  • Added "Select..." placeholder option for new filter conditions to prevent premature filtering
  • Eliminated unnecessary cache re-indexing when saving or deleting saved views
  • Made settings system smarter to only trigger cache updates when indexing-related settings actually change

Filter Processing

  • Implemented index-backed filtering that processes significantly fewer tasks for filtered views
  • Added intelligent query result caching with automatic expiration to eliminate redundant operations
  • Improved candidate selection using existing status, date, and overdue task indexes
  • Enhanced set intersection logic for multiple AND conditions to further reduce processing

Bug Fixes

Filter Logic

  • Fixed critical bug where index optimization incorrectly excluded valid results for OR queries containing indexed conditions
  • Added detection logic to prevent unsafe optimizations when indexed conditions are part of OR groups
  • Improved query structure analysis to ensure filter correctness

Saved Views

  • Fixed issue where modifying one saved view could affect others due to shared object references
  • Added proper deep cloning of FilterQuery objects throughout the ViewStateManager
  • Ensured saved views remain independent when modified

Technical Details

Index Optimization Safety

  • Index optimizations now only apply when provably safe (AND relationships between indexed conditions)
  • Added recursive query analysis to detect OR groups containing indexed conditions
  • Maintains filter correctness while providing performance benefits where safe

Cache Management

  • Cache-related settings tracking: taskTag, excludedFolders, disableNoteIndexing, storeTitleInFilename, fieldMapping
  • Query result caching with 30-second auto-expiration and immediate invalidation on data changes
  • Debug logging available for performance monitoring

Performance Impact

  • Filter building is now responsive with no lag when adding conditions
  • Saved view operations are instant with no unnecessary re-indexing
  • Repeated filter operations are nearly instant due to intelligent caching
  • Significant memory usage reduction for large vaults