[php-src] master: Replace `@deprecated` with `#[\Deprecated]` for internal constants (#18780)

From: Date: Thu, 26 Jun 2025 18:39:52 +0000
Subject: [php-src] master: Replace `@deprecated` with `#[\Deprecated]` for internal constants (#18780)
Groups: php.cvs 
Request: Send a blank email to [email protected] to get a copy of this message
Author: DanielEScherzer (DanielEScherzer)
Committer: GitHub (web-flow)
Pusher: DanielEScherzer
Date: 2025-06-26T11:27:15-07:00

Commit: https://github.com/php/php-src/commit/171501b93f84bbb9038e59c444b8cd3e50a6729f
Raw diff: https://github.com/php/php-src/commit/171501b93f84bbb9038e59c444b8cd3e50a6729f.diff

Replace @deprecated with #[\Deprecated] for internal constants (#18780)

Only covers constants declared via stub files, others will be handled
separately in a later commit.

Does not include the intl extension, since that had some errors relating to the
cpp code; that extension will be updated separately.

Changed paths:
  M  ext/curl/curl.stub.php
  M  ext/curl/curl_arginfo.h
  M  ext/curl/interface.c
  M  ext/curl/tests/bug46711.phpt
  M  ext/date/php_date.stub.php
  M  ext/date/php_date_arginfo.h
  M  ext/date/tests/date_sunrise_and_sunset_basic.phpt
  M  ext/date/tests/gh14732.phpt
  M  ext/date/tests/gh16454.phpt
  M  ext/date/tests/gh18481.phpt
  M  ext/dom/php_dom.c
  M  ext/dom/php_dom.stub.php
  M  ext/dom/php_dom_arginfo.h
  M  ext/dom/tests/DOM_PHP_ERR_deprecated.phpt
  M  ext/enchant/enchant.stub.php
  M  ext/enchant/enchant_arginfo.h
  M  ext/filter/filter.c
  M  ext/filter/filter.stub.php
  M  ext/filter/filter_arginfo.h
  M  ext/filter/tests/025.phpt
  M  ext/filter/tests/026.phpt
  M  ext/filter/tests/042.phpt
  M  ext/filter/tests/bug69203.phpt
  M  ext/mysqli/mysqli.stub.php
  M  ext/mysqli/mysqli_arginfo.h
  M  ext/mysqli/tests/deprecated_constants.phpt
  M  ext/pgsql/pgsql.stub.php
  M  ext/pgsql/pgsql_arginfo.h
  M  ext/random/random.stub.php
  M  ext/random/random_arginfo.h
  M  ext/random/tests/01_functions/array_rand_mt_rand_php.phpt
  M  ext/random/tests/01_functions/bug75514.phpt
  M  ext/random/tests/01_functions/mt_rand_value.phpt
  M  ext/random/tests/03_randomizer/compatibility_mt_rand.phpt
  M  ext/random/tests/03_randomizer/methods/getBytes.phpt
  M  ext/random/tests/03_randomizer/methods/getBytesFromString.phpt
  M  ext/random/tests/03_randomizer/methods/getFloat.phpt
  M  ext/random/tests/03_randomizer/methods/getInt.phpt
  M  ext/random/tests/03_randomizer/methods/nextFloat.phpt
  M  ext/random/tests/03_randomizer/methods/nextInt.phpt
  M  ext/random/tests/03_randomizer/methods/pickArrayKeys.phpt
  M  ext/random/tests/03_randomizer/methods/shuffleArray.phpt
  M  ext/random/tests/03_randomizer/methods/shuffleBytes.phpt
  M  ext/random/tests/03_randomizer/serialize.phpt
  M  ext/reflection/tests/internal_parameter_default_value/check_all.phpt
  M  ext/soap/soap.c
  M  ext/soap/soap.stub.php
  M  ext/soap/soap_arginfo.h
  M  ext/soap/tests/server003.phpt
  M  ext/standard/basic_functions.stub.php
  M  ext/standard/basic_functions_arginfo.h
  M  ext/standard/file.c
  M  ext/standard/file.stub.php
  M  ext/standard/file_arginfo.h
  M  ext/standard/tests/assert/assert.phpt
  M  ext/standard/tests/assert/assert03.phpt
  M  ext/standard/tests/assert/assert04.phpt
  M  ext/standard/tests/assert/assert_basic2.phpt
  M  ext/standard/tests/assert/assert_basic3.phpt
  M  ext/standard/tests/assert/assert_basic4.phpt
  M  ext/standard/tests/assert/assert_basic5.phpt
  M  ext/standard/tests/assert/assert_basic6.phpt
  M  ext/standard/tests/assert/assert_closures.phpt
  M  ext/standard/tests/assert/assert_closures_multiple.phpt
  M  ext/standard/tests/assert/assert_error2.phpt
  M  ext/standard/tests/assert/assert_variation.phpt
  M  ext/standard/tests/assert/bug80290.phpt
  M  ext/standard/tests/file/file_binary_text_deprecated.phpt


Diff:

diff --git a/ext/curl/curl.stub.php b/ext/curl/curl.stub.php
index cbcb52bc7b0a2..00532f45793f5 100644
--- a/ext/curl/curl.stub.php
+++ b/ext/curl/curl.stub.php
@@ -13,9 +13,9 @@
 const CURLOPT_AUTOREFERER = UNKNOWN;
 /**
  * @var int
- * @deprecated has no effect since 5.1.2
  * @cvalue CURLOPT_BINARYTRANSFER
  */
+#[\Deprecated(since: '8.4', message: 'as it had no effect since 5.1.2')]
 const CURLOPT_BINARYTRANSFER = UNKNOWN;
 /**
  * @var int
diff --git a/ext/curl/curl_arginfo.h b/ext/curl/curl_arginfo.h
index ef267cd803ba2..cff18b2916859 100644
--- a/ext/curl/curl_arginfo.h
+++ b/ext/curl/curl_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 792cdfa8a8ce190d73dffe679c51a41a2ee46cd7 */
+ * Stub hash: c087ac501d0abe14ed87968023d837f358e6fee8 */
 
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_close, 0, 1, IS_VOID, 0)
 	ZEND_ARG_OBJ_INFO(0, handle, CurlHandle, 0)
@@ -973,6 +973,20 @@ static void register_curl_symbols(int module_number)
 	REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_3ONLY", CURL_HTTP_VERSION_3ONLY,
CONST_PERSISTENT);
 #endif
 	REGISTER_LONG_CONSTANT("CURLOPT_SAFE_UPLOAD", CURLOPT_SAFE_UPLOAD, CONST_PERSISTENT);
