diff --git a/.github/workflows/code-coverage-baseline.yml b/.github/workflows/code-coverage-baseline.yml index ab5b213f8..199bdccac 100644 --- a/.github/workflows/code-coverage-baseline.yml +++ b/.github/workflows/code-coverage-baseline.yml @@ -69,7 +69,7 @@ jobs: matrix: platform: [gnu, musl] arch: [amd64] - php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] + php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] include: - codecov: 0 - platform: gnu @@ -147,7 +147,7 @@ jobs: matrix: platform: [gnu, musl] arch: [amd64] - php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] + php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] include: - codecov: 0 - platform: gnu diff --git a/.github/workflows/make-agent.yml b/.github/workflows/make-agent.yml index b29881676..6508fcaf3 100644 --- a/.github/workflows/make-agent.yml +++ b/.github/workflows/make-agent.yml @@ -32,7 +32,7 @@ jobs: strategy: matrix: platform: [gnu, musl] - php: ['8.0', '8.1', '8.2', '8.3'] + php: ['8.0', '8.1', '8.2', '8.3', '8.4'] steps: - name: Checkout Repo uses: actions/checkout@v4 diff --git a/.github/workflows/make-integration-tests.yml b/.github/workflows/make-integration-tests.yml index 800146f41..0b6660575 100644 --- a/.github/workflows/make-integration-tests.yml +++ b/.github/workflows/make-integration-tests.yml @@ -34,7 +34,7 @@ jobs: fail-fast: true matrix: platform: [gnu, musl] - php: ['8.0', '8.1', '8.2', '8.3'] + php: ['8.0', '8.1', '8.2', '8.3', '8.4'] steps: - name: Checkout integration tests uses: actions/checkout@v4 diff --git a/.github/workflows/test-agent.yml b/.github/workflows/test-agent.yml index 328be3a39..fff60dae5 100644 --- a/.github/workflows/test-agent.yml +++ b/.github/workflows/test-agent.yml @@ -97,7 +97,7 @@ jobs: matrix: platform: [gnu, musl] arch: [amd64, arm64] - php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] + php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] exclude: - arch: arm64 php: '7.2' @@ -203,7 +203,7 @@ jobs: matrix: platform: [gnu, musl] arch: [amd64, arm64] - php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] + php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] exclude: - arch: arm64 php: '7.2' diff --git a/agent/newrelic-install.sh b/agent/newrelic-install.sh index 9ef1e45fd..bea997906 100755 --- a/agent/newrelic-install.sh +++ b/agent/newrelic-install.sh @@ -335,10 +335,10 @@ for pmv in "20170718" "20180731" "20190902"; do done fi # Currently supported versions: -# (8.0, 8.1, 8.2, 8.3) +# (8.0, 8.1, 8.2, 8.3, 8.4) # for x64 and aarch64 if [ ${arch} = x64 ] || [ ${arch} = aarch64 ]; then - for pmv in "20200930" "20210902" "20220829" "20230831"; do + for pmv in "20200930" "20210902" "20220829" "20230831" "20240925"; do check_file "${ilibdir}/agent/${arch}/newrelic-${pmv}.so" done fi @@ -542,6 +542,7 @@ add_to_path /usr/local/php-8.0/bin add_to_path /usr/local/php-8.1/bin add_to_path /usr/local/php-8.2/bin add_to_path /usr/local/php-8.3/bin +add_to_path /usr/local/php-8.4/bin add_to_path /opt/local/bin add_to_path /usr/php/bin @@ -553,6 +554,7 @@ add_to_path /usr/php-8.0/bin add_to_path /usr/php-8.1/bin add_to_path /usr/php-8.2/bin add_to_path /usr/php-8.3/bin +add_to_path /usr/php-8.4/bin add_to_path /usr/php/7.2/bin add_to_path /usr/php/7.3/bin @@ -561,6 +563,7 @@ add_to_path /usr/php/8.0/bin add_to_path /usr/php/8.1/bin add_to_path /usr/php/8.2/bin add_to_path /usr/php/8.3/bin +add_to_path /usr/php/8.4/bin add_to_path /opt/php/bin add_to_path /opt/zend/bin @@ -572,6 +575,7 @@ add_to_path /opt/php-8.0/bin add_to_path /opt/php-8.1/bin add_to_path /opt/php-8.2/bin add_to_path /opt/php-8.3/bin +add_to_path /opt/php-8.4/bin if [ -n "${NR_INSTALL_PATH}" ]; then oIFS="${IFS}" @@ -1052,7 +1056,11 @@ for this copy of PHP. We apologize for the inconvenience. 8.3.*) pi_php8="yes" - ;; + ;; + + 8.4.*) + pi_php8="yes" + ;; *) error "unsupported version '${pi_ver}' of PHP found at: @@ -1232,6 +1240,7 @@ does not exist. This particular instance of PHP will be skipped. 8.1.*) pi_modver="20210902" ;; 8.2.*) pi_modver="20220829" ;; 8.3.*) pi_modver="20230831" ;; + 8.4.*) pi_modver="20240925" ;; esac log "${pdir}: pi_modver=${pi_modver}" diff --git a/agent/php_includes.h b/agent/php_includes.h index 72c25a26a..88540d534 100644 --- a/agent/php_includes.h +++ b/agent/php_includes.h @@ -54,6 +54,7 @@ #define ZEND_8_1_X_API_NO 20210902 #define ZEND_8_2_X_API_NO 20220829 #define ZEND_8_3_X_API_NO 20230831 +#define ZEND_8_4_X_API_NO 20240925 #if ZEND_MODULE_API_NO >= ZEND_8_0_X_API_NO /* PHP8+ */ #include "Zend/zend_observer.h" diff --git a/docs/development.md b/docs/development.md index 11700cdee..c96db0b52 100644 --- a/docs/development.md +++ b/docs/development.md @@ -58,7 +58,7 @@ _(most operating systems package these with `-dev` or `-devel` suffixes)_ ### PHP -The PHP agent supports PHP versions `7.2`, `7.3`, `7.4`,`8.0`, `8.1`, '8.2', and `8.3`. +The PHP agent supports PHP versions `7.2`, `7.3`, `7.4`,`8.0`, `8.1`, '8.2', `8.3` and `8.4`. ## Build the PHP Agent diff --git a/files/Dockerfile b/files/Dockerfile index 4b50bebb8..d00b8c6e5 100644 --- a/files/Dockerfile +++ b/files/Dockerfile @@ -9,7 +9,7 @@ ARG PHP_VER -FROM php:${PHP_VER:-8.3} +FROM php:${PHP_VER:-8.4} RUN docker-php-source extract diff --git a/make/php_versions.mk b/make/php_versions.mk index e0a63e9b9..f28157f09 100644 --- a/make/php_versions.mk +++ b/make/php_versions.mk @@ -3,4 +3,4 @@ # SPDX-License-Identifier: Apache-2.0 # -PHP_VERSION_LIST=$${PHPS:-8.3 8.2 8.1 8.0 7.4 7.3 7.2} +PHP_VERSION_LIST=$${PHPS:-8.4 8.3 8.2 8.1 8.0 7.4 7.3 7.2} diff --git a/make/release.mk b/make/release.mk index 8eee97388..7e355e330 100644 --- a/make/release.mk +++ b/make/release.mk @@ -163,6 +163,7 @@ release-$1-zts: Makefile agent | releases/$$(RELEASE_OS)/agent/$$(RELEASE_ARCH)/ endef +$(eval $(call RELEASE_AGENT_TARGET,8.4,20240925)) $(eval $(call RELEASE_AGENT_TARGET,8.3,20230831)) $(eval $(call RELEASE_AGENT_TARGET,8.2,20220829)) $(eval $(call RELEASE_AGENT_TARGET,8.1,20210902))