Added
- Smart repository detection: Added intelligent detection of missing PHP repositories on RHEL/Fedora systems with automatic suggestions for enabling Remi's repository.
- Enhanced error messaging: Implemented comprehensive error handling with actionable solutions when PHP packages are not found in default repositories.
- Repository setup guidance: Added detailed step-by-step instructions for enabling EPEL and Remi repositories on Fedora, RHEL, Rocky Linux, AlmaLinux, and CentOS systems.
Changed
- Consolidated GitHub Actions workflows: Streamlined CI/CD from 7 separate workflow files down to 3 focused workflows, eliminating duplication while maintaining comprehensive test coverage.
- Enhanced multi-distribution testing: Expanded automated testing to cover 13 Linux distributions (Ubuntu, Debian, Fedora, Rocky Linux, AlmaLinux, Arch Linux, Alpine Linux) with 4 different package managers (apt, dnf, pacman, apk).
- Improved cross-platform compatibility: Fixed package installation issues for RHEL-family distributions (Rocky/Alma Linux) and Alpine Linux in CI environments.
- Streamlined workflow organization: Reorganized tests into logical categories: syntax analysis, core functionality, PHP usage, multi-distribution compatibility, performance testing, and end-to-end integration.
- Intelligent PHP installation: Enhanced PHP installation process to check package availability before attempting installation and provide specific guidance when packages are missing.
Fixed
- Fixed coreutils package conflicts: Resolved dnf installation conflicts in Rocky Linux and AlmaLinux by adding
--allowerasingflag to handle coreutils-single vs coreutils package conflicts. - Fixed Alpine Linux container compatibility: Resolved bash availability issues in Alpine Linux containers by dynamically selecting appropriate shell (sh vs bash) for initial container startup.
- Fixed virtual package installation: Resolved apt installation failure for
awkvirtual package by explicitly installinggawkpackage instead.
Removed
- Removed emoji characters: Cleaned up all emoji usage from codebase for better terminal compatibility and professional appearance.
- Removed redundant workflow files: Eliminated duplicate testing workflows (use.yml, comprehensive-test.yml, performance-test.yml, integration-test.yml) by consolidating functionality into main test.yml.
Impact for Users
This release significantly improves the user experience on RHEL/Fedora systems by:
- Proactive guidance: Instead of cryptic "package not found" errors, users now get step-by-step instructions to enable the necessary repositories
- Distribution-aware help: Tailored setup instructions for different RHEL-family distributions
- Reduced friction: Automatic detection prevents users from getting stuck during PHP installation
- Multiple solutions: Users can choose between native package repositories or Homebrew on Linux
Special thanks to @wiizzl for reporting the Fedora 42 repository issue that inspired these enhancements!