1
0
mirror of https://github.com/php/php-src.git synced 2026-04-24 16:38:25 +02:00
Commit Graph

240 Commits

Author SHA1 Message Date
Niels Dossche f77c04d007 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix RCN violations in array functions
2025-06-24 23:29:50 +02:00
Niels Dossche 359a21f102 Fix RCN violations in array functions
When the array functions perform their operation in-place, the
`@refcount 1` annotation is wrong and causes a failure under
`ZEND_VERIFY_FUNC_INFO`.
The test file tests all functions that have the in-place optimization,
even those that didn't have the refcount annotation, just to prevent
future regressions.

Closes GH-18929.
2025-06-24 23:29:00 +02:00
haszi 701f3a1af6 Mark ob_start callback parameter nullable 2025-04-14 22:35:06 +02:00
Gina Peter Banyard e7891838a1 ext/standard: Sync parameter names for fpow() to be identical to pow()
Closes GH-16751
2024-11-11 13:04:46 +00:00
Tim Düsterhus 5905857fd2 RFC: Add the RoundingMode enum (#14833)
see https://wiki.php.net/rfc/correctly_name_the_rounding_mode_and_make_it_an_enum

Co-authored-by: Saki Takamachi <saki@php.net>
Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
2024-07-18 20:44:30 +02:00
Ayesh Karunaratne 673b4e890c ext/standard: change highlight_string()/print_r stub return type from string|bool to string|true (#14959)
* ext/standard: change `highlight_string()` return type from `string|bool` to `string|true`

* ext/standard: change `print_r` return type from `string|bool` to `string|true`
2024-07-15 23:20:32 +02:00
Tim Düsterhus 29f98e7485 Replace @deprecated by #[\Deprecated] for internal functions / class constants (#14750)
Co-authored-by: Gina Peter Banyard <girgias@php.net>
Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
2024-07-10 16:47:31 +02:00
Peter Kokot a6b336aba6 Refactor HAVE_GETIFADDRS checks (#14787)
- AC_CACHE used with php_cv_func_getifaddrs cache variable
- Synced #if/ifdef/defined checks for HAVE_GETIFADDRS as it is either
  defined to 1 or undefined
2024-07-03 21:53:17 +02:00
Joshua Rüsweg e4a8d5b16f RFC: array_find (#14108)
see https://wiki.php.net/rfc/array_find
2024-05-31 19:39:12 +02:00
Jorg Sowa 23afe57f01 Added deprecation Division by zero when using power with zero as base and negative exponent
RFC: https://wiki.php.net/rfc/raising_zero_to_power_of_negative_number

Closes GH-13128
2024-05-22 15:05:47 +02:00
Máté Kocsis be2f454d6e Add dedicated StreamBucket class (#13111)
RFC: https://wiki.php.net/rfc/dedicated_stream_bucket
2024-04-11 20:11:40 +02:00
Remi Collet 6c5814dade revert base64_encode change 2024-03-27 08:08:43 +01:00
Remi Collet b5446e42b2 add $padding option to base64_encode 2024-03-26 13:45:32 +01:00
Máté Kocsis b06c95b631 Declare the missing true return types (#13709) 2024-03-16 07:26:37 +01:00
Gina Peter Banyard 47a199c8b4 Add http_(get|clear)_last_reponse_headers() functions (#12500)
This is to provide an alternative to the $http_response_header magic variable

RFC: https://wiki.php.net/rfc/http-last-response-headers
2024-02-29 16:41:09 +00:00
Jorg Adam Sowa e630aacf79 Remove HAVE_INET_PTON (#13410) 2024-02-21 00:43:56 +00:00
Peter Kokot 056c43f848 [skip ci] Sync file permissions in Git repository
Git can track executable (0755) and non-executable (0644) file modes.
This is a minor file permissions sync across the php-src Git repository.

- build/config.guess (0755 as done upstream)
- build/config.sub (0755 as done upstream)
- ext/*/?*.stub.php (0644)
- ext/mbstring/libmbfl/mbfl/mk_eaw_tbl.awk (0755 due to shebang usage)
2024-02-20 17:58:47 +01:00
Jorg Adam Sowa e7b1f2a95b Change long2ip return type (#13395) 2024-02-16 17:11:18 +01:00
Ilija Tovilo cd66fcc68b Add request_parse_body() function
RFC: https://wiki.php.net/rfc/rfc1867-non-post

This function allows populating the $_POST and $_FILES globals for non-post
requests. This avoids manual parsing of RFC1867 requests.

Fixes #55815
Closes GH-11472
2024-02-08 12:08:07 +01:00
Ilija Tovilo 631bc81607 Implement stackless internal function calls
Co-authored-by: Dmitry Stogov <dmitry@zend.com>

Closes GH-12461
2024-02-06 17:42:28 +01:00
Ilija Tovilo cbd201192d Merge branch 'PHP-8.3'
* PHP-8.3:
  strtok is not comptime()
2024-01-14 19:13:25 +01:00
Ilija Tovilo ed64949d12 strtok is not comptime()
Fixes GH-13145
Closes GH-13148
2024-01-14 19:12:41 +01:00
haszi fed9cf6868 Mark ob_start callback parameter nullable 2024-01-09 22:55:49 +01:00
Jorg Adam Sowa 94ddc74c9a RFC: Add 4 new rounding modes to round() function (#12056)
https://wiki.php.net/rfc/new_rounding_modes_to_round_function

Co-authored-by: Tim Düsterhus <tim@bastelstu.be>
2023-12-21 13:28:05 +01:00
Máté Kocsis ed6e289c31 Make the return type of some stream context related functions true (#12720)
Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
2023-11-19 20:36:42 +01:00
David CARLIER 931a8b0739 inet_ntop requirement check at configure time instead (#12700) 2023-11-17 16:01:46 +00:00
HypeMC f25474f7f2 Add before_needle argument to strrchr()
Closes GH-11430
2023-08-24 14:26:46 +01:00
Máté Kocsis a5ad7e09d5 Implement stream_context_set_options() 2023-07-18 12:59:21 +02:00
George Peter Banyard d8696f9216 [RFC] Path to Saner Increment/Decrement operators (#10358)
* Add behavioural tests for incdec operators

* Add support to ++/-- for objects castable to _IS_NUMBER

* Add str_increment() function

* Add str_decrement() function

RFC: https://wiki.php.net/rfc/saner-inc-dec-operators

Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
Co-authored-by: Arnaud Le Blanc <arnaud.lb@gmail.com>
2023-07-17 15:51:24 +01:00
George Peter Banyard 3d4ff5ae22 RFC: Deprecate remains of string evaluated code assertions (#11671)
Link: https://wiki.php.net/rfc/assert-string-eval-cleanup
2023-07-13 15:45:32 +01:00
George Peter Banyard 798c40a739 [RFC] Define proper semantics for range() function (#10826)
RFC: https://wiki.php.net/rfc/proper-range-semantics
2023-06-19 14:25:26 +01:00
Michael Voříšek bd03c0343e Allow CTE on more CTE safe functions (#10771) 2023-05-16 21:59:26 +02:00
Máté Kocsis 85338569de Narrow bool return types to true when possible 2023-05-07 19:34:09 +02:00
Michael Voříšek 1209f593ca Allow CTE on basic type/math functions (#10842) 2023-04-24 22:39:20 +02:00
Niels Dossche c822c2dddd Merge branch 'PHP-8.2'
* PHP-8.2:
  Remove CTE flag from array_diff_ukey(), which was added by mistake
  Fix missing and inconsistent error check on SQLAllocHandle
2023-03-15 21:47:34 +01:00
Michael Voříšek 5239f9fc86 Remove CTE flag from array_diff_ukey(), which was added by mistake
This was accidentally added in GH-7780, but since it takes a callable
argument, this flag is useless on this function.

Closes GH-10859.
2023-03-15 21:40:11 +01:00
Niels Dossche b39ff334a3 Merge branch 'PHP-8.2'
* PHP-8.2:
  Re-add some CTE functions that were removed from being CTE by a mistake
  Fix GH-8065: opcache.consistency_checks > 0 causes segfaults in PHP >= 8.1.5 in fpm context
  Fix GH-8646: Memory leak PHP FPM 8.1
2023-03-07 20:36:41 +01:00
Michael Voříšek 411cd04541 Re-add some CTE functions that were removed from being CTE by a mistake
These functions were accidentally removed from being CTE in GH-7780.
This patch brings them back.

Closes GH-10768.
2023-03-07 20:30:11 +01:00
Máté Kocsis a4fd2609ce Declare ext/standard constants in stubs - part 9 (#9717) 2022-10-13 13:13:36 +02:00
Máté Kocsis c59e94fc9d Declare ext/stanard constants in stubs - part 11 (#9728) 2022-10-12 12:07:03 +02:00
Máté Kocsis 433ed0973a Declare ext/standard constants in stubs - part 10 (#9719) 2022-10-12 08:16:19 +02:00
Máté Kocsis ed0f1f04b9 Declare ext/standard constants in stubs - part 8 (#9615) 2022-09-30 13:51:18 +02:00
Máté Kocsis 3227d04fa9 Declare ext/standard constants in stubs - part 7 (#9505) 2022-09-08 13:57:07 +02:00
Máté Kocsis c547fc183c Add support for validation of missing class synopses (#9472) 2022-09-05 14:21:15 +02:00
Máté Kocsis e733ebf30e Add parenthesis around preprocessor conditions in stubs
gen_stub.php concatenates nested #ifs into one #if so let's make sure the semantics remain the same.
2022-09-02 16:21:28 +02:00
Máté Kocsis cfa72ff3af Declare ext/standard constants in stubs - part 6
Closes GH-9467
2022-09-02 16:07:25 +02:00
Máté Kocsis 6f2f228e4a Declare ext/standard constants in stubs - part 5
Closes GH-9466
2022-09-02 15:04:49 +02:00
Máté Kocsis 64b962b241 Declare ext/standard constants in stubs - part 4
Closes GH-9465
2022-09-02 12:41:51 +02:00
Tim Düsterhus c77bbf6fe5 Mark crypt()'s $string parameter as #[\SensitiveParameter] 2022-08-30 20:02:28 +02:00
Máté Kocsis adb45a63c0 Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354)
* Emit deprecation warnings when adding dynamic properties to classes during unserialization - this will become an Error in php 9.0.
  (Adding dynamic properties in other contexts was already a deprecation warning - the use case of unserialization was overlooked)
* Throw an error when attempting to add a dynamic property to a `readonly` class when unserializing
* Add new serialization methods `__serialize`/`__unserialize` for SplFixedArray to avoid creating deprecated dynamic
  properties that would then be added to the backing fixed-size array
* Don't add named dynamic/declared properties (e.g. $obj->foo) of SplFixedArray to the backing array when unserializing
* Update tests to declare properties or to expect the deprecation warning
* Add news entry

Co-authored-by: Tyson Andre <tysonandre775@hotmail.com>
2022-08-30 07:46:32 -04:00