PHP Brew v1.25.0 Release Notes
Release Date: 2019-12-25 // over 4 years ago-
๐ This is a minor release of PHPBrew that aggregates over 50 fixes and improvements developed during the last month.
๐ This release focuses on improved support for building PHP 7.4 on macOS and other platforms, bug fixes, internal code quality improvement and getting ready to drop the support of old PHP versions as the runtime.
Minor Backwards Compatibility Breaks
๐ The earlier deprecated
--official
and--mirror
command-line options are no longer supported.๐ Deprecations
๐ The usage of multiple variants in one command line argument is deprecated. Instead of using the syntax
phpbrew install +default+mysql-openssl
, usephpbrew +default +mysql -openssl
.๐ฆ The AppStore component and the
phpbrew app
command are deprecated. For managing system-wide PHAR-packaged applications, please use PHIVE or another similar utility.System Interpreter
๐ This release introduces a new feature called System Interpreter. By its nature, PHPBrew is meant to build PHP and runs on top of PHP as well. By default, it implies that it should be able to run on top of any PHP version that it can build which is PHP 5.3 as of now.
๐ Having to support PHP 5.3 as the runtime makes the development of PHPBrew significantly harder due to not being able to use the modern language features and tools:
- The language features of PHP 7 that help maintain high internal code quality like scalar type hint declarations and strict typing.
- Static analysis tools, e.g. PHPStan and Psalm.
- Modern third-party libraries that implement the features PHPBrew could use internally.
๐ In order to move forward, we've introduced the ability to specify the system interpreter. If it is set, PHPBrew will use it internally regardless of what PHP version is currently
use
d orswitch
ed to.๐ For more details, please see the System Interpreter wiki page.
System Requirements
๐ฆ The PHAR package is now BZ2-compressed. It helps compensate the size of the PHP patches that have been bundled into the package. Please make sure that your PHP has the
bz2
extension loaded (it's available as part of thedefault
variant).โก๏ธ Application Updates
๐ This is the last release that commits the PHPBrew distribution package and its cryptographic signature back to the source tree. The binaries for this and the following releases will be available on the GitHub Releases page.
BC Breaks:
- โก๏ธ 1110: Removed the
--official
flag of the update command thanks to @morozov - ๐ 1083: Removed the unsupported
--mirror
option from the download and install subcommands thanks to @morozov
๐ Deprecations:
- ๐ 1094: Deprecated the usage of multiple variants in one command line argument thanks to @morozov
- ๐ 1088: Deprecated the AppStore component thanks to @morozov
๐ Improved PHP 7.4 Support:
- ๐ 1124: Improved building mbstring on PHP 7.4 thanks to @morozov
- 1085: Add
PKG_CONFIG_PATH
environment variables to phpbrew build process thanks to @markwu - 1069: Fix makefile.global for apache2 module name patch thanks to @markwu
- 1062: Use the proper order of arguments when calling
implode()
thanks to @morozov and @markwu
Other Improvements:
- 1122: Replaced the GZ PHAR compression algorithm with BZ2 thanks to @morozov
- 1121: Code cleanup thanks to @morozov
- ๐ 1118: Add homebrew support for bz2 and iconv thanks to @markwu
- โก๏ธ 1115: Updated the PEARX to 1.3.5 thanks to @morozov
- ๐ฆ 1108: Removed package dependency on the DOMDocument extension thanks to @morozov
- ๐ 1100: Removed deprecated
Config::getInstalledPhpVersions()
thanks to @morozov - ๐ 1099: Removed unnecessary top-level dependency on corneltek/class-template thanks to @morozov
- 1098: Implemented the usage of the system PHP interpreter thanks to @morozov
- 1093: Made all patches part of the PHPBrew source tree thanks to @morozov
- 1087: Code cleanup thanks to @morozov
- ๐ 1084: When doing a self-update, download the file from GitHub releases instead of the repository thanks to @morozov
- ๐ 1082: Replaced the existing PHAR building implementation with Humbug/Box thanks to @morozov
- ๐ 1080: Removed unused platform-related code and tests thanks to @morozov
- โก๏ธ 1065: Updated CurlKit and PEARX dependency constraints to the latest stable versions thanks to @morozov
- 1064: Added
sodium
as variant. thanks to @jasny - ๐ป 1055: Improved escaping of command line arguments thanks to @morozov
- 989: Add 'php-cs-fixer' to the AppStore thanks to @azjezz
๐ Documentation updates:
- โก๏ธ 1119: Update README.md thanks to @jeff-h
- ๐ 1081: Removed topics from the application thanks to @morozov
๐ท Test Suite and CI improvements:
- โก๏ธ 1113: Make sure we update the completion files when needed thanks to @morozov
- ๐ 1109: Switched from Style-CI to PrettyCI thanks to @morozov
- ๐ 1097: Removed the DefaultBuildSettings class thanks to @morozov
- ๐ 1095: Fixed code coverage thanks to @morozov
- 1091: PHPUnit 7 thanks to @morozov
- 1090: PHPUnit 6 thanks to @morozov
- โ 1089: Removing the development dependency on corneltek/phpunit-testmore thanks to @morozov
- โ 1079: Speed up slow tests on PHP 5 thanks to @morozov
- ๐ 1077: Disable travis builds on other branches than master thanks to @morozov
- ๐ 1078: Fixed VCR issues thanks to @morozov
- โ 1070: Cleaned up the test suite a bit thanks to @morozov
โก๏ธ Updates in dependencies:
- โก๏ธ 1125: Rebuilt composer.lock from scratch and updated some dependencies thanks to @morozov
- ๐ 1092: Removed the development dependency on php-coveralls/php-coveralls thanks to @morozov
- 1072: Replaced abandoned satooshi/php-coveralls with php-coveralls/php-coveralls thanks to @morozov
- ๐ 1076: Removed unused dependencies thanks to @morozov
- 1075: Bump symfony/yaml from 2.8.5 to 2.8.52 thanks to @dependabot-preview[bot]
- ๐ง 1071: Enforced PHP version in Composer configuration thanks to @morozov
๐ Improvements and bug fixes in shell wrappers:
- 1114: Improved error handling in the use and switch commands thanks to @morozov
- 1105: Fixed
__phpbrew_normalize_build
in Bash thanks to @morozov - ๐ 1101: Fixed duplicate
$PHPBREW_PATH
in$PATH
in Fish thanks to @morozov - 1096: Implemented the each subcommand in Fish thanks to @morozov
- ๐ 1059: Allow to reference PHP -dev builds without using the php- prefix thanks to @morozov
- 926:
phpbrew switch-off
Invalid: command not found (but it works) thanks to @MurKit - 905: Issue with sourcing files thanks to @MurKit
๐ Other bug fixes:
- 1123: Fix the patch corrupted after inlining thanks to @morozov
- ๐ 1112: Fixed shell completion of the remove command thanks to @morozov
- 1066: Fix
match()
function for PHP56WithOpenSSL11Patch thanks to @markwu - โก๏ธ 1063: Updated the CLIFramework dependency constraint thanks to @morozov
- ๐ฆ 1057: Clean up the temporary directory used during a package extraction thanks to @morozov
- โก๏ธ 1038: Updated corneltek/curlkit to the latest version containing c9s/CurlKit#6 thanks to @morozov and @Striffly