View RawView Markdown ## [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