Secure
changelog.md
← Back to Folder Raw Code Markdown
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
## [2.0.0-r0] - 2025-10-19

### Note
This is a major release introducing significant architectural improvements and extensive new features. Version 2.0 represents a complete overhaul of the backend systems with new database architecture, comprehensive media viewers, and enhanced performance.

### Added


- **Complete Audio Player System**: Full-featured audio playback with metadata support

  - Support for 14 audio formats (MP3, WAV, AAC, FLAC, M4A, OGG, OGA, OPUS, AIFF, AIF, AIFC, WMA, DSF, DFF)

  - getID3 library integration for metadata extraction (title, artist, album, year, genre, bitrate, sample rate)

  - Cover art display with fallback to file type icons

  - HTML5 native audio controls with no JavaScript required

  - Technical audio information display (duration, channels, file size)

  - Responsive mobile layout matching existing design system


- **Advanced Image Viewer**: Dedicated image viewing interface with extensive format support

  - Support for 17+ image formats including RAW camera formats (CR2, CR3, NEF, ARW, etc.)

  - Modern format support (AVIF, HEIC, WebP, SVG)

  - Design format support (PSD, AI, Fig, Sketch, XCF)

  - Dual viewing modes: Fit to Screen and True Scale

  - Image conversion system using ImageMagick/GD for unsupported formats

  - Comprehensive image information display (dimensions, type, file size, modification date)

  - Security bar with Raw/View toggle and action buttons


- **Dual-System Architecture**: Complete separation of persistent and temporary data

  - **Database System** (`Database.php`): SQLite-based persistent storage for configuration and file metadata

  - **Cache System** (`Cache.php`): Intelligent temporary storage for generated content

  - Auto-initialization with zero manual setup required

  - MD5 hash-based cache naming to prevent collisions

  - Modification time tracking for automatic cache invalidation


- **Enhanced Markdown Viewer**: Significantly improved markdown rendering capabilities

  - Relative link resolution with automatic `/?view=default` appending

  - Anchor link support with auto-generated IDs and scroll offset

  - Raw HTML tag preservation and rendering

  - HTML entity preservation (` `, ` `, etc.)

  - Relative image path resolution for both markdown and HTML syntax

  - Image dimension and alignment handling with inline styles


- **Comprehensive CLI Tools**: Command-line management for system administration

  - **Database Management**: Initialize, optimize, and manage database operations

  - **Cache Management**: View statistics, clear specific caches, show directory paths

  - **System Initialization**: Auto-setup tools for troubleshooting and maintenance

### Enhanced


- **Performance Optimization**: Dramatic speed improvements across the board

  - First load: 5-30 seconds (one-time indexing)

  - Subsequent loads: <1 second (instant database reads)
  - 10-50x faster page loads after initialization
  - Intelligent caching eliminates redundant file system scanning

- **Format Support Expansion**: Massive increase in supported file types
  - Audio formats expanded from 8 to 14 supported types
  - Image formats expanded to 17+ including RAW and design formats
  - New MIME type mappings for improved browser compatibility
  - Browser compatibility warnings for limited-support formats

- **Configuration System**: Enhanced control over file handling
  - Individual format viewing controls via `config.json`
  - RAW image viewing controls with security considerations
  - Maximum resolution limits for automatic image conversion
  - Comprehensive indexing and viewing permission system

### Technical

- **Database Schema**: Optimized SQLite database structure
  - `system_config`: Complete configuration storage as JSON
  - `extension_mappings`: Extension-to-setting mappings
  - `icon_mappings`: Icon filename associations
  - `file_metadata`: Indexed file information with optimized queries
  - Automatic indexing on frequently queried fields

- **Cache Architecture**: Multi-tier caching system
  - **Files Cache**: Rendered code/markdown content
  - **Image Cache**: Converted and processed images
  - **Zip Cache**: Temporary archive files and extraction directories
  - **Version Cache**: Application version information with 2-hour TTL

- **File Structure Reorganization**: Cleaner separation of concerns
  - Database files in `.indexer_files/db/`
  - Cache files in `.indexer_files/cache/`
  - Proper permission handling (0777 directories, 0666 files)
  - Self-healing system that rebuilds if components are deleted

### Migration

- **Legacy System Obsolescence**: Previous caching system replaced
  - Old `IndexerCache.php` system deprecated
  - Previous `.indexer_files/index_cache/` directory structure obsoleted
  - Old `.indexer_files/zip_cache/` directory structure replaced
  - Automatic migration path with backward compatibility

### Fixed

- **MIME Type Corrections**: Fixed incorrect MIME types in URL router
  - Corrected AIFF format MIME types (AIF, AIFC)
  - Added missing OGA audio MIME type
  - Updated DSD format handling (DSF, DFF)

- **Mobile Responsiveness**: Improved mobile experience across all viewers
  - Audio player mobile layout optimization
  - Image viewer responsive design improvements
  - Markdown viewer mobile compatibility enhancements

### Security

- **RAW Format Controls**: Security-focused RAW image handling
  - Default disabled RAW format viewing (`disable_raw_image_viewing: true`)
  - Configurable RAW format access controls
  - Secure conversion pipeline for enabled RAW formats

### Performance

- **Scalability Improvements**: Enhanced handling of large file collections
  - Database indexing for optimal query performance
  - Intelligent file system scanning (one-time operation)
  - Cached metadata prevents repeated file system access
  - Memory-efficient image processing with resolution limits

### Developer Experience

- **Clean API Design**: Well-structured codebase for future development
  - Clear separation between database and cache operations
  - Extensible architecture for additional format support
  - No external dependencies beyond standard PHP + SQLite