+
+	zend_constant *const_CURLOPT_BINARYTRANSFER = zend_hash_str_find_ptr(EG(zend_constants),
"CURLOPT_BINARYTRANSFER", sizeof("CURLOPT_BINARYTRANSFER") - 1);
+
+	zend_attribute *attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0 =
zend_add_global_constant_attribute(const_CURLOPT_BINARYTRANSFER,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0_arg0;
+	zend_string *attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0_arg0,
attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0->args[0].value,
&attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0_arg0);
+	attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0_arg1;
+	zend_string *attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0_arg1_str =
zend_string_init("as it had no effect since 5.1.2", strlen("as it had no effect since
5.1.2"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0_arg1,
attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0->args[1].value,
&attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0_arg1);
+	attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
 
 static zend_class_entry *register_class_CurlHandle(void)
diff --git a/ext/curl/interface.c b/ext/curl/interface.c
index 710f98a13fbb0..3470ad2f72327 100644
--- a/ext/curl/interface.c
+++ b/ext/curl/interface.c
@@ -65,6 +65,7 @@
 # pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 #endif
 
+#include "zend_attributes.h"
 #include "curl_arginfo.h"
 
 ZEND_DECLARE_MODULE_GLOBALS(curl)
diff --git a/ext/curl/tests/bug46711.phpt b/ext/curl/tests/bug46711.phpt
index a0b211a7876ab..0540a79bca5b3 100644
--- a/ext/curl/tests/bug46711.phpt
+++ b/ext/curl/tests/bug46711.phpt
@@ -21,7 +21,7 @@ var_dump($opt); // with this bug, $opt[58] becomes NULL
 
 ?>
 --EXPECTF--
-Deprecated: Constant CURLOPT_BINARYTRANSFER is deprecated in %s on line %d
+Deprecated: Constant CURLOPT_BINARYTRANSFER is deprecated since 8.4, as it had no effect since
5.1.2 in %s on line %d
 array(2) {
   [58]=>
   bool(true)
diff --git a/ext/date/php_date.stub.php b/ext/date/php_date.stub.php
index 7f60be40b1bc8..4f77fc9223e27 100644
--- a/ext/date/php_date.stub.php
+++ b/ext/date/php_date.stub.php
@@ -83,22 +83,22 @@
 /**
  * @var int
  * @cvalue SUNFUNCS_RET_TIMESTAMP
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as date_sunrise() and date_sunset() were
deprecated in 8.1')]
 const SUNFUNCS_RET_TIMESTAMP = UNKNOWN;
 
 /**
  * @var int
  * @cvalue SUNFUNCS_RET_STRING
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as date_sunrise() and date_sunset() were
deprecated in 8.1')]
 const SUNFUNCS_RET_STRING = UNKNOWN;
 
 /**
  * @var int
  * @cvalue SUNFUNCS_RET_DOUBLE
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as date_sunrise() and date_sunset() were
deprecated in 8.1')]
 const SUNFUNCS_RET_DOUBLE = UNKNOWN;
 
 function strtotime(string $datetime, ?int $baseTimestamp = null): int|false {}
diff --git a/ext/date/php_date_arginfo.h b/ext/date/php_date_arginfo.h
index 2a0fd6e5ac009..0b249c738f715 100644
--- a/ext/date/php_date_arginfo.h
+++ b/ext/date/php_date_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 4e61617ca7c877aa3811d674d47850f23157074b */
+ * Stub hash: c9dba59a68085579d18948963a979d63eecff204 */
 
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_strtotime, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
 	ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
@@ -860,6 +860,45 @@ static void register_php_date_symbols(int module_number)
 	ZVAL_STR(&attribute_Deprecated_func_date_sunset_0_arg1,
attribute_Deprecated_func_date_sunset_0_arg1_str);
 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_date_sunset_0->args[1].value,
&attribute_Deprecated_func_date_sunset_0_arg1);
 	attribute_Deprecated_func_date_sunset_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_SUNFUNCS_RET_TIMESTAMP = zend_hash_str_find_ptr(EG(zend_constants),
"SUNFUNCS_RET_TIMESTAMP", sizeof("SUNFUNCS_RET_TIMESTAMP") - 1);
+
+	zend_attribute *attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0 =
zend_add_global_constant_attribute(const_SUNFUNCS_RET_TIMESTAMP,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0_arg0;
+	zend_string *attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0_arg0,
attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0->args[0].value,
&attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0_arg0);
+	attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0_arg1;
+	zend_string *attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0_arg1_str =
zend_string_init("as date_sunrise() and date_sunset() were deprecated in 8.1",
strlen("as date_sunrise() and date_sunset() were deprecated in 8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0_arg1,
attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0->args[1].value,
&attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0_arg1);
+	attribute_Deprecated_const_SUNFUNCS_RET_TIMESTAMP_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_SUNFUNCS_RET_STRING = zend_hash_str_find_ptr(EG(zend_constants),
"SUNFUNCS_RET_STRING", sizeof("SUNFUNCS_RET_STRING") - 1);
+
+	zend_attribute *attribute_Deprecated_const_SUNFUNCS_RET_STRING_0 =
zend_add_global_constant_attribute(const_SUNFUNCS_RET_STRING,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_SUNFUNCS_RET_STRING_0_arg0;
+	zend_string *attribute_Deprecated_const_SUNFUNCS_RET_STRING_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_SUNFUNCS_RET_STRING_0_arg0,
attribute_Deprecated_const_SUNFUNCS_RET_STRING_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_SUNFUNCS_RET_STRING_0->args[0].value,
&attribute_Deprecated_const_SUNFUNCS_RET_STRING_0_arg0);
+	attribute_Deprecated_const_SUNFUNCS_RET_STRING_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_SUNFUNCS_RET_STRING_0_arg1;
+	zend_string *attribute_Deprecated_const_SUNFUNCS_RET_STRING_0_arg1_str = zend_string_init("as
date_sunrise() and date_sunset() were deprecated in 8.1", strlen("as date_sunrise() and
date_sunset() were deprecated in 8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_SUNFUNCS_RET_STRING_0_arg1,
attribute_Deprecated_const_SUNFUNCS_RET_STRING_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_SUNFUNCS_RET_STRING_0->args[1].value,
&attribute_Deprecated_const_SUNFUNCS_RET_STRING_0_arg1);
+	attribute_Deprecated_const_SUNFUNCS_RET_STRING_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_SUNFUNCS_RET_DOUBLE = zend_hash_str_find_ptr(EG(zend_constants),
"SUNFUNCS_RET_DOUBLE", sizeof("SUNFUNCS_RET_DOUBLE") - 1);
+
+	zend_attribute *attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0 =
zend_add_global_constant_attribute(const_SUNFUNCS_RET_DOUBLE,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0_arg0;
+	zend_string *attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0_arg0,
attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0->args[0].value,
&attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0_arg0);
+	attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0_arg1;
+	zend_string *attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0_arg1_str = zend_string_init("as
date_sunrise() and date_sunset() were deprecated in 8.1", strlen("as date_sunrise() and
date_sunset() were deprecated in 8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0_arg1,
attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0->args[1].value,
&attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0_arg1);
+	attribute_Deprecated_const_SUNFUNCS_RET_DOUBLE_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
 
 static zend_class_entry *register_class_DateTimeInterface(void)
diff --git a/ext/date/tests/date_sunrise_and_sunset_basic.phpt
b/ext/date/tests/date_sunrise_and_sunset_basic.phpt
index e5f5efa73e177..d2ed26dea2b6d 100644
--- a/ext/date/tests/date_sunrise_and_sunset_basic.phpt
+++ b/ext/date/tests/date_sunrise_and_sunset_basic.phpt
@@ -25,12 +25,12 @@ var_dump(gettype(date_sunset(time())));
 --EXPECTF--
 Basic test for date_sunrise() and date_sunset()
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 %s %s %d %d, sunrise time : %d:%d
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 %s %s %d %d, sunset time : %d:%d
diff --git a/ext/date/tests/gh14732.phpt b/ext/date/tests/gh14732.phpt
index 63c626963a9d5..19b5f3b481f4b 100644
--- a/ext/date/tests/gh14732.phpt
+++ b/ext/date/tests/gh14732.phpt
@@ -31,12 +31,12 @@ date_sun_info(): Argument #2 ($latitude) must be finite
 date_sun_info(): Argument #3 ($longitude) must be finite
 date_sun_info(): Argument #3 ($longitude) must be finite
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 bool(false)
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 bool(false)
diff --git a/ext/date/tests/gh16454.phpt b/ext/date/tests/gh16454.phpt
index e3a35a1ba1998..0acad74dce726 100644
--- a/ext/date/tests/gh16454.phpt
+++ b/ext/date/tests/gh16454.phpt
@@ -8,22 +8,22 @@ var_dump(date_sunset(0, SUNFUNCS_RET_STRING, 61, -150, 90, PHP_FLOAT_MAX));
 var_dump(date_sunset(0, SUNFUNCS_RET_STRING, 61, -150, 90, -PHP_FLOAT_MAX));
 ?>
 --EXPECTF--
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 bool(false)
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 bool(false)
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 bool(false)
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 bool(false)
diff --git a/ext/date/tests/gh18481.phpt b/ext/date/tests/gh18481.phpt
index 074f244c3a3a3..8c997357e2750 100644
--- a/ext/date/tests/gh18481.phpt
+++ b/ext/date/tests/gh18481.phpt
@@ -8,22 +8,22 @@ foreach ([-NAN, NAN, INF, -INF] as $offset) {
 }
 ?>
 --EXPECTF--
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 bool(false)
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 bool(false)
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 bool(false)
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
 Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in %s on
line %d
 bool(false)
diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c
index 6e85ea887e4ec..f1571ca78c4f2 100644
--- a/ext/dom/php_dom.c
+++ b/ext/dom/php_dom.c
@@ -23,6 +23,7 @@
 #include "php.h"
 #if defined(HAVE_LIBXML) && defined(HAVE_DOM)
 #include "zend_enum.h"
+#include "zend_attributes.h"
 #include "php_dom.h"
 #include "obj_map.h"
 #include "nodelist.h"
diff --git a/ext/dom/php_dom.stub.php b/ext/dom/php_dom.stub.php
index 43d26ec7a3c7d..686ebe87b71ca 100644
--- a/ext/dom/php_dom.stub.php
+++ b/ext/dom/php_dom.stub.php
@@ -147,9 +147,9 @@
 
     /**
      * @var int
-     * @deprecated is no longer used since 8.4
      * @cvalue PHP_ERR
      */
+    #[\Deprecated(since: '8.4', message: 'as it is no longer used')]
     const DOM_PHP_ERR = UNKNOWN;
     /**
      * @var int
diff --git a/ext/dom/php_dom_arginfo.h b/ext/dom/php_dom_arginfo.h
index 5c21b909b0e18..cf73a85226e4f 100644
--- a/ext/dom/php_dom_arginfo.h
+++ b/ext/dom/php_dom_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 0fcee2fa666dc88faf084578dde157409a6f5594 */
+ * Stub hash: 1c8b81daeaf360b0ecab9ebbdf4f8865f521f43d */
 
 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_dom_import_simplexml, 0, 1, DOMAttr|DOMElement,
0)
 	ZEND_ARG_TYPE_INFO(0, node, IS_OBJECT, 0)
@@ -1870,6 +1870,20 @@ static void register_php_dom_symbols(int module_number)
 	REGISTER_LONG_CONSTANT("Dom\\NAMESPACE_ERR", NAMESPACE_ERR, CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("Dom\\VALIDATION_ERR", VALIDATION_ERR, CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("Dom\\HTML_NO_DEFAULT_NS", DOM_HTML_NO_DEFAULT_NS,
CONST_PERSISTENT);
+
+	zend_constant *const_DOM_PHP_ERR = zend_hash_str_find_ptr(EG(zend_constants),
"DOM_PHP_ERR", sizeof("DOM_PHP_ERR") - 1);
+
+	zend_attribute *attribute_Deprecated_const_DOM_PHP_ERR_0 =
zend_add_global_constant_attribute(const_DOM_PHP_ERR, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED),
2);
+	zval attribute_Deprecated_const_DOM_PHP_ERR_0_arg0;
+	zend_string *attribute_Deprecated_const_DOM_PHP_ERR_0_arg0_str = zend_string_init("8.4",
strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_DOM_PHP_ERR_0_arg0,
attribute_Deprecated_const_DOM_PHP_ERR_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_DOM_PHP_ERR_0->args[0].value,
&attribute_Deprecated_const_DOM_PHP_ERR_0_arg0);
+	attribute_Deprecated_const_DOM_PHP_ERR_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_DOM_PHP_ERR_0_arg1;
+	zend_string *attribute_Deprecated_const_DOM_PHP_ERR_0_arg1_str = zend_string_init("as it is
no longer used", strlen("as it is no longer used"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_DOM_PHP_ERR_0_arg1,
attribute_Deprecated_const_DOM_PHP_ERR_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_DOM_PHP_ERR_0->args[1].value,
&attribute_Deprecated_const_DOM_PHP_ERR_0_arg1);
+	attribute_Deprecated_const_DOM_PHP_ERR_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
 
 static zend_class_entry *register_class_DOMDocumentType(zend_class_entry *class_entry_DOMNode)
diff --git a/ext/dom/tests/DOM_PHP_ERR_deprecated.phpt b/ext/dom/tests/DOM_PHP_ERR_deprecated.phpt
index 76bd2757e7b5c..1dad517927206 100644
--- a/ext/dom/tests/DOM_PHP_ERR_deprecated.phpt
+++ b/ext/dom/tests/DOM_PHP_ERR_deprecated.phpt
@@ -7,5 +7,5 @@ dom
 var_dump(DOM_PHP_ERR);
 ?>
 --EXPECTF--
-Deprecated: Constant DOM_PHP_ERR is deprecated in %s on line %d
+Deprecated: Constant DOM_PHP_ERR is deprecated since 8.4, as it is no longer used in %s on line %d
 int(0)
diff --git a/ext/enchant/enchant.stub.php b/ext/enchant/enchant.stub.php
index eafce22eac7d3..6ddbee768f14d 100644
--- a/ext/enchant/enchant.stub.php
+++ b/ext/enchant/enchant.stub.php
@@ -5,14 +5,14 @@
 /**
  * @var int
  * @cvalue PHP_ENCHANT_MYSPELL
- * @deprecated
  */
+#[\Deprecated(since: '8.0', message: 'as enchant_broker_get_dict_path() and
enchant_broker_set_dict_path() are deprecated')]
 const ENCHANT_MYSPELL = UNKNOWN;
 /**
  * @var int
  * @cvalue PHP_ENCHANT_ISPELL
- * @deprecated
  */
+#[\Deprecated(since: '8.0', message: 'as enchant_broker_get_dict_path() and
enchant_broker_set_dict_path() are deprecated')]
 const ENCHANT_ISPELL = UNKNOWN;
 #ifdef HAVE_ENCHANT_GET_VERSION
 /**
diff --git a/ext/enchant/enchant_arginfo.h b/ext/enchant/enchant_arginfo.h
index a06f713f9cedf..0cd8707e1a172 100644
--- a/ext/enchant/enchant_arginfo.h
+++ b/ext/enchant/enchant_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 9dd3fce23840ced1c265f8ec1dd3929298fdfe37 */
+ * Stub hash: 31974eb901477da53ede7476953d461d32f772ba */
 
 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_enchant_broker_init, 0, 0, EnchantBroker,
MAY_BE_FALSE)
 ZEND_END_ARG_INFO()
@@ -224,6 +224,32 @@ static void register_enchant_symbols(int module_number)
 	ZVAL_STR(&attribute_Deprecated_func_enchant_dict_is_in_session_0_arg1,
attribute_Deprecated_func_enchant_dict_is_in_session_0_arg1_str);
 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_enchant_dict_is_in_session_0->args[1].value,
&attribute_Deprecated_func_enchant_dict_is_in_session_0_arg1);
 	attribute_Deprecated_func_enchant_dict_is_in_session_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_ENCHANT_MYSPELL = zend_hash_str_find_ptr(EG(zend_constants),
"ENCHANT_MYSPELL", sizeof("ENCHANT_MYSPELL") - 1);
+
+	zend_attribute *attribute_Deprecated_const_ENCHANT_MYSPELL_0 =
zend_add_global_constant_attribute(const_ENCHANT_MYSPELL,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_ENCHANT_MYSPELL_0_arg0;
+	zend_string *attribute_Deprecated_const_ENCHANT_MYSPELL_0_arg0_str =
zend_string_init("8.0", strlen("8.0"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ENCHANT_MYSPELL_0_arg0,
attribute_Deprecated_const_ENCHANT_MYSPELL_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ENCHANT_MYSPELL_0->args[0].value,
&attribute_Deprecated_const_ENCHANT_MYSPELL_0_arg0);
+	attribute_Deprecated_const_ENCHANT_MYSPELL_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_ENCHANT_MYSPELL_0_arg1;
+	zend_string *attribute_Deprecated_const_ENCHANT_MYSPELL_0_arg1_str = zend_string_init("as
enchant_broker_get_dict_path() and enchant_broker_set_dict_path() are deprecated",
strlen("as enchant_broker_get_dict_path() and enchant_broker_set_dict_path() are
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ENCHANT_MYSPELL_0_arg1,
attribute_Deprecated_const_ENCHANT_MYSPELL_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ENCHANT_MYSPELL_0->args[1].value,
&attribute_Deprecated_const_ENCHANT_MYSPELL_0_arg1);
+	attribute_Deprecated_const_ENCHANT_MYSPELL_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_ENCHANT_ISPELL = zend_hash_str_find_ptr(EG(zend_constants),
"ENCHANT_ISPELL", sizeof("ENCHANT_ISPELL") - 1);
+
+	zend_attribute *attribute_Deprecated_const_ENCHANT_ISPELL_0 =
zend_add_global_constant_attribute(const_ENCHANT_ISPELL,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_ENCHANT_ISPELL_0_arg0;
+	zend_string *attribute_Deprecated_const_ENCHANT_ISPELL_0_arg0_str =
zend_string_init("8.0", strlen("8.0"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ENCHANT_ISPELL_0_arg0,
attribute_Deprecated_const_ENCHANT_ISPELL_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ENCHANT_ISPELL_0->args[0].value,
&attribute_Deprecated_const_ENCHANT_ISPELL_0_arg0);
+	attribute_Deprecated_const_ENCHANT_ISPELL_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_ENCHANT_ISPELL_0_arg1;
+	zend_string *attribute_Deprecated_const_ENCHANT_ISPELL_0_arg1_str = zend_string_init("as
enchant_broker_get_dict_path() and enchant_broker_set_dict_path() are deprecated",
strlen("as enchant_broker_get_dict_path() and enchant_broker_set_dict_path() are
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ENCHANT_ISPELL_0_arg1,
attribute_Deprecated_const_ENCHANT_ISPELL_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ENCHANT_ISPELL_0->args[1].value,
&attribute_Deprecated_const_ENCHANT_ISPELL_0_arg1);
+	attribute_Deprecated_const_ENCHANT_ISPELL_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
 
 static zend_class_entry *register_class_EnchantBroker(void)
diff --git a/ext/filter/filter.c b/ext/filter/filter.c
index 50eefb440d67a..7f3624eb4c07a 100644
--- a/ext/filter/filter.c
+++ b/ext/filter/filter.c
@@ -27,6 +27,7 @@
 
 ZEND_DECLARE_MODULE_GLOBALS(filter)
 
+#include "zend_attributes.h"
 #include "filter_private.h"
 #include "filter_arginfo.h"
 
diff --git a/ext/filter/filter.stub.php b/ext/filter/filter.stub.php
index 030de50f51890..a8790bb7cd615 100644
--- a/ext/filter/filter.stub.php
+++ b/ext/filter/filter.stub.php
@@ -121,14 +121,14 @@
 /**
  * @var int
  * @cvalue FILTER_SANITIZE_STRING
- * @deprecated
  */
+#[\Deprecated(since: '8.1', message: 'use htmlspecialchars() instead')]
 const FILTER_SANITIZE_STRING = UNKNOWN;
 /**
  * @var int
  * @cvalue FILTER_SANITIZE_STRING
- * @deprecated
  */
+#[\Deprecated(since: '8.1', message: 'use htmlspecialchars() instead')]
 const FILTER_SANITIZE_STRIPPED = UNKNOWN;
 /**
  * @var int
diff --git a/ext/filter/filter_arginfo.h b/ext/filter/filter_arginfo.h
index a05806c5e1201..8cc562e5de236 100644
--- a/ext/filter/filter_arginfo.h
+++ b/ext/filter/filter_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: c3f3240137eaa89316276920acf35f975b2dd8f9 */
+ * Stub hash: a0f9a546d59bb27854af79a92e353f118ca6bdaf */
 
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_filter_has_var, 0, 2, _IS_BOOL, 0)
 	ZEND_ARG_TYPE_INFO(0, input_type, IS_LONG, 0)
@@ -114,4 +114,31 @@ static void register_filter_symbols(int module_number)
 	REGISTER_LONG_CONSTANT("FILTER_FLAG_GLOBAL_RANGE", FILTER_FLAG_GLOBAL_RANGE,
CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("FILTER_FLAG_HOSTNAME", FILTER_FLAG_HOSTNAME, CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("FILTER_FLAG_EMAIL_UNICODE", FILTER_FLAG_EMAIL_UNICODE,
CONST_PERSISTENT);
+
+	zend_constant *const_FILTER_SANITIZE_STRING = zend_hash_str_find_ptr(EG(zend_constants),
"FILTER_SANITIZE_STRING", sizeof("FILTER_SANITIZE_STRING") - 1);
+
+	zend_attribute *attribute_Deprecated_const_FILTER_SANITIZE_STRING_0 =
zend_add_global_constant_attribute(const_FILTER_SANITIZE_STRING,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_FILTER_SANITIZE_STRING_0_arg0;
+	zend_string *attribute_Deprecated_const_FILTER_SANITIZE_STRING_0_arg0_str =
zend_string_init("8.1", strlen("8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_FILTER_SANITIZE_STRING_0_arg0,
attribute_Deprecated_const_FILTER_SANITIZE_STRING_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_FILTER_SANITIZE_STRING_0->args[0].value,
&attribute_Deprecated_const_FILTER_SANITIZE_STRING_0_arg0);
+	attribute_Deprecated_const_FILTER_SANITIZE_STRING_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_FILTER_SANITIZE_STRING_0_arg1;
+	zend_string *attribute_Deprecated_const_FILTER_SANITIZE_STRING_0_arg1_str =
zend_string_init("use htmlspecialchars() instead", strlen("use htmlspecialchars()
instead"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_FILTER_SANITIZE_STRING_0_arg1,
attribute_Deprecated_const_FILTER_SANITIZE_STRING_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_FILTER_SANITIZE_STRING_0->args[1].value,
&attribute_Deprecated_const_FILTER_SANITIZE_STRING_0_arg1);
+	attribute_Deprecated_const_FILTER_SANITIZE_STRING_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_FILTER_SANITIZE_STRIPPED = zend_hash_str_find_ptr(EG(zend_constants),
"FILTER_SANITIZE_STRIPPED", sizeof("FILTER_SANITIZE_STRIPPED") - 1);
+
+	zend_attribute *attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0 =
zend_add_global_constant_attribute(const_FILTER_SANITIZE_STRIPPED,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0_arg0;
+	zend_string *attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0_arg0_str =
zend_string_init("8.1", strlen("8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0_arg0,
attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0->args[0].value,
&attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0_arg0);
+	attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0->args[0].name =
ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0_arg1;
+	zend_string *attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0_arg1_str =
zend_string_init("use htmlspecialchars() instead", strlen("use htmlspecialchars()
instead"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0_arg1,
attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0->args[1].value,
&attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0_arg1);
+	attribute_Deprecated_const_FILTER_SANITIZE_STRIPPED_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
diff --git a/ext/filter/tests/025.phpt b/ext/filter/tests/025.phpt
index d8e06e3ac20cc..05459fcb1cb27 100644
--- a/ext/filter/tests/025.phpt
+++ b/ext/filter/tests/025.phpt
@@ -16,24 +16,24 @@ var_dump(filter_var(".", FILTER_SANITIZE_STRING));
 echo "Done\n";
 ?>
 --EXPECTF--
-Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRING is deprecated since 8.1, use htmlspecialchars() instead
in %s on line %d
 string(0) ""
 
-Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRING is deprecated since 8.1, use htmlspecialchars() instead
in %s on line %d
 string(0) ""
 
-Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRING is deprecated since 8.1, use htmlspecialchars() instead
in %s on line %d
 string(12) "!@#$%^&*()'""
 
-Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRING is deprecated since 8.1, use htmlspecialchars() instead
in %s on line %d
 string(24) "!@#$%^&*()'""
 
-Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRING is deprecated since 8.1, use htmlspecialchars() instead
in %s on line %d
 string(11) "`1234567890"
 
-Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRING is deprecated since 8.1, use htmlspecialchars() instead
in %s on line %d
 string(5) "123"
 
-Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRING is deprecated since 8.1, use htmlspecialchars() instead
in %s on line %d
 string(1) "."
 Done
diff --git a/ext/filter/tests/026.phpt b/ext/filter/tests/026.phpt
index db43df7949a0d..856f5325cb3b9 100644
--- a/ext/filter/tests/026.phpt
+++ b/ext/filter/tests/026.phpt
@@ -20,30 +20,30 @@ var_dump(filter_var("", FILTER_SANITIZE_STRIPPED,
FILTER_FLAG_STRIP_HIGH));
 echo "Done\n";
 ?>
 --EXPECTF--
-Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated since 8.1, use htmlspecialchars()
instead in %s on line %d
 string(40) "Let me see you Stripped down to the bone"
 
-Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated since 8.1, use htmlspecialchars()
instead in %s on line %d
 string(11) "!@#$%^&*()>"
 
-Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated since 8.1, use htmlspecialchars()
instead in %s on line %d
 string(0) ""
 
-Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated since 8.1, use htmlspecialchars()
instead in %s on line %d
 string(40) "Let me see you Stripped down to the bone"
 
-Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated since 8.1, use htmlspecialchars()
instead in %s on line %d
 string(11) "!@#$%^&*()>"
 
-Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated since 8.1, use htmlspecialchars()
instead in %s on line %d
 string(0) ""
 
-Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated since 8.1, use htmlspecialchars()
instead in %s on line %d
 string(40) "Let me see you Stripped down to the bone"
 
-Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated since 8.1, use htmlspecialchars()
instead in %s on line %d
 string(11) "!@#$%^&*()>"
 
-Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated since 8.1, use htmlspecialchars()
instead in %s on line %d
 string(0) ""
 Done
diff --git a/ext/filter/tests/042.phpt b/ext/filter/tests/042.phpt
index 0795392f7acaa..28f346afeefc4 100644
--- a/ext/filter/tests/042.phpt
+++ b/ext/filter/tests/042.phpt
@@ -15,8 +15,8 @@ $a = filter_var($var, FILTER_SANITIZE_STRING, array("flags" =>
FILTER_FLAG_STRIP
 echo $a . "\n";
 ?>
 --EXPECTF--
-Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRING is deprecated since 8.1, use htmlspecialchars() instead
in %s on line %d
 XYZalert(/ext/filter+bypass/);ABC
 
-Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRING is deprecated since 8.1, use htmlspecialchars() instead
in %s on line %d
 XYZalert(/ext/filter+bypass/);ABC
diff --git a/ext/filter/tests/bug69203.phpt b/ext/filter/tests/bug69203.phpt
index 3453c7c0adc6f..85356ba2a1349 100644
--- a/ext/filter/tests/bug69203.phpt
+++ b/ext/filter/tests/bug69203.phpt
@@ -10,7 +10,7 @@ var_dump(filter_var("\x7f", FILTER_SANITIZE_ENCODED,
FILTER_FLAG_STRIP_HIGH));
 var_dump(filter_var("\x7f", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_STRIP_HIGH));
 ?>
 --EXPECTF--
-Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
+Deprecated: Constant FILTER_SANITIZE_STRING is deprecated since 8.1, use htmlspecialchars() instead
in %s on line %d
 string(0) ""
 string(0) ""
 string(0) ""
diff --git a/ext/mysqli/mysqli.stub.php b/ext/mysqli/mysqli.stub.php
index de287b347deef..06db6ac26860b 100644
--- a/ext/mysqli/mysqli.stub.php
+++ b/ext/mysqli/mysqli.stub.php
@@ -136,8 +136,8 @@
 /**
  * @var int
  * @cvalue MYSQLI_STORE_RESULT_COPY_DATA
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as the mysqli_store_result() parameter is
unused since 8.1')]
 const MYSQLI_STORE_RESULT_COPY_DATA = UNKNOWN;
 
 /* for mysqli_fetch_assoc */
@@ -423,14 +423,14 @@
 /**
  * @var int
  * @cvalue MYSQL_NO_DATA
- * @deprecated
  */
+#[\Deprecated(since: '8.1', message: 'as it was unused')]
 const MYSQLI_NO_DATA = UNKNOWN;
 /**
  * @var int
  * @cvalue MYSQL_DATA_TRUNCATED
- * @deprecated
  */
+#[\Deprecated(since: '8.1', message: 'as it was unused')]
 const MYSQLI_DATA_TRUNCATED = UNKNOWN;
 
 /* reporting */
@@ -469,87 +469,87 @@
 /**
  * @var int
  * @cvalue SERVER_QUERY_NO_GOOD_INDEX_USED
- * @deprecated
  */
+#[\Deprecated(since: '8.1', message: 'as it was unused')]
 const MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED = UNKNOWN;
 /**
  * @var int
  * @cvalue SERVER_QUERY_NO_INDEX_USED
- * @deprecated
  */
+#[\Deprecated(since: '8.1', message: 'as it was unused')]
 const MYSQLI_SERVER_QUERY_NO_INDEX_USED = UNKNOWN;
 /**
  * @var int
  * @cvalue SERVER_QUERY_WAS_SLOW
- * @deprecated
  */
+#[\Deprecated(since: '8.1', message: 'as it was unused')]
 const MYSQLI_SERVER_QUERY_WAS_SLOW = UNKNOWN;
 /**
  * @var int
  * @cvalue SERVER_PS_OUT_PARAMS
- * @deprecated
  */
+#[\Deprecated(since: '8.1', message: 'as it was unused')]
 const MYSQLI_SERVER_PS_OUT_PARAMS = UNKNOWN;
 
 /**
  * @var int
  * @cvalue REFRESH_GRANT
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as mysqli_refresh() is deprecated')]
 const MYSQLI_REFRESH_GRANT = UNKNOWN;
 /**
  * @var int
  * @cvalue REFRESH_LOG
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as mysqli_refresh() is deprecated')]
 const MYSQLI_REFRESH_LOG = UNKNOWN;
 /**
  * @var int
  * @cvalue REFRESH_TABLES
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as mysqli_refresh() is deprecated')]
 const MYSQLI_REFRESH_TABLES = UNKNOWN;
 /**
  * @var int
  * @cvalue REFRESH_HOSTS
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as mysqli_refresh() is deprecated')]
 const MYSQLI_REFRESH_HOSTS = UNKNOWN;
 /**
  * @var int
  * @cvalue REFRESH_STATUS
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as mysqli_refresh() is deprecated')]
 const MYSQLI_REFRESH_STATUS = UNKNOWN;
 /**
  * @var int
  * @cvalue REFRESH_THREADS
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as mysqli_refresh() is deprecated')]
 const MYSQLI_REFRESH_THREADS = UNKNOWN;
 /**
  * @var int
  * @cvalue REFRESH_SLAVE
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as mysqli_refresh() is deprecated')]
 const MYSQLI_REFRESH_REPLICA = UNKNOWN;
 /**
  * @var int
  * @cvalue REFRESH_SLAVE
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as mysqli_refresh() is deprecated')]
 const MYSQLI_REFRESH_SLAVE = UNKNOWN;
 /**
  * @var int
  * @cvalue REFRESH_MASTER
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as mysqli_refresh() is deprecated')]
 const MYSQLI_REFRESH_MASTER = UNKNOWN;
 /**
  * @var int
  * @cvalue REFRESH_BACKUP_LOG
- * @deprecated
  */
+#[\Deprecated(since: '8.4', message: 'as mysqli_refresh() is deprecated')]
 const MYSQLI_REFRESH_BACKUP_LOG = UNKNOWN;
 
 /**
@@ -591,8 +591,8 @@
 
 /**
  * @var bool
- * @deprecated
  */
+#[\Deprecated(since: '8.2', message: 'as it is always false')]
 const MYSQLI_IS_MARIADB = false;
 
 final class mysqli_driver
diff --git a/ext/mysqli/mysqli_arginfo.h b/ext/mysqli/mysqli_arginfo.h
index 4e624d623d807..43dba58417f36 100644
--- a/ext/mysqli/mysqli_arginfo.h
+++ b/ext/mysqli/mysqli_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 32baf7b0642af68dea551687bc44ae47d708d810 */
+ * Stub hash: 2547f63fd024fd5f4fecc574bbcff1301d1d36e5 */
 
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_affected_rows, 0, 1,
MAY_BE_LONG|MAY_BE_STRING)
 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
@@ -1187,6 +1187,240 @@ static void register_mysqli_symbols(int module_number)
 	ZVAL_STR(&attribute_Deprecated_func_mysqli_refresh_0_arg1,
attribute_Deprecated_func_mysqli_refresh_0_arg1_str);
 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_mysqli_refresh_0->args[1].value,
&attribute_Deprecated_func_mysqli_refresh_0_arg1);
 	attribute_Deprecated_func_mysqli_refresh_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_STORE_RESULT_COPY_DATA = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_STORE_RESULT_COPY_DATA", sizeof("MYSQLI_STORE_RESULT_COPY_DATA") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0 =
zend_add_global_constant_attribute(const_MYSQLI_STORE_RESULT_COPY_DATA,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0_arg0,
attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0_arg0);
+	attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0->args[0].name =
ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0_arg1_str =
zend_string_init("as the mysqli_store_result() parameter is unused since 8.1",
strlen("as the mysqli_store_result() parameter is unused since 8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0_arg1,
attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0_arg1);
+	attribute_Deprecated_const_MYSQLI_STORE_RESULT_COPY_DATA_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_NO_DATA = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_NO_DATA", sizeof("MYSQLI_NO_DATA") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_NO_DATA_0 =
zend_add_global_constant_attribute(const_MYSQLI_NO_DATA,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_NO_DATA_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_NO_DATA_0_arg0_str =
zend_string_init("8.1", strlen("8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_NO_DATA_0_arg0,
attribute_Deprecated_const_MYSQLI_NO_DATA_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_NO_DATA_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_NO_DATA_0_arg0);
+	attribute_Deprecated_const_MYSQLI_NO_DATA_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_NO_DATA_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_NO_DATA_0_arg1_str = zend_string_init("as it
was unused", strlen("as it was unused"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_NO_DATA_0_arg1,
attribute_Deprecated_const_MYSQLI_NO_DATA_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_NO_DATA_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_NO_DATA_0_arg1);
+	attribute_Deprecated_const_MYSQLI_NO_DATA_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_DATA_TRUNCATED = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_DATA_TRUNCATED", sizeof("MYSQLI_DATA_TRUNCATED") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0 =
zend_add_global_constant_attribute(const_MYSQLI_DATA_TRUNCATED,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0_arg0_str =
zend_string_init("8.1", strlen("8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0_arg0,
attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0_arg0);
+	attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0_arg1_str =
zend_string_init("as it was unused", strlen("as it was unused"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0_arg1,
attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0_arg1);
+	attribute_Deprecated_const_MYSQLI_DATA_TRUNCATED_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED =
zend_hash_str_find_ptr(EG(zend_constants), "MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED",
sizeof("MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0 =
zend_add_global_constant_attribute(const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0_arg0_str =
zend_string_init("8.1", strlen("8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0_arg0,
attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0_arg0);
+	attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0->args[0].name =
ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0_arg1_str =
zend_string_init("as it was unused", strlen("as it was unused"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0_arg1,
attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0_arg1);
+	attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_SERVER_QUERY_NO_INDEX_USED =
zend_hash_str_find_ptr(EG(zend_constants), "MYSQLI_SERVER_QUERY_NO_INDEX_USED",
sizeof("MYSQLI_SERVER_QUERY_NO_INDEX_USED") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0 =
zend_add_global_constant_attribute(const_MYSQLI_SERVER_QUERY_NO_INDEX_USED,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0_arg0_str =
zend_string_init("8.1", strlen("8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0_arg0,
attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0_arg0);
+	attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0->args[0].name =
ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0_arg1_str =
zend_string_init("as it was unused", strlen("as it was unused"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0_arg1,
attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0_arg1);
+	attribute_Deprecated_const_MYSQLI_SERVER_QUERY_NO_INDEX_USED_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_SERVER_QUERY_WAS_SLOW = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_SERVER_QUERY_WAS_SLOW", sizeof("MYSQLI_SERVER_QUERY_WAS_SLOW") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0 =
zend_add_global_constant_attribute(const_MYSQLI_SERVER_QUERY_WAS_SLOW,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0_arg0_str =
zend_string_init("8.1", strlen("8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0_arg0,
attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0_arg0);
+	attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0->args[0].name =
ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0_arg1_str =
zend_string_init("as it was unused", strlen("as it was unused"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0_arg1,
attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0_arg1);
+	attribute_Deprecated_const_MYSQLI_SERVER_QUERY_WAS_SLOW_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_SERVER_PS_OUT_PARAMS = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_SERVER_PS_OUT_PARAMS", sizeof("MYSQLI_SERVER_PS_OUT_PARAMS") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0 =
zend_add_global_constant_attribute(const_MYSQLI_SERVER_PS_OUT_PARAMS,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0_arg0_str =
zend_string_init("8.1", strlen("8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0_arg0,
attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0_arg0);
+	attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0->args[0].name =
ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0_arg1_str =
zend_string_init("as it was unused", strlen("as it was unused"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0_arg1,
attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0_arg1);
+	attribute_Deprecated_const_MYSQLI_SERVER_PS_OUT_PARAMS_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_REFRESH_GRANT = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_REFRESH_GRANT", sizeof("MYSQLI_REFRESH_GRANT") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0 =
zend_add_global_constant_attribute(const_MYSQLI_REFRESH_GRANT,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0_arg0,
attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0_arg0);
+	attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0_arg1_str =
zend_string_init("as mysqli_refresh() is deprecated", strlen("as mysqli_refresh() is
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0_arg1,
attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0_arg1);
+	attribute_Deprecated_const_MYSQLI_REFRESH_GRANT_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_REFRESH_LOG = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_REFRESH_LOG", sizeof("MYSQLI_REFRESH_LOG") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0 =
zend_add_global_constant_attribute(const_MYSQLI_REFRESH_LOG,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0_arg0,
attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0_arg0);
+	attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0_arg1_str = zend_string_init("as
mysqli_refresh() is deprecated", strlen("as mysqli_refresh() is deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0_arg1,
attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0_arg1);
+	attribute_Deprecated_const_MYSQLI_REFRESH_LOG_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_REFRESH_TABLES = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_REFRESH_TABLES", sizeof("MYSQLI_REFRESH_TABLES") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0 =
zend_add_global_constant_attribute(const_MYSQLI_REFRESH_TABLES,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0_arg0,
attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0_arg0);
+	attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0_arg1_str =
zend_string_init("as mysqli_refresh() is deprecated", strlen("as mysqli_refresh() is
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0_arg1,
attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0_arg1);
+	attribute_Deprecated_const_MYSQLI_REFRESH_TABLES_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_REFRESH_HOSTS = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_REFRESH_HOSTS", sizeof("MYSQLI_REFRESH_HOSTS") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0 =
zend_add_global_constant_attribute(const_MYSQLI_REFRESH_HOSTS,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0_arg0,
attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0_arg0);
+	attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0_arg1_str =
zend_string_init("as mysqli_refresh() is deprecated", strlen("as mysqli_refresh() is
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0_arg1,
attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0_arg1);
+	attribute_Deprecated_const_MYSQLI_REFRESH_HOSTS_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_REFRESH_STATUS = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_REFRESH_STATUS", sizeof("MYSQLI_REFRESH_STATUS") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0 =
zend_add_global_constant_attribute(const_MYSQLI_REFRESH_STATUS,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0_arg0,
attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0_arg0);
+	attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0_arg1_str =
zend_string_init("as mysqli_refresh() is deprecated", strlen("as mysqli_refresh() is
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0_arg1,
attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0_arg1);
+	attribute_Deprecated_const_MYSQLI_REFRESH_STATUS_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_REFRESH_THREADS = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_REFRESH_THREADS", sizeof("MYSQLI_REFRESH_THREADS") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0 =
zend_add_global_constant_attribute(const_MYSQLI_REFRESH_THREADS,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0_arg0,
attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0_arg0);
+	attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0_arg1_str =
zend_string_init("as mysqli_refresh() is deprecated", strlen("as mysqli_refresh() is
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0_arg1,
attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0_arg1);
+	attribute_Deprecated_const_MYSQLI_REFRESH_THREADS_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_REFRESH_REPLICA = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_REFRESH_REPLICA", sizeof("MYSQLI_REFRESH_REPLICA") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0 =
zend_add_global_constant_attribute(const_MYSQLI_REFRESH_REPLICA,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0_arg0,
attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0_arg0);
+	attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0_arg1_str =
zend_string_init("as mysqli_refresh() is deprecated", strlen("as mysqli_refresh() is
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0_arg1,
attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0_arg1);
+	attribute_Deprecated_const_MYSQLI_REFRESH_REPLICA_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_REFRESH_SLAVE = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_REFRESH_SLAVE", sizeof("MYSQLI_REFRESH_SLAVE") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0 =
zend_add_global_constant_attribute(const_MYSQLI_REFRESH_SLAVE,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0_arg0,
attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0_arg0);
+	attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0_arg1_str =
zend_string_init("as mysqli_refresh() is deprecated", strlen("as mysqli_refresh() is
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0_arg1,
attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0_arg1);
+	attribute_Deprecated_const_MYSQLI_REFRESH_SLAVE_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_REFRESH_MASTER = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_REFRESH_MASTER", sizeof("MYSQLI_REFRESH_MASTER") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0 =
zend_add_global_constant_attribute(const_MYSQLI_REFRESH_MASTER,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0_arg0,
attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0_arg0);
+	attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0_arg1_str =
zend_string_init("as mysqli_refresh() is deprecated", strlen("as mysqli_refresh() is
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0_arg1,
attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0_arg1);
+	attribute_Deprecated_const_MYSQLI_REFRESH_MASTER_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_REFRESH_BACKUP_LOG = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_REFRESH_BACKUP_LOG", sizeof("MYSQLI_REFRESH_BACKUP_LOG") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0 =
zend_add_global_constant_attribute(const_MYSQLI_REFRESH_BACKUP_LOG,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0_arg0,
attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0_arg0);
+	attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0->args[0].name =
ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0_arg1_str =
zend_string_init("as mysqli_refresh() is deprecated", strlen("as mysqli_refresh() is
deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0_arg1,
attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0_arg1);
+	attribute_Deprecated_const_MYSQLI_REFRESH_BACKUP_LOG_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MYSQLI_IS_MARIADB = zend_hash_str_find_ptr(EG(zend_constants),
"MYSQLI_IS_MARIADB", sizeof("MYSQLI_IS_MARIADB") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MYSQLI_IS_MARIADB_0 =
zend_add_global_constant_attribute(const_MYSQLI_IS_MARIADB,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_MYSQLI_IS_MARIADB_0_arg0;
+	zend_string *attribute_Deprecated_const_MYSQLI_IS_MARIADB_0_arg0_str =
zend_string_init("8.2", strlen("8.2"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_IS_MARIADB_0_arg0,
attribute_Deprecated_const_MYSQLI_IS_MARIADB_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_IS_MARIADB_0->args[0].value,
&attribute_Deprecated_const_MYSQLI_IS_MARIADB_0_arg0);
+	attribute_Deprecated_const_MYSQLI_IS_MARIADB_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MYSQLI_IS_MARIADB_0_arg1;
+	zend_string *attribute_Deprecated_const_MYSQLI_IS_MARIADB_0_arg1_str = zend_string_init("as
it is always false", strlen("as it is always false"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MYSQLI_IS_MARIADB_0_arg1,
attribute_Deprecated_const_MYSQLI_IS_MARIADB_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MYSQLI_IS_MARIADB_0->args[1].value,
&attribute_Deprecated_const_MYSQLI_IS_MARIADB_0_arg1);
+	attribute_Deprecated_const_MYSQLI_IS_MARIADB_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
 
 static zend_class_entry *register_class_mysqli_driver(void)
diff --git a/ext/mysqli/tests/deprecated_constants.phpt b/ext/mysqli/tests/deprecated_constants.phpt
index 9c8e06e50fe1c..753863a3bf131 100644
--- a/ext/mysqli/tests/deprecated_constants.phpt
+++ b/ext/mysqli/tests/deprecated_constants.phpt
@@ -16,22 +16,22 @@ echo constant('MYSQLI_IS_MARIADB')."\n";
 ?>
 --EXPECTF--
 
-Deprecated: Constant MYSQLI_NO_DATA is deprecated in %s
+Deprecated: Constant MYSQLI_NO_DATA is deprecated since 8.1, as it was unused in %s
 %i
 
-Deprecated: Constant MYSQLI_DATA_TRUNCATED is deprecated in %s
+Deprecated: Constant MYSQLI_DATA_TRUNCATED is deprecated since 8.1, as it was unused in %s
 %i
 
-Deprecated: Constant MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED is deprecated in %s
+Deprecated: Constant MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED is deprecated since 8.1, as it was
unused in %s
 %i
 
-Deprecated: Constant MYSQLI_SERVER_QUERY_NO_INDEX_USED is deprecated in %s
+Deprecated: Constant MYSQLI_SERVER_QUERY_NO_INDEX_USED is deprecated since 8.1, as it was unused in
%s
 %i
 
-Deprecated: Constant MYSQLI_SERVER_QUERY_WAS_SLOW is deprecated in %s
+Deprecated: Constant MYSQLI_SERVER_QUERY_WAS_SLOW is deprecated since 8.1, as it was unused in %s
 %i
 
-Deprecated: Constant MYSQLI_SERVER_PS_OUT_PARAMS is deprecated in %s
+Deprecated: Constant MYSQLI_SERVER_PS_OUT_PARAMS is deprecated since 8.1, as it was unused in %s
 %i
 
-Deprecated: Constant MYSQLI_IS_MARIADB is deprecated in %s
+Deprecated: Constant MYSQLI_IS_MARIADB is deprecated since 8.2, as it is always false in %s
diff --git a/ext/pgsql/pgsql.stub.php b/ext/pgsql/pgsql.stub.php
index 04e648eff8d50..f379d115f6d45 100644
--- a/ext/pgsql/pgsql.stub.php
+++ b/ext/pgsql/pgsql.stub.php
@@ -13,8 +13,8 @@
     /**
      * @var string
      * @cvalue pgsql_libpq_version
-     * @deprecated
      */
+    #[\Deprecated(since: '8.0', message: 'as it is the same as
PGSQL_LIBPQ_VERSION')]
     const PGSQL_LIBPQ_VERSION_STR = UNKNOWN;
 
     /* For connection option */
diff --git a/ext/pgsql/pgsql_arginfo.h b/ext/pgsql/pgsql_arginfo.h
index cb58645e5e9f5..e42723eef6dd9 100644
--- a/ext/pgsql/pgsql_arginfo.h
+++ b/ext/pgsql/pgsql_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 3cf44ca06d11cad086829d3d04900ade3cacb88b */
+ * Stub hash: 7c5c32d94c0ac05313d8b19915c6318b0678b75b */
 
 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_pg_connect, 0, 1, PgSql\\Connection,
MAY_BE_FALSE)
 	ZEND_ARG_TYPE_INFO(0, connection_string, IS_STRING, 0)
@@ -1153,6 +1153,19 @@ static void register_pgsql_symbols(int module_number)
 	attribute_Deprecated_func_pg_clientencoding_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
 
 	zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table),
"pg_change_password", sizeof("pg_change_password") - 1), 2,
ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
+	zend_constant *const_PGSQL_LIBPQ_VERSION_STR = zend_hash_str_find_ptr(EG(zend_constants),
"PGSQL_LIBPQ_VERSION_STR", sizeof("PGSQL_LIBPQ_VERSION_STR") - 1);
+
+	zend_attribute *attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0 =
zend_add_global_constant_attribute(const_PGSQL_LIBPQ_VERSION_STR,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0_arg0;
+	zend_string *attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0_arg0_str =
zend_string_init("8.0", strlen("8.0"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0_arg0,
attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0->args[0].value,
&attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0_arg0);
+	attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0->args[0].name =
ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0_arg1;
+	zend_string *attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0_arg1_str =
zend_string_init("as it is the same as PGSQL_LIBPQ_VERSION", strlen("as it is the
same as PGSQL_LIBPQ_VERSION"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0_arg1,
attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0->args[1].value,
&attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0_arg1);
+	attribute_Deprecated_const_PGSQL_LIBPQ_VERSION_STR_0->args[1].name =
ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
 
 static zend_class_entry *register_class_PgSql_Connection(void)
diff --git a/ext/random/random.stub.php b/ext/random/random.stub.php
index b59221bf9180f..2854bdd2c2548 100644
--- a/ext/random/random.stub.php
+++ b/ext/random/random.stub.php
@@ -10,9 +10,9 @@
     const MT_RAND_MT19937 = UNKNOWN;
     /**
      * @var int
-     * @deprecated
      * @cvalue MT_RAND_PHP
      */
+    #[\Deprecated(since: '8.3', message: 'as it uses a biased non-standard variant
of Mt19937')]
     const MT_RAND_PHP = UNKNOWN;
 
     #[\Deprecated(since: '8.4', message: "use \\Random\\Randomizer::getFloat()
instead")]
diff --git a/ext/random/random_arginfo.h b/ext/random/random_arginfo.h
index c1cfb8eb34132..0d7ba3c96524b 100644
--- a/ext/random/random_arginfo.h
+++ b/ext/random/random_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 8b30f08404f2912d40f4cb61b76ec283af19b79c */
+ * Stub hash: 416be19494555016195600e488d79f0dd35f2620 */
 
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_lcg_value, 0, 0, IS_DOUBLE, 0)
 ZEND_END_ARG_INFO()
@@ -240,6 +240,19 @@ static void register_random_symbols(int module_number)
 	ZVAL_STR(&attribute_Deprecated_func_lcg_value_0_arg1,
attribute_Deprecated_func_lcg_value_0_arg1_str);
 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_lcg_value_0->args[1].value,
&attribute_Deprecated_func_lcg_value_0_arg1);
 	attribute_Deprecated_func_lcg_value_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_MT_RAND_PHP = zend_hash_str_find_ptr(EG(zend_constants),
"MT_RAND_PHP", sizeof("MT_RAND_PHP") - 1);
+
+	zend_attribute *attribute_Deprecated_const_MT_RAND_PHP_0 =
zend_add_global_constant_attribute(const_MT_RAND_PHP, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED),
2);
+	zval attribute_Deprecated_const_MT_RAND_PHP_0_arg0;
+	zend_string *attribute_Deprecated_const_MT_RAND_PHP_0_arg0_str = zend_string_init("8.3",
strlen("8.3"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MT_RAND_PHP_0_arg0,
attribute_Deprecated_const_MT_RAND_PHP_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MT_RAND_PHP_0->args[0].value,
&attribute_Deprecated_const_MT_RAND_PHP_0_arg0);
+	attribute_Deprecated_const_MT_RAND_PHP_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_MT_RAND_PHP_0_arg1;
+	zend_string *attribute_Deprecated_const_MT_RAND_PHP_0_arg1_str = zend_string_init("as it uses
a biased non-standard variant of Mt19937", strlen("as it uses a biased non-standard
variant of Mt19937"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_MT_RAND_PHP_0_arg1,
attribute_Deprecated_const_MT_RAND_PHP_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_MT_RAND_PHP_0->args[1].value,
&attribute_Deprecated_const_MT_RAND_PHP_0_arg1);
+	attribute_Deprecated_const_MT_RAND_PHP_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
 
 static zend_class_entry *register_class_Random_Engine_Mt19937(zend_class_entry
*class_entry_Random_Engine)
diff --git a/ext/random/tests/01_functions/array_rand_mt_rand_php.phpt
b/ext/random/tests/01_functions/array_rand_mt_rand_php.phpt
index 703460a890f05..ee3e155484dde 100644
--- a/ext/random/tests/01_functions/array_rand_mt_rand_php.phpt
+++ b/ext/random/tests/01_functions/array_rand_mt_rand_php.phpt
@@ -24,7 +24,7 @@ var_dump(
 );
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 string(11) "found key 0"
diff --git a/ext/random/tests/01_functions/bug75514.phpt
b/ext/random/tests/01_functions/bug75514.phpt
index 583ac9a209ef3..8f90064966988 100644
--- a/ext/random/tests/01_functions/bug75514.phpt
+++ b/ext/random/tests/01_functions/bug75514.phpt
@@ -6,7 +6,7 @@ mt_srand(0, MT_RAND_PHP);
 var_dump(mt_rand(0,999999999), mt_rand(0,999));
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 int(448865905)
diff --git a/ext/random/tests/01_functions/mt_rand_value.phpt
b/ext/random/tests/01_functions/mt_rand_value.phpt
index ede620648e16b..bf5fdfc2a4e88 100644
--- a/ext/random/tests/01_functions/mt_rand_value.phpt
+++ b/ext/random/tests/01_functions/mt_rand_value.phpt
@@ -38,7 +38,7 @@ echo $x.PHP_EOL;
 
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 1614640687
diff --git a/ext/random/tests/03_randomizer/compatibility_mt_rand.phpt
b/ext/random/tests/03_randomizer/compatibility_mt_rand.phpt
index 4abb1276f3665..50aa7b3efb0d8 100644
--- a/ext/random/tests/03_randomizer/compatibility_mt_rand.phpt
+++ b/ext/random/tests/03_randomizer/compatibility_mt_rand.phpt
@@ -46,11 +46,11 @@ die('success');
 --EXPECTF--
 MT_RAND_PHP
 
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 MT_RAND_MT19937
diff --git a/ext/random/tests/03_randomizer/methods/getBytes.phpt
b/ext/random/tests/03_randomizer/methods/getBytes.phpt
index 70aca6e22f8b6..2a163040ac770 100644
--- a/ext/random/tests/03_randomizer/methods/getBytes.phpt
+++ b/ext/random/tests/03_randomizer/methods/getBytes.phpt
@@ -39,7 +39,7 @@ die('success');
 
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 Random\Engine\Mt19937
diff --git a/ext/random/tests/03_randomizer/methods/getBytesFromString.phpt
b/ext/random/tests/03_randomizer/methods/getBytesFromString.phpt
index 06d24cc82bd23..8189d061d9701 100644
--- a/ext/random/tests/03_randomizer/methods/getBytesFromString.phpt
+++ b/ext/random/tests/03_randomizer/methods/getBytesFromString.phpt
@@ -43,7 +43,7 @@ die('success');
 
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 Random\Engine\Mt19937
diff --git a/ext/random/tests/03_randomizer/methods/getFloat.phpt
b/ext/random/tests/03_randomizer/methods/getFloat.phpt
index 8655777f89c3a..c07fedcc210e4 100644
--- a/ext/random/tests/03_randomizer/methods/getFloat.phpt
+++ b/ext/random/tests/03_randomizer/methods/getFloat.phpt
@@ -42,7 +42,7 @@ die('success');
 
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 Random\Engine\Mt19937
diff --git a/ext/random/tests/03_randomizer/methods/getInt.phpt
b/ext/random/tests/03_randomizer/methods/getInt.phpt
index ba936dcf3bf0f..5f1656c615a7f 100644
--- a/ext/random/tests/03_randomizer/methods/getInt.phpt
+++ b/ext/random/tests/03_randomizer/methods/getInt.phpt
@@ -46,7 +46,7 @@ die('success');
 
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 Random\Engine\Mt19937
diff --git a/ext/random/tests/03_randomizer/methods/nextFloat.phpt
b/ext/random/tests/03_randomizer/methods/nextFloat.phpt
index b515242137506..62243faf434a7 100644
--- a/ext/random/tests/03_randomizer/methods/nextFloat.phpt
+++ b/ext/random/tests/03_randomizer/methods/nextFloat.phpt
@@ -41,7 +41,7 @@ die('success');
 
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 Random\Engine\Mt19937
diff --git a/ext/random/tests/03_randomizer/methods/nextInt.phpt
b/ext/random/tests/03_randomizer/methods/nextInt.phpt
index 008e5acb259e8..6739ae9f1cf55 100644
--- a/ext/random/tests/03_randomizer/methods/nextInt.phpt
+++ b/ext/random/tests/03_randomizer/methods/nextInt.phpt
@@ -41,7 +41,7 @@ die('success');
 
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 Random\Engine\Mt19937
diff --git a/ext/random/tests/03_randomizer/methods/pickArrayKeys.phpt
b/ext/random/tests/03_randomizer/methods/pickArrayKeys.phpt
index d5b159f2af136..8c799909c8749 100644
--- a/ext/random/tests/03_randomizer/methods/pickArrayKeys.phpt
+++ b/ext/random/tests/03_randomizer/methods/pickArrayKeys.phpt
@@ -76,7 +76,7 @@ die('success');
 
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 Random\Engine\Mt19937
diff --git a/ext/random/tests/03_randomizer/methods/shuffleArray.phpt
b/ext/random/tests/03_randomizer/methods/shuffleArray.phpt
index af4ce88b3821d..302e683edbf20 100644
--- a/ext/random/tests/03_randomizer/methods/shuffleArray.phpt
+++ b/ext/random/tests/03_randomizer/methods/shuffleArray.phpt
@@ -45,7 +45,7 @@ die('success');
 
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 Random\Engine\Mt19937
diff --git a/ext/random/tests/03_randomizer/methods/shuffleBytes.phpt
b/ext/random/tests/03_randomizer/methods/shuffleBytes.phpt
index 404b670e2863a..cacf3688bb310 100644
--- a/ext/random/tests/03_randomizer/methods/shuffleBytes.phpt
+++ b/ext/random/tests/03_randomizer/methods/shuffleBytes.phpt
@@ -52,7 +52,7 @@ die('success');
 
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 Random\Engine\Mt19937
diff --git a/ext/random/tests/03_randomizer/serialize.phpt
b/ext/random/tests/03_randomizer/serialize.phpt
index 1f56228d33220..4ac8bfe6e682a 100644
--- a/ext/random/tests/03_randomizer/serialize.phpt
+++ b/ext/random/tests/03_randomizer/serialize.phpt
@@ -43,7 +43,7 @@ foreach ($engines as $engine) {
 die('success');
 ?>
 --EXPECTF--
-Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
+Deprecated: Constant MT_RAND_PHP is deprecated since 8.3, as it uses a biased non-standard variant
of Mt19937 in %s on line %d
 
 Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
 Random\Engine\Mt19937
diff --git a/ext/reflection/tests/internal_parameter_default_value/check_all.phpt
b/ext/reflection/tests/internal_parameter_default_value/check_all.phpt
index 534f781c4fc1a..241dea449b615 100644
--- a/ext/reflection/tests/internal_parameter_default_value/check_all.phpt
+++ b/ext/reflection/tests/internal_parameter_default_value/check_all.phpt
@@ -30,7 +30,7 @@ foreach (get_declared_classes() as $class) {
 ?>
 ===DONE===
 --EXPECTF--
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 
-Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated since 8.4, as date_sunrise() and
date_sunset() were deprecated in 8.1 in %s on line %d
 ===DONE===
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index cdb0216ebcf83..23607dd600683 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -21,6 +21,7 @@
 #endif
 #include "php_soap.h"
 #include "ext/session/php_session.h"
+#include "zend_attributes.h"
 #include "soap_arginfo.h"
 #include "zend_exceptions.h"
 #include "zend_interfaces.h"
diff --git a/ext/soap/soap.stub.php b/ext/soap/soap.stub.php
index 2520bd1346963..15d4ef1e6bd3e 100644
--- a/ext/soap/soap.stub.php
+++ b/ext/soap/soap.stub.php
@@ -44,8 +44,8 @@ final class Sdl
     /**
      * @var int
      * @cvalue SOAP_FUNCTIONS_ALL
-     * @deprecated since 8.4
      */
+    #[\Deprecated(since: '8.4', message: 'as enabling all functions is a possible
security concern')]
     const SOAP_FUNCTIONS_ALL = UNKNOWN;
 
     /**
diff --git a/ext/soap/soap_arginfo.h b/ext/soap/soap_arginfo.h
index e932f2af71093..c4ce5bf1e58b7 100644
--- a/ext/soap/soap_arginfo.h
+++ b/ext/soap/soap_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 78a27b18c6b4007494a6aed9acc5f6e99c6f0350 */
+ * Stub hash: 4277993645a3f560c7a9971466fabf2d451bc92d */
 
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_use_soap_error_handler, 0, 0, _IS_BOOL, 0)
 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, enable, _IS_BOOL, 0, "true")
@@ -315,6 +315,20 @@ static void register_soap_symbols(int module_number)
 	REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_SSLv2", SOAP_SSL_METHOD_SSLv2,
CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_SSLv3", SOAP_SSL_METHOD_SSLv3,
CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_SSLv23", SOAP_SSL_METHOD_SSLv23,
CONST_PERSISTENT);
+
+	zend_constant *const_SOAP_FUNCTIONS_ALL = zend_hash_str_find_ptr(EG(zend_constants),
"SOAP_FUNCTIONS_ALL", sizeof("SOAP_FUNCTIONS_ALL") - 1);
+
+	zend_attribute *attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0 =
zend_add_global_constant_attribute(const_SOAP_FUNCTIONS_ALL,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0_arg0;
+	zend_string *attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0_arg0_str =
zend_string_init("8.4", strlen("8.4"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0_arg0,
attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0->args[0].value,
&attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0_arg0);
+	attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0_arg1;
+	zend_string *attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0_arg1_str = zend_string_init("as
enabling all functions is a possible security concern", strlen("as enabling all functions
is a possible security concern"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0_arg1,
attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0->args[1].value,
&attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0_arg1);
+	attribute_Deprecated_const_SOAP_FUNCTIONS_ALL_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
 
 static zend_class_entry *register_class_Soap_Url(void)
diff --git a/ext/soap/tests/server003.phpt b/ext/soap/tests/server003.phpt
index 1425daf819404..c278ca23a1959 100644
--- a/ext/soap/tests/server003.phpt
+++ b/ext/soap/tests/server003.phpt
@@ -27,7 +27,7 @@ $server->handle($HTTP_RAW_POST_DATA);
 echo "ok\n";
 ?>
 --EXPECTF--
-Deprecated: Constant SOAP_FUNCTIONS_ALL is deprecated in %s on line %d
+Deprecated: Constant SOAP_FUNCTIONS_ALL is deprecated since 8.4, as enabling all functions is a
possible security concern in %s on line %d
 
 Deprecated: SoapServer::addFunction(): Enabling all functions via SOAP_FUNCTIONS_ALL is deprecated
since 8.4, due to possible security concerns. If all PHP functions should be enabled, the flattened
return value of get_defined_functions() can be used in %s on line %d
 <?xml version="1.0" encoding="UTF-8"?>
diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php
index 18dc66dcc7648..740d3014f26a7 100644
--- a/ext/standard/basic_functions.stub.php
+++ b/ext/standard/basic_functions.stub.php
@@ -124,33 +124,33 @@
 
 /**
  * @var int
- * @deprecated
  * @cvalue PHP_ASSERT_ACTIVE
  */
+#[\Deprecated(since: '8.3', message: 'as assert_options() is deprecated')]
 const ASSERT_ACTIVE = UNKNOWN;
 /**
  * @var int
- * @deprecated
  * @cvalue PHP_ASSERT_CALLBACK
  */
+#[\Deprecated(since: '8.3', message: 'as assert_options() is deprecated')]
 const ASSERT_CALLBACK = UNKNOWN;
 /**
  * @var int
- * @deprecated
  * @cvalue PHP_ASSERT_BAIL
  */
+#[\Deprecated(since: '8.3', message: 'as assert_options() is deprecated')]
 const ASSERT_BAIL = UNKNOWN;
 /**
  * @var int
- * @deprecated
  * @cvalue PHP_ASSERT_WARNING
  */
+#[\Deprecated(since: '8.3', message: 'as assert_options() is deprecated')]
 const ASSERT_WARNING = UNKNOWN;
 /**
  * @var int
- * @deprecated
  * @cvalue PHP_ASSERT_EXCEPTION
  */
+#[\Deprecated(since: '8.3', message: 'as assert_options() is deprecated')]
 const ASSERT_EXCEPTION = UNKNOWN;
 
 /* basic_functions.h */
diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h
index f831e5bdc9b72..a3d965ad99667 100644
--- a/ext/standard/basic_functions_arginfo.h
+++ b/ext/standard/basic_functions_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 0ed546c180da5fe4af917086bee80259def15a78 */
+ * Stub hash: f8c3745d39ed21f29f46b47f15b6fd1178e55dbb */
 
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0)
 	ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
@@ -3940,6 +3940,71 @@ static void register_basic_functions_symbols(int module_number)
 	zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "password_hash",
sizeof("password_hash") - 1), 0, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
 
 	zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table),
"password_verify", sizeof("password_verify") - 1), 0,
ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
+	zend_constant *const_ASSERT_ACTIVE = zend_hash_str_find_ptr(EG(zend_constants),
"ASSERT_ACTIVE", sizeof("ASSERT_ACTIVE") - 1);
+
+	zend_attribute *attribute_Deprecated_const_ASSERT_ACTIVE_0 =
zend_add_global_constant_attribute(const_ASSERT_ACTIVE, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED),
2);
+	zval attribute_Deprecated_const_ASSERT_ACTIVE_0_arg0;
+	zend_string *attribute_Deprecated_const_ASSERT_ACTIVE_0_arg0_str =
zend_string_init("8.3", strlen("8.3"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ASSERT_ACTIVE_0_arg0,
attribute_Deprecated_const_ASSERT_ACTIVE_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ASSERT_ACTIVE_0->args[0].value,
&attribute_Deprecated_const_ASSERT_ACTIVE_0_arg0);
+	attribute_Deprecated_const_ASSERT_ACTIVE_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_ASSERT_ACTIVE_0_arg1;
+	zend_string *attribute_Deprecated_const_ASSERT_ACTIVE_0_arg1_str = zend_string_init("as
assert_options() is deprecated", strlen("as assert_options() is deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ASSERT_ACTIVE_0_arg1,
attribute_Deprecated_const_ASSERT_ACTIVE_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ASSERT_ACTIVE_0->args[1].value,
&attribute_Deprecated_const_ASSERT_ACTIVE_0_arg1);
+	attribute_Deprecated_const_ASSERT_ACTIVE_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_ASSERT_CALLBACK = zend_hash_str_find_ptr(EG(zend_constants),
"ASSERT_CALLBACK", sizeof("ASSERT_CALLBACK") - 1);
+
+	zend_attribute *attribute_Deprecated_const_ASSERT_CALLBACK_0 =
zend_add_global_constant_attribute(const_ASSERT_CALLBACK,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_ASSERT_CALLBACK_0_arg0;
+	zend_string *attribute_Deprecated_const_ASSERT_CALLBACK_0_arg0_str =
zend_string_init("8.3", strlen("8.3"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ASSERT_CALLBACK_0_arg0,
attribute_Deprecated_const_ASSERT_CALLBACK_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ASSERT_CALLBACK_0->args[0].value,
&attribute_Deprecated_const_ASSERT_CALLBACK_0_arg0);
+	attribute_Deprecated_const_ASSERT_CALLBACK_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_ASSERT_CALLBACK_0_arg1;
+	zend_string *attribute_Deprecated_const_ASSERT_CALLBACK_0_arg1_str = zend_string_init("as
assert_options() is deprecated", strlen("as assert_options() is deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ASSERT_CALLBACK_0_arg1,
attribute_Deprecated_const_ASSERT_CALLBACK_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ASSERT_CALLBACK_0->args[1].value,
&attribute_Deprecated_const_ASSERT_CALLBACK_0_arg1);
+	attribute_Deprecated_const_ASSERT_CALLBACK_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_ASSERT_BAIL = zend_hash_str_find_ptr(EG(zend_constants),
"ASSERT_BAIL", sizeof("ASSERT_BAIL") - 1);
+
+	zend_attribute *attribute_Deprecated_const_ASSERT_BAIL_0 =
zend_add_global_constant_attribute(const_ASSERT_BAIL, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED),
2);
+	zval attribute_Deprecated_const_ASSERT_BAIL_0_arg0;
+	zend_string *attribute_Deprecated_const_ASSERT_BAIL_0_arg0_str = zend_string_init("8.3",
strlen("8.3"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ASSERT_BAIL_0_arg0,
attribute_Deprecated_const_ASSERT_BAIL_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ASSERT_BAIL_0->args[0].value,
&attribute_Deprecated_const_ASSERT_BAIL_0_arg0);
+	attribute_Deprecated_const_ASSERT_BAIL_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_ASSERT_BAIL_0_arg1;
+	zend_string *attribute_Deprecated_const_ASSERT_BAIL_0_arg1_str = zend_string_init("as
assert_options() is deprecated", strlen("as assert_options() is deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ASSERT_BAIL_0_arg1,
attribute_Deprecated_const_ASSERT_BAIL_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ASSERT_BAIL_0->args[1].value,
&attribute_Deprecated_const_ASSERT_BAIL_0_arg1);
+	attribute_Deprecated_const_ASSERT_BAIL_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_ASSERT_WARNING = zend_hash_str_find_ptr(EG(zend_constants),
"ASSERT_WARNING", sizeof("ASSERT_WARNING") - 1);
+
+	zend_attribute *attribute_Deprecated_const_ASSERT_WARNING_0 =
zend_add_global_constant_attribute(const_ASSERT_WARNING,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_ASSERT_WARNING_0_arg0;
+	zend_string *attribute_Deprecated_const_ASSERT_WARNING_0_arg0_str =
zend_string_init("8.3", strlen("8.3"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ASSERT_WARNING_0_arg0,
attribute_Deprecated_const_ASSERT_WARNING_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ASSERT_WARNING_0->args[0].value,
&attribute_Deprecated_const_ASSERT_WARNING_0_arg0);
+	attribute_Deprecated_const_ASSERT_WARNING_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_ASSERT_WARNING_0_arg1;
+	zend_string *attribute_Deprecated_const_ASSERT_WARNING_0_arg1_str = zend_string_init("as
assert_options() is deprecated", strlen("as assert_options() is deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ASSERT_WARNING_0_arg1,
attribute_Deprecated_const_ASSERT_WARNING_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ASSERT_WARNING_0->args[1].value,
&attribute_Deprecated_const_ASSERT_WARNING_0_arg1);
+	attribute_Deprecated_const_ASSERT_WARNING_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_ASSERT_EXCEPTION = zend_hash_str_find_ptr(EG(zend_constants),
"ASSERT_EXCEPTION", sizeof("ASSERT_EXCEPTION") - 1);
+
+	zend_attribute *attribute_Deprecated_const_ASSERT_EXCEPTION_0 =
zend_add_global_constant_attribute(const_ASSERT_EXCEPTION,
ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_ASSERT_EXCEPTION_0_arg0;
+	zend_string *attribute_Deprecated_const_ASSERT_EXCEPTION_0_arg0_str =
zend_string_init("8.3", strlen("8.3"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ASSERT_EXCEPTION_0_arg0,
attribute_Deprecated_const_ASSERT_EXCEPTION_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ASSERT_EXCEPTION_0->args[0].value,
&attribute_Deprecated_const_ASSERT_EXCEPTION_0_arg0);
+	attribute_Deprecated_const_ASSERT_EXCEPTION_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_ASSERT_EXCEPTION_0_arg1;
+	zend_string *attribute_Deprecated_const_ASSERT_EXCEPTION_0_arg1_str = zend_string_init("as
assert_options() is deprecated", strlen("as assert_options() is deprecated"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_ASSERT_EXCEPTION_0_arg1,
attribute_Deprecated_const_ASSERT_EXCEPTION_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ASSERT_EXCEPTION_0->args[1].value,
&attribute_Deprecated_const_ASSERT_EXCEPTION_0_arg1);
+	attribute_Deprecated_const_ASSERT_EXCEPTION_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
 
 static zend_class_entry *register_class___PHP_Incomplete_Class(void)
diff --git a/ext/standard/file.c b/ext/standard/file.c
index 4e136bedf5fab..ab6ed4fbadd2d 100644
--- a/ext/standard/file.c
+++ b/ext/standard/file.c
@@ -98,6 +98,7 @@ php_file_globals file_globals;
 # include <fnmatch.h>
 #endif
 
+#include "zend_attributes.h"
 #include "file_arginfo.h"
 
 /* }}} */
diff --git a/ext/standard/file.stub.php b/ext/standard/file.stub.php
index 591169a37e001..91d2ea08708ec 100644
--- a/ext/standard/file.stub.php
+++ b/ext/standard/file.stub.php
@@ -446,13 +446,13 @@
 
 /**
  * @var int
- * @deprecated
  */
+#[\Deprecated(since: '8.1', message: 'as the constant has no effect')]
 const FILE_TEXT = 0;
 /**
  * @var int
- * @deprecated
  */
+#[\Deprecated(since: '8.1', message: 'as the constant has no effect')]
 const FILE_BINARY = 0;
 
 #ifdef HAVE_FNMATCH
diff --git a/ext/standard/file_arginfo.h b/ext/standard/file_arginfo.h
index 7dc8fcf80aabe..276419b9abaa7 100644
--- a/ext/standard/file_arginfo.h
+++ b/ext/standard/file_arginfo.h
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: e9a566d5ef96f781074027b1b3ff1824d0208b47 */
+ * Stub hash: dde0b40909dbadb565d898338834de7fa689c5e9 */
 
 static void register_file_symbols(int module_number)
 {
@@ -118,4 +118,31 @@ static void register_file_symbols(int module_number)
 #if defined(HAVE_FNMATCH) && defined(FNM_CASEFOLD)
 	REGISTER_LONG_CONSTANT("FNM_CASEFOLD", FNM_CASEFOLD, CONST_PERSISTENT);
 #endif
+
+	zend_constant *const_FILE_TEXT = zend_hash_str_find_ptr(EG(zend_constants), "FILE_TEXT",
sizeof("FILE_TEXT") - 1);
+
+	zend_attribute *attribute_Deprecated_const_FILE_TEXT_0 =
zend_add_global_constant_attribute(const_FILE_TEXT, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
+	zval attribute_Deprecated_const_FILE_TEXT_0_arg0;
+	zend_string *attribute_Deprecated_const_FILE_TEXT_0_arg0_str = zend_string_init("8.1",
strlen("8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_FILE_TEXT_0_arg0,
attribute_Deprecated_const_FILE_TEXT_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_FILE_TEXT_0->args[0].value,
&attribute_Deprecated_const_FILE_TEXT_0_arg0);
+	attribute_Deprecated_const_FILE_TEXT_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_FILE_TEXT_0_arg1;
+	zend_string *attribute_Deprecated_const_FILE_TEXT_0_arg1_str = zend_string_init("as the
constant has no effect", strlen("as the constant has no effect"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_FILE_TEXT_0_arg1,
attribute_Deprecated_const_FILE_TEXT_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_FILE_TEXT_0->args[1].value,
&attribute_Deprecated_const_FILE_TEXT_0_arg1);
+	attribute_Deprecated_const_FILE_TEXT_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
+	zend_constant *const_FILE_BINARY = zend_hash_str_find_ptr(EG(zend_constants),
"FILE_BINARY", sizeof("FILE_BINARY") - 1);
+
+	zend_attribute *attribute_Deprecated_const_FILE_BINARY_0 =
zend_add_global_constant_attribute(const_FILE_BINARY, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED),
2);
+	zval attribute_Deprecated_const_FILE_BINARY_0_arg0;
+	zend_string *attribute_Deprecated_const_FILE_BINARY_0_arg0_str = zend_string_init("8.1",
strlen("8.1"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_FILE_BINARY_0_arg0,
attribute_Deprecated_const_FILE_BINARY_0_arg0_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_FILE_BINARY_0->args[0].value,
&attribute_Deprecated_const_FILE_BINARY_0_arg0);
+	attribute_Deprecated_const_FILE_BINARY_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
+	zval attribute_Deprecated_const_FILE_BINARY_0_arg1;
+	zend_string *attribute_Deprecated_const_FILE_BINARY_0_arg1_str = zend_string_init("as the
constant has no effect", strlen("as the constant has no effect"), 1);
+	ZVAL_STR(&attribute_Deprecated_const_FILE_BINARY_0_arg1,
attribute_Deprecated_const_FILE_BINARY_0_arg1_str);
+	ZVAL_COPY_VALUE(&attribute_Deprecated_const_FILE_BINARY_0->args[1].value,
&attribute_Deprecated_const_FILE_BINARY_0_arg1);
+	attribute_Deprecated_const_FILE_BINARY_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
 }
diff --git a/ext/standard/tests/assert/assert.phpt b/ext/standard/tests/assert/assert.phpt
index 4649e9a59be94..a275b9949cbe6 100644
--- a/ext/standard/tests/assert/assert.phpt
+++ b/ext/standard/tests/assert/assert.phpt
@@ -41,25 +41,25 @@ Deprecated: PHP Startup: assert.active INI setting is deprecated in Unknown on l
 
 Deprecated: PHP Startup: assert.exception INI setting is deprecated in Unknown on line 0
 
-Deprecated: Constant ASSERT_ACTIVE is deprecated in %s on line %d
+Deprecated: Constant ASSERT_ACTIVE is deprecated since 8.3, as assert_options() is deprecated in %s
on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 
-Deprecated: Constant ASSERT_WARNING is deprecated in %s on line %d
+Deprecated: Constant ASSERT_WARNING is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 assertion failed 21,"assert($a != 0)"
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 class assertion failed 24,"assert($a != 0)"
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 class assertion failed 28,"assert($a != 0)"
diff --git a/ext/standard/tests/assert/assert03.phpt b/ext/standard/tests/assert/assert03.phpt
index 2a62665893a88..968af83065036 100644
--- a/ext/standard/tests/assert/assert03.phpt
+++ b/ext/standard/tests/assert/assert03.phpt
@@ -36,15 +36,15 @@ Deprecated: PHP Startup: assert.warning INI setting is deprecated in Unknown on
 
 Deprecated: PHP Startup: assert.exception INI setting is deprecated in Unknown on line 0
 
-Deprecated: Constant ASSERT_ACTIVE is deprecated in %s on line %d
+Deprecated: Constant ASSERT_ACTIVE is deprecated since 8.3, as assert_options() is deprecated in %s
on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 
-Deprecated: Constant ASSERT_WARNING is deprecated in %s on line %d
+Deprecated: Constant ASSERT_WARNING is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 assertion failed - a - 18,"assert($a != 0)"
diff --git a/ext/standard/tests/assert/assert04.phpt b/ext/standard/tests/assert/assert04.phpt
index 9935d4c6a123c..744633c197be2 100644
--- a/ext/standard/tests/assert/assert04.phpt
+++ b/ext/standard/tests/assert/assert04.phpt
@@ -29,17 +29,17 @@ echo "not reached\n";
 --EXPECTF--
 Deprecated: PHP Startup: assert.exception INI setting is deprecated in Unknown on line 0
 
-Deprecated: Constant ASSERT_ACTIVE is deprecated in %s on line %d
+Deprecated: Constant ASSERT_ACTIVE is deprecated since 8.3, as assert_options() is deprecated in %s
on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 
-Deprecated: Constant ASSERT_ACTIVE is deprecated in %s on line %d
+Deprecated: Constant ASSERT_ACTIVE is deprecated since 8.3, as assert_options() is deprecated in %s
on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 
 Warning: assert(): assert(0) failed in %s on line %d
 
-Deprecated: Constant ASSERT_BAIL is deprecated in %s on line %d
+Deprecated: Constant ASSERT_BAIL is deprecated since 8.3, as assert_options() is deprecated in %s
on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 
diff --git a/ext/standard/tests/assert/assert_basic2.phpt
b/ext/standard/tests/assert/assert_basic2.phpt
index fdd1c53b93dde..6bca82a91f536 100644
--- a/ext/standard/tests/assert/assert_basic2.phpt
+++ b/ext/standard/tests/assert/assert_basic2.phpt
@@ -30,7 +30,7 @@ Deprecated: PHP Startup: assert.callback INI setting is deprecated in Unknown on
 
 Deprecated: PHP Startup: assert.exception INI setting is deprecated in Unknown on line 0
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 string(2) "f1"
@@ -38,12 +38,12 @@ f1 called
 
 Warning: assert(): assert(0) failed in %s on line %d
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 string(2) "f1"
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 string(2) "f2"
diff --git a/ext/standard/tests/assert/assert_basic3.phpt
b/ext/standard/tests/assert/assert_basic3.phpt
index 0849f16e6f208..4e281ef504245 100644
--- a/ext/standard/tests/assert/assert_basic3.phpt
+++ b/ext/standard/tests/assert/assert_basic3.phpt
@@ -23,7 +23,7 @@ Deprecated: PHP Startup: assert.callback INI setting is deprecated in Unknown on
 
 Deprecated: PHP Startup: assert.exception INI setting is deprecated in Unknown on line 0
 
-Deprecated: Constant ASSERT_BAIL is deprecated in %s on line %d
+Deprecated: Constant ASSERT_BAIL is deprecated since 8.3, as assert_options() is deprecated in %s
on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 int(0)
diff --git a/ext/standard/tests/assert/assert_basic4.phpt
b/ext/standard/tests/assert/assert_basic4.phpt
index 76ade8d00f403..cc9ec64328866 100644
--- a/ext/standard/tests/assert/assert_basic4.phpt
+++ b/ext/standard/tests/assert/assert_basic4.phpt
@@ -28,22 +28,22 @@ Deprecated: PHP Startup: assert.warning INI setting is deprecated in Unknown on
 
 Deprecated: PHP Startup: assert.callback INI setting is deprecated in Unknown on line 0
 
-Deprecated: Constant ASSERT_ACTIVE is deprecated in %s on line %d
+Deprecated: Constant ASSERT_ACTIVE is deprecated since 8.3, as assert_options() is deprecated in %s
on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 Initial values: assert_options(ASSERT_ACTIVE) => [0]
 
-Deprecated: Constant ASSERT_WARNING is deprecated in %s on line %d
+Deprecated: Constant ASSERT_WARNING is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 Initial values: assert_options(ASSERT_WARNING) => [0]
 
-Deprecated: Constant ASSERT_BAIL is deprecated in %s on line %d
+Deprecated: Constant ASSERT_BAIL is deprecated since 8.3, as assert_options() is deprecated in %s
on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 Initial values: assert_options(ASSERT_BAIL) => [0]
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 Initial values: assert_options(ASSERT_CALLBACK) => [f1]
diff --git a/ext/standard/tests/assert/assert_basic5.phpt
b/ext/standard/tests/assert/assert_basic5.phpt
index 6ba70d94cdf36..66858eed5cb81 100644
--- a/ext/standard/tests/assert/assert_basic5.phpt
+++ b/ext/standard/tests/assert/assert_basic5.phpt
@@ -28,7 +28,7 @@ Deprecated: PHP Startup: assert.callback INI setting is deprecated in Unknown on
 
 Deprecated: PHP Startup: assert.exception INI setting is deprecated in Unknown on line 0
 
-Deprecated: Constant ASSERT_WARNING is deprecated in %s on line %d
+Deprecated: Constant ASSERT_WARNING is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 int(0)
@@ -38,7 +38,7 @@ Warning: assert(): assert(0 != 0) failed in %s on line %d
 bool(false)
 bool(true)
 
-Deprecated: Constant ASSERT_WARNING is deprecated in %s on line %d
+Deprecated: Constant ASSERT_WARNING is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 int(1)
diff --git a/ext/standard/tests/assert/assert_basic6.phpt
b/ext/standard/tests/assert/assert_basic6.phpt
index 4e95fdb01dc4c..b531425912c21 100644
--- a/ext/standard/tests/assert/assert_basic6.phpt
+++ b/ext/standard/tests/assert/assert_basic6.phpt
@@ -32,11 +32,11 @@ try {
 
 ?>
 --EXPECTF--
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 string(2) "f1"
@@ -44,11 +44,11 @@ foo
 assert(false)
 
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 NULL
diff --git a/ext/standard/tests/assert/assert_closures.phpt
b/ext/standard/tests/assert/assert_closures.phpt
index aa7246ee21bee..ecce049860236 100644
--- a/ext/standard/tests/assert/assert_closures.phpt
+++ b/ext/standard/tests/assert/assert_closures.phpt
@@ -13,7 +13,7 @@ assert(0);
 --EXPECTF--
 Deprecated: PHP Startup: assert.exception INI setting is deprecated in Unknown on line 0
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 Hello World!
diff --git a/ext/standard/tests/assert/assert_closures_multiple.phpt
b/ext/standard/tests/assert/assert_closures_multiple.phpt
index 0786740155571..8f0cb9551ab93 100644
--- a/ext/standard/tests/assert/assert_closures_multiple.phpt
+++ b/ext/standard/tests/assert/assert_closures_multiple.phpt
@@ -32,7 +32,7 @@ try {
 ?>
 DONE
 --EXPECTF--
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 DONE
diff --git a/ext/standard/tests/assert/assert_error2.phpt
b/ext/standard/tests/assert/assert_error2.phpt
index eaa62523845d4..6cfa5a6ce4447 100644
--- a/ext/standard/tests/assert/assert_error2.phpt
+++ b/ext/standard/tests/assert/assert_error2.phpt
@@ -25,7 +25,7 @@ Deprecated: PHP Startup: assert.callback INI setting is deprecated in Unknown on
 
 Deprecated: PHP Startup: assert.exception INI setting is deprecated in Unknown on line 0
 
-Deprecated: Constant ASSERT_BAIL is deprecated in %s on line %d
+Deprecated: Constant ASSERT_BAIL is deprecated since 8.3, as assert_options() is deprecated in %s
on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 int(0)
diff --git a/ext/standard/tests/assert/assert_variation.phpt
b/ext/standard/tests/assert/assert_variation.phpt
index 494f6cd579384..6824f7246d5b6 100644
--- a/ext/standard/tests/assert/assert_variation.phpt
+++ b/ext/standard/tests/assert/assert_variation.phpt
@@ -85,7 +85,7 @@ Deprecated: PHP Startup: assert.callback INI setting is deprecated in Unknown on
 
 Deprecated: PHP Startup: assert.exception INI setting is deprecated in Unknown on line 0
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 Initial values: assert_options(ASSERT_CALLBACK) => [f1]
@@ -98,7 +98,7 @@ Change callback function using ini.set and test return value
 Deprecated: ini_set(): assert.callback INI setting is deprecated in %s on line %d
 string(2) "f1"
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 assert_options(ASSERT_CALLBACK) => [f2]
@@ -108,12 +108,12 @@ bool(false)
 
 Change callback function using assert_options and test return value
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 string(2) "f2"
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 assert_options(ASSERT_CALLBACK) => [f3]
@@ -123,12 +123,12 @@ bool(false)
 
 Reset the name of the callback routine to a class method
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 string(2) "f3"
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 assert_options(ASSERT_CALLBACK) => [c1]
@@ -137,12 +137,12 @@ Invalid callback c1, function "c1" not found or invalid function
name
 
 Reset callback options to use a class method
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 string(2) "c1"
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 array(2) {
@@ -158,7 +158,7 @@ bool(false)
 
 Reset callback options to use an object method
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 array(2) {
@@ -168,7 +168,7 @@ array(2) {
   string(6) "assert"
 }
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 array(2) {
@@ -185,11 +185,11 @@ bool(false)
 
 Set callback to something silly
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 float(3.141)
diff --git a/ext/standard/tests/assert/bug80290.phpt b/ext/standard/tests/assert/bug80290.phpt
index 8b737f33043f9..112dbde1a4e47 100644
--- a/ext/standard/tests/assert/bug80290.phpt
+++ b/ext/standard/tests/assert/bug80290.phpt
@@ -12,7 +12,7 @@ assert(false, 'Dynamic message: ' . $x);
 
 ?>
 --EXPECTF--
-Deprecated: Constant ASSERT_CALLBACK is deprecated in %s on line %d
+Deprecated: Constant ASSERT_CALLBACK is deprecated since 8.3, as assert_options() is deprecated in
%s on line %d
 
 Deprecated: Function assert_options() is deprecated since 8.3 in %s on line %d
 string(18) "Dynamic message: x"
diff --git a/ext/standard/tests/file/file_binary_text_deprecated.phpt
b/ext/standard/tests/file/file_binary_text_deprecated.phpt
index cbc57809c6175..b6967c5967103 100644
--- a/ext/standard/tests/file/file_binary_text_deprecated.phpt
+++ b/ext/standard/tests/file/file_binary_text_deprecated.phpt
@@ -8,8 +8,8 @@ var_dump(FILE_TEXT);
 
 ?>
 --EXPECTF--
-Deprecated: Constant FILE_BINARY is deprecated in %s on line %d
+Deprecated: Constant FILE_BINARY is deprecated since 8.1, as the constant has no effect in %s on
line %d
 int(0)
 
-Deprecated: Constant FILE_TEXT is deprecated in %s on line %d
+Deprecated: Constant FILE_TEXT is deprecated since 8.1, as the constant has no effect in %s on line
%d
 int(0)


Thread (1 message)

  • DanielEScherzer via GitHub
« previous php.cvs (#134584) next »