Releases: shivammathur/setup-php
2.37.0
Changelog
-
Updated the action to use Node.js 24. (#1049)
-
Added support for
masterin thephp-versioninput. It should now set up a nightly build from the master branch ofphp-src. -
Added support to install
ioncubeandzephir_parserextensions on PHP 8.5. -
Expanded support for installing extensions using Homebrew on macOS from the
shivammathur/homebrew-extensionstap. This includespdo_firebird,sqlsrv,pdo_sqlsrv,pecl_http,swow,xhprof, and several other supported extensions. -
Improved switching PHP versions on Linux. Missing alternatives should now be registered automatically before switching versions. #1067
-
Improved support for Homebrew on macOS. It should now retry stuck
brewcommands with an inactivity watchdog. -
Improved support for adding tools. It should now correctly use the latest release download URL when a version is not specified. (#1064)
-
Improved tool setup and caching on self-hosted runners.
-
Improved support for
sqlsrvandpdo_sqlsrvon PHP 8.1 and 8.2. -
Fixed installing
pecl_httpon Windows. Switched todownloads.php.netfor fixingICUversion post install. -
Fixed cached
couchbaseinstalls on macOS using theshivammathur/cache-extensionsaction. -
Replaced
@actions/corewith local functions to reduce bundle size. -
Refactored to use ES2024+ features for Node 24.
-
Updated actions used in examples to their latest versions.
-
Updated Node.js dependencies.
Thanks @theluckystrike for the contribution 🎉
Thanks @code-kudu, @ssddanbrown, @RoundingWell, and @ntzrbtr for the sponsorship ❤️
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.36.0
Changelog
- Added support for PHP 8.5 stable release.
- name: Setup PHP 8.5 (stable)
uses: shivammathur/setup-php@v2
with:
php-version: '8.5'- Added support for PHP 8.6.0-dev. Specifying
8.6in thephp-versioninput should now set up a nightly build from the master branch ofphp-src. (#1002)
- name: Setup PHP 8.6.0-dev
uses: shivammathur/setup-php@v2
with:
php-version: '8.6'- Added support for
pdo_ibmandibm_db2extensions.
- name: Setup PHP with pdo_ibm and ibm_db2 extensions
uses: shivammathur/setup-php@v2
with:
php-version: '8.5'
extensions: pdo_ibm, ibm_db2- Added support to install
blackfireextension on PHP 8.5.
- name: Setup PHP with blackfire extension
uses: shivammathur/setup-php@v2
with:
php-version: '8.5'
extensions: blackfire- Improved support to detect the required libraries when building from source for common extensions. For example installing
gnupgfrom source would install the requiredlibgpgmelibrary automatically. (#1021)
- name: Setup PHP with amqp extension
uses: shivammathur/setup-php@v2
with:
php-version: '8.5'
extensions: gnupg-1.5.4- Improved support for
symfony-cli. It should now correctly set up the requested version. (#1008)
- name: Setup PHP with symfony-cli
uses: shivammathur/setup-php@v2
with:
php-version: '8.5'
tools: symfony-cli:5.16.0-
Improved support for
relayextension. Also added support to install the nightly version of the extension. (#1011, #1012) -
Improved installing PHP on macOS. Also fixed installing PHP on
macos-15-intelGitHub runner. (#1029) -
Improved support for
deb822format sources files on Linux. It should now set up the sources files indeb822format on Ubuntu 24.04, Debian 13, and newer. It would automatically switch the format as well for the repositories added by the action to the new format when supported. (#1027) -
Improved support for installing
pdo_oci. (#1028) -
Fixed installing
gearmanextension for PHP 5.6 and 7.0 on Linux. -
Fixed an edge case in tools setup to fall back to the latest version. (#1024)
-
Fixed support to build extensions with uppercase names from PECL. (#1017)
-
Fixed warning on
redissetup on macOS after formula rename. (shivammathur/homebrew-extensions#5413) -
Fixed fallback link for
composersetup. (#1025) -
Updated the link for flex documentation in README. (#1020)
-
Updated Node.js dependencies.
Thanks @shyim, @tillkruss, and @nicolas-grekas for the contributions 🎉
Thanks @JetBrainsOfficial and @cachewerk for the sponsorship ❤️
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.5
Changelog
- Added support for macOS 26 based environments.
runs-on: macos-26
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2- Fixed resolving tools' releases to the latest one for a version prefix in tools input. (#1000)
For example, this should install the latest release of PHPUnit with10.5as the prefix.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
tools: phpunit:10.5.x- Improved installing
intlextension with a particular ICU versions.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: intl-77.1- Fixed tools setup to use the new
github-tokeninput value to avoid rate limits.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: phpcs: 4
github-token: ${{ secrets.GITHUB_TOKEN }}-
Improved errors when tools fail to install. (#991)
-
Fixed warning in get function on request failure.
-
Added a fallback source for composer phar archives. (#956)
-
Added a fallback source for PPA keys. (#996)
-
Fixed
opcache.jit_buffer_sizeconfig on arm environments. (#999) -
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.4
Changelog
-
Fixed updating brew core tap before installing PHP on macOS.
-
Updated actions in internal workflows.
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.3
Changelog
-
Improved
github-tokensupport for GitHub Enterprise. (#981).For GitHub Enterprise users, the
github-tokeninput does not default to theGITHUB_TOKENsecret. Therefore, it's recommended to set thegithub-tokeninput to a Personal Access Token (PAT).
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
github-token: ${{ secrets.YOUR_PAT_TOKEN }}-
Fixed support for
relayextension for PHP 7.4 on macOS. -
Updated internal workflows to not run on forks. (#982)
-
Updated Node.js dependencies.
Thanks @jrfnl for the contributions 🎉
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.2
Changelog
- Fixed race condition in updating composer
auth.json. (#980)
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.1
Changelog
-
Fixed regression in composer authentication in
2.35.0. (#979) -
Fixed installing
geosextension on PHP 8.5.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.0
Changelog
-
Added support for
github-tokeninput. (#969)
It uses theGITHUB_TOKENsecret by default and should prevent any rate limiting issues while installing your composer dependencies or while adding any tools supported by setup-php.Also, it can used to specify a personal access token (PAT) to authenticate with GitHub if you need that for your composer dependencies.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
github-token: ${{ secrets.PAT }}- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: mago- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: backward-compatibility-check- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: name-collision-detector-
Fixed fallback behavior on adding a specific version of extension when
fail-fastis set to true. (#972) -
Fixed enabling extensions on Windows. (#978)
-
Fixed installing gearman extension on PHP 8.5.
-
Cleaned up the cubrid extension script.
-
Removed ondrej/pkg-gearman ppa in gearman extension setup.
-
Switched to ppa.setup-php.com for ondrej/php ppa fallback mirror.
-
Update default composer version in README. (#966)
-
Fixed a broken link in README. (#967)
-
Updated Node.js dependencies.
Thanks @jrfnl and @OskarStark for the contributions 🎉
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.34.1
Changelog
-
Fixed tool-cache directory on self-hosted runners.
-
Fixed generating lock path in unix.sh on verbose branch.
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.34.0
Changelog
- Added support for pie. (#948)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: pie- Added support to allow composer plugins by specifying the list of plugins in
COMPOSER_ALLOW_PLUGINSenv.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
env:
COMPOSER_ALLOW_PLUGINS: composer/installers, composer/satis-
Added fallback for fetching the manifest for PHP versions. (#952)
-
Added support to specify tools directory using
SETUP_PHP_TOOLS_DIRenv. (#943, #945)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
env:
SETUP_PHP_TOOLS_DIR: /tmp/tools-
Improved detecting linux self-hosted runners if
runnerenv is not specified. (#947) -
Improved locking mechanism while fetching files on self-hosted runners.
-
Dropped support for using dependency files in
shivammathur/extensiontap. -
Fixed errors on macOS regarding missing taps.
-
Fixed logic to fail on first error in extension setup from source. (#951)
-
Fixed error about missing
self_hosted_helperfunction on macOS. -
Fixed the file name of the sources list to match the name used by
apt-add-repository. (#953) -
Fixed installing
hiredison macOS during relay setup.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: relay- Updated Node.js dependencies.
Thanks @alcaeus, @JMoodyFWD, and @cmb69 for the contributions 🎉
For the complete list of changes, please refer to the Full Changelog