## [1.1.19] - 2025-09-27 ### Security - **Process Manager Migration**: Complete migration from supervisor to s6-overlay - **BREAKING**: Removed supervisor completely due to multiple security vulnerabilities (CVE-2023-27482) - Implemented s6-overlay v3 as secure container-native process supervisor - Eliminated Python runtime dependency reducing attack surface by ~50MB - Enhanced container lifecycle management with proper PID 1 handling - Improved signal forwarding and zombie process reaping - Container now exits properly when services fail (better health reporting) - **Docker Image Hardening**: Addressed additional security vulnerabilities - Replaced `unzip` with `p7zip` to eliminate CVE-2008-0888 vulnerability - Updated base Alpine Linux image to `alpine3.22` for latest security patches - Enhanced container security posture with minimal attack surface - Improved archive handling capabilities with more robust tooling ### Enhanced - **Application Architecture**: Restructured core components for better maintainability - Moved `IndexerCache` class from main index.php to dedicated endpoint `.indexer_files/php/IndexerCache.php` - Relocated `URLRouter` class from main index.php to dedicated endpoint `.indexer_files/php/URLRouter.php` - Improved code organization with cleaner separation of concerns - Enhanced modularity for easier maintenance and debugging - **Page Title Display**: Improved contextual title generation - Changed title format from full path display (`Index of /example/folder`) to simplified folder name (`folder`) - Added special handling for root folder indexing displaying "5q12 Indexer" as title - Enhanced user experience with cleaner, more focused page titles - Reduced visual clutter in browser tabs and bookmarks ### Fixed - **URL Routing Consistency**: Resolved manual URL generation issues across interface components - Fixed "Close" button on share popups to use proper URL routing instead of manual generation - Corrected "options-menu" button URL handling for consistent navigation - Fixed all options in "options-dropdown" to utilize centralized URL routing system - Improved URL consistency and reduced potential for broken links ### Configuration - **Docker Environment Integration**: Comprehensive configuration management through environment variables - Added support for `config.json` configuration via Docker Compose environment variables - New environment variable support includes: - `INDEXER_ACCESS_URL`: Set application base URL - `INDEXER_CACHE_TYPE`: Configure caching mechanism (json) - `INDEXER_ICON_TYPE`: Set icon display mode (minimal) - `INDEXER_DISABLE_FILE_DOWNLOADS`: Control file download functionality - `INDEXER_DISABLE_FOLDER_DOWNLOADS`: Control folder download functionality - `INDEXER_INDEX_HIDDEN`: Toggle hidden file indexing - `INDEXER_INDEX_ALL`: Enable comprehensive file indexing - `INDEXER_DENY_LIST`: Specify excluded paths and patterns - `INDEXER_ALLOW_LIST`: Specify included paths and patterns - `INDEXER_INDEX_FILETYPE_PHP`: Control PHP file indexing - `INDEXER_VIEW_FILETYPE_JS`: Enable JavaScript file viewing - `INDEXER_INDEX_FILETYPE_MD`: Control Markdown file indexing - `INDEXER_VIEW_FILETYPE_MD`: Enable Markdown file viewing - Enhanced Docker deployment flexibility with comprehensive configuration options - Simplified container orchestration with environment-based configuration ### Performance - **S6-Overlay Process Management**: Optimized container startup and resource usage - Faster container startup compared to supervisor-based images - Reduced memory footprint with elimination of Python runtime - More efficient process supervision with C-based s6 implementation - Better resource utilization in containerized environments - **PHP Endpoint Management**: Optimized file handling for containerized deployments - Enhanced initialization script with special handling for `.indexer_files/php/` directory - Automatic recreation of PHP files ensures up-to-date functionality across container restarts - Improved reliability of core application components in Docker environments - Reduced potential for stale file issues in containerized deployments ### Technical Implementation - **S6-Overlay Service Architecture**: Modern container-native process supervision - Implemented dedicated s6 service definitions for nginx and php-fpm - Added comprehensive initialization service with enhanced configuration merging - Proper service dependency management ensuring correct startup order - Container-native signal handling and graceful shutdown procedures - **URL Router Architecture**: Centralized URL handling system - Eliminated manual URL construction throughout application - Improved consistency in link generation across all interface components - Enhanced maintainability with single point of URL logic control - Better support for future URL structure modifications - **Container Optimization**: Streamlined Docker image management - Migrated from supervisord.conf to s6-overlay service definitions - Enhanced entrypoint script logic now integrated into s6 initialization service - Better integration between host configuration and container runtime - Enhanced debugging capabilities for containerized deployments - Optimized startup performance with efficient file system operations ### Migration Notes - **Breaking Change**: Containers built with this version no longer use supervisor - **Security Improvement**: Eliminated multiple CVEs associated with supervisor package - **Performance Gain**: Reduced container size and improved startup times - **Industry Standard**: Now using s6-overlay (same as LinuxServer.io, Home Assistant) - **Compatibility**: All existing functionality preserved during process manager migration ### Backward Compatibility - **Configuration Migration**: Seamless transition for existing deployments - All existing configurations remain fully functional - New environment variable configuration supplements rather than replaces existing methods - Docker deployments maintain compatibility with previous image versions (except process manager) - Non-Docker deployments unaffected by containerization improvements - **API Compatibility**: No changes to user-facing functionality - All web interface features remain identical - File browsing, downloading, and viewing functionality unchanged - URL structure and routing behavior preserved