Skip to content

Changelog

v0.5.0 (2025-09-26)

Refactor

  • Update import statement from regify to regman in registry.py

v0.4.0 (2025-09-23)

Feat

  • Introduce new mixins for enhanced functionality in YAPFileManager
  • Add method to infer file format from extension
  • Add new data transformation and traversal utilities
  • Add MultiFileMixin for enhanced multi-file operations in YAPFileManager
  • Implement multi-file operations module with loading and merging capabilities
  • Introduce merge strategies for file management
  • Add batch operations to YAPFileManager for enhanced key management
  • Enhance YAPFileManager and CacheMixin with simplified API and improved key management

Fix

  • Improve immutability in ReplaceMergeStrategy by using deepcopy

Refactor

  • Revise CacheMixin tests for improved clarity and functionality
  • Update CacheMixin methods to include additional parameters for improved key management

v0.3.0 (2025-09-22)

๐Ÿš€ Major Features: Caching & Performance

Intelligent Caching System (CacheMixin)

  • Smart Caching: Automatic caching of individual key values with TTL support
  • LRU Eviction: Least Recently Used eviction when cache is full
  • Memory Management: Size-based eviction to prevent memory issues
  • Statistics Tracking: Comprehensive hit/miss ratios and performance metrics
  • Pattern Invalidation: Invalidate cache entries using wildcard patterns
  • Thread Safety: Safe for use in multi-threaded environments
  • Unified Architecture: Centralized cache management in YAPFileManager

Lazy Loading System (LazySectionsMixin)

  • Memory Efficiency: Sections are loaded only when accessed
  • Cache Integration: Works seamlessly with the unified cache system
  • Automatic Invalidation: Cache invalidation when sections are modified
  • Statistics Tracking: Monitor lazy loading performance and efficiency
  • Configurable: Enable/disable lazy loading per manager instance

Streaming Support (StreamingMixin)

  • Large File Support: Process files larger than available RAM
  • Chunked Reading: Process files in configurable chunks
  • Memory Efficient: Constant memory usage regardless of file size
  • Multiple Formats: Support for different file encodings
  • Progress Tracking: Monitor processing progress with callbacks
  • Search Capabilities: Search within large files with context
  • Section Extraction: Extract specific sections from large files
  • Thread Safety: Safe for concurrent access

๐Ÿ”ง Enhanced Features

Unified Architecture

  • Centralized Cache Management: Single cache instance for all operations
  • Key Generation Optimization: Cached key generation for better performance
  • Comprehensive Statistics: Unified statistics across all caching mechanisms
  • Memory Management: Centralized memory management and cleanup

Performance Improvements

  • Key Caching: Cache generated keys to avoid redundant computations
  • Import Optimization: Optimized imports in mixins to reduce overhead
  • Parameter Validation: Enhanced parameter validation for better error handling
  • Statistics Collection: Comprehensive statistics for performance monitoring

๐Ÿ“š Documentation Updates

New Documentation

  • Caching & Performance Guide: Comprehensive guide to intelligent caching, lazy loading, and streaming
  • Caching & Streaming Examples: Practical examples and real-world usage patterns
  • API Reference Updates: Complete documentation for all new mixins and methods
  • Performance Monitoring: Guidelines for monitoring and optimizing performance

Enhanced Documentation

  • Mixins Documentation: Updated with all new mixins and their capabilities
  • Examples Section: New examples showcasing the latest features
  • Advanced Features: Updated with new functionality and best practices

๐Ÿงช Testing

Comprehensive Test Coverage

  • CacheMixin Tests: 21 tests covering all caching functionality
  • LazySectionsMixin Tests: 23 tests covering lazy loading scenarios
  • StreamingMixin Tests: 33 tests covering streaming functionality
  • Integration Tests: Tests for unified architecture and cross-mixin functionality
  • Performance Tests: Benchmarking and performance monitoring tests

Test Improvements

  • Mock Implementations: Comprehensive mock implementations for testing
  • Real File Testing: Integration tests with actual file operations
  • Error Handling Tests: Comprehensive error handling and edge case testing
  • Thread Safety Tests: Multi-threaded testing for all new features

๐Ÿ”„ API Changes

New Methods

  • get_value(): Intelligent caching for individual keys
  • get_section(): Lazy loading for entire sections
  • stream_file(): Streaming file processing
  • stream_lines(): Line-by-line file processing
  • stream_sections(): Section extraction from large files
  • process_large_file(): Custom processing with progress tracking
  • search_in_file(): Pattern search in large files
  • get_cache_stats(): Comprehensive cache statistics
  • get_lazy_stats(): Lazy loading statistics
  • clear_key_cache(): Key generation cache management

Enhanced Methods

  • YAPFileManager.__init__(): New parameters for enabling features
  • _generate_cache_key(): Unified key generation with caching
  • get_cache(): Access to unified cache system

๐ŸŽฏ Use Cases

Configuration Management

  • High-performance configuration access with intelligent caching
  • Memory-efficient loading of large configuration files
  • Real-time configuration updates with cache invalidation

Large File Processing

  • Process log files larger than available RAM
  • Extract specific sections from large configuration files
  • Search and analyze large datasets efficiently

Memory-Efficient Applications

  • Lazy loading for applications with large configuration files
  • Streaming for data processing applications
  • Optimized memory usage for long-running applications

๐Ÿšจ Breaking Changes

None

  • All new features are opt-in and backward compatible
  • Existing code continues to work without changes
  • New features can be enabled gradually

๐Ÿ”ฎ Future Enhancements

Planned Features

  • Distributed Caching: Support for Redis and other distributed caches
  • Compression: Automatic compression of cached data
  • Encryption: Encrypted caching for sensitive data
  • Metrics: More detailed performance metrics
  • Profiling: Built-in profiling tools
  • Visualization: Cache performance visualization tools

v0.2.0 (2025-09-10)

Feat

  • Introduce open_file helper function for simplified file management
  • Enhance YAPFileManager with key and section operations mixins
  • Introduce ContextMixin for enhanced context management in YAPFileManager
  • Enhance YAPFM with mixins and file operations
  • Implement FileManagerProxy for enhanced file management
  • Add validation utilities for file strategies
  • Introduce file management strategies and error handling
  • Implement file management and strategy registry system - Introduce YAPFileManager class for managing file paths and strategies - Add FileStrategyRegistry for thread-safe strategy registration and usage tracking - Define BaseFileStrategy protocol for file handling strategies - Create initial structure for various file strategies

Fix

  • Correct JSON loading function in JsonStrategy

Refactor

  • Update import paths and enhance TOML merging logic
  • Replace Lock with RLock for thread safety in FileStrategyRegistry