Skip to content

Add Roundup #13 #90

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jun 8, 2023
Merged

Add Roundup #13 #90

merged 7 commits into from
Jun 8, 2023

Conversation

pronskiy
Copy link
Member

@pronskiy pronskiy commented Jun 6, 2023

I did not hear back from @Ayesh yet, so here is an experimental Roundup draft composed mostly with ChatGPT and @Ayesh's script https://git.sr.ht/~ayesh/php-src-commit-formatter.

Here is the prompt I used:

Details

You'll be writing a blog post that overviews what the PHP core team has accomplished during the last month.

Next, I'm going to provide you with the format and instructions on how to do that.

In the curly braces I'm going to provide parts that needs to be replaced. You'll find instructions on replacement inside the curly braces.

Ask me questions that may help you.

PHP Foundation team (you'll need this later):
Sebastian Bergmann
Joe Watkins
Nils Adermann
Benjamin Eberlei
Josepha Haden
Roman Pronskiy
Nicolas Grekas
Sara Golemon
Nikita Popov
Matthew Weier O'Phinney
Derick Rethans
George Peter Banyard
Ilija Tovilo
Jakub Zelenka
Máté Kocsis
Arnaud Le Blanc

FORMAT:

Output as markdown.

Title:

PHP Core Roundup #{number of issue, see the list of previous posts here https://thephp.foundation/blog/tag/roundup/ and use +1 number from previous one}

Intro:
In the intro you need to make a catchy hook that sums up everything you have to say below. See some examples in the previous posts here https://thephp.foundation/blog/tag/roundup/.

RFC Updates:

Here is the list of RFCs you need to describe:

For each RFC from the list above, write a short block in the following format:

RFC {status – get it from the each RFC page in header section}: {RFC title} by {RFC authors list comma separated. If the RFC author is from the PHP Foundation team then add "💜" near his name. You can check the PHP Foundation team in the list above}

{Short summary of what the RFC is about. You can provide code examples if it helps. But keep it concise overall.}


Notable Mailing List Discussions


List:

For each discussion from the list above, write a short block in the following format:

{title = list item with link}

{Short summary of what the proposal is about and sentiment of the comments provided by other people in the each thread.}

Merged PRs and Commits

For the list of commits below, group them by the author and provide nested list in the format:

  • Name of the author {"💜" if the author is from the PHP Foundation team}
    {list of commits from the original list each on a separate line starting with "- "}

The original list of commits:

  • RFC: Make unserialize() emit a warning for trailing bytes in GH-9630 by Tim Düsterhus
  • JIT: Fixed inaccurate range inference usage for UNDEF/NULL/FALSE in 25ad171f63 by Dmitry Stogov
  • JIT: Align JIT stubs in GH-11149 by yang yuhan
  • Fix negative indices on empty array not affecting next chosen index in GH-11157 by ColinHDev
  • Add configuration opcache.jit_max_trace_length in GH-11173 by Sara
  • Fixed GH-11127 (JIT fault) in ed0b593c11 by Dmitry Stogov
  • Fix too wide OR and AND range inference in GH-11170 by Niels Dossche
  • Add retry mechanism in run-tests.php in GH-10892 by Ilija Tovilo 💜
  • Remove unused macro PHP_FNV1_32A_INIT and PHP_FNV1A_64_INIT in GH-11114 by Nils
  • Downgrade to Ubuntu 20.04 for ASAN nightly for now in ef6bbaa1ec by Ilija Tovilo 💜
  • Fix GH-9068: Conditional jump or move depends on uninitialised value(s) in GH-10221 by Niels Dossche
  • Fix GH-11175 and GH-11177: Stream socket timeout undefined behaviour in GH-11183 by Niels Dossche
  • Fix GH-11178: Segmentation fault in spl_array_it_get_current_data (PHP 8.1.18) in GH-11182 by Niels Dossche
  • Fix GH-11104: STDIN/STDOUT/STDERR is not available for CLI without a script in f6c0c60ef6 by Niels Dossche
  • Implement NEON-accelerated version of BLOCKCONV for lowercasing and uppercasing strings in GH-11161 by Niels Dossche
  • ext/pgsql: pg_cancel_query internal update in 84c185c8ba by David CARLIER
  • Fix GH-11189: Exceeding memory limit in zend_hash_do_resize leaves the array in an invalid state in 05bd1423ee by Bob Weinand
  • ext/pgsql: pg_trace allow to refine its trace mode via 2 new constants in 7ec8ae12c4 by David Carlier
  • Add new test for array_fill() to cover the case when the parameter count is too large in GH-11184 by Julien Quiaios
  • ext/pgsql: pg_lo_read addressing the todo. in GH-11159 by David CARLIER
  • Make SERVER_SOFTWARE compliant with RFC3875 in GH-11093 by Cédric Anne
  • http_response_code should warn if headers were already sent in GH-10744 by Calvin Buckley
  • ext/pgsql adding PGSQL_ERRORS_SQLSTATE constant support in f31d253849 by David CARLIER
  • Fix GH-10031: [Stream] STREAM_NOTIFY_PROGRESS over HTTP emitted irregularly for last chunk of data in GH-10492 by Niels Dossche
  • Fix GH-11141: Could not open input file: should be sent to stderr in GH-11163 by Niels Dossche
  • ext/pgsql: fix pg_trace test when trace mode is supported. in GH-11191 by David CARLIER
  • Add PKCS7_NOOLDMIMETYPE and OPENSSL_CMS_OLDMIMETYPE in fa10dfcc81 by Daniel Kesselberg
  • Add myself as a standard CODEOWNER to not miss some changes in 5690e8baea by Jakub Zelenka 💜
  • Fix GH-11054: Reset OpenSSL errors when using a PEM public key in GH-11055 by Florian Moser
  • Fix maximum argument count of pcntl_forkx() in GH-11199 by Niels Dossche
  • Fix GH-11160: Few tests failed building with new libxml 2.11.0 in GH-11162 by Niels Dossche
  • Correctly copy lineno for zval asts in GH-11203 by Ilija Tovilo 💜
  • Prevent unnecessary string duplication in assert() in GH-11031 by George Peter Banyard 💜
  • ext/standard/array.c: use uint32_t instead of incorrect int type in 646f54b594 by George Peter Banyard 💜
  • Fix GH-11180: hash_file() appears to be restricted to 3 arguments in GH-11198 by Niels Dossche
  • Narrow bool return types to true when possible in 85338569de by Máté Kocsis 💜
  • Add support for true standalone type when generating methodsynopsis in 281669aeb4 by Máté Kocsis 💜
  • Fix gmp_long/gmp_ulong typedef warning on Windows x86 in GH-11112 by Michael Voříšek
  • Fix use-of-uninitialized value in phar_object.c in GH-11202 by Ilija Tovilo 💜
  • Fix use-of-undefined in zend_fiber_object_gc of ex->call in GH-11208 by Ilija Tovilo 💜
  • Remove unnecessary NULL assignments after ecalloc in streams in GH-11209 by Niels Dossche
  • Fix GH-8426: make test fail while soap extension build in GH-11211 by Niels Dossche
  • Fix compilation error on old GCC versions in GH-11212 by Amedeo Baragiola
  • Fix GH-11222: foreach by-ref may jump over keys during a rehash in 975d28e278 by Bob Weinand
  • Narrow some more return types to true in 09dd3e3daf by kocsismate
  • Fix compilation for PHP 8.1 in 8f66b67ccf by Ilija Tovilo 💜
  • Fix potential NULL pointer access in zend_fiber_object_gc in 0a04c008d0 by Ilija Tovilo 💜
  • Keep the orig_path for xport stream in GH-11113 by iamluc
  • Fix delayed early binding class redeclaration error in GH-11226 by Ilija Tovilo 💜
  • Fix GH-10834: exif_read_data() cannot read smaller stream wrapper chunk sizes in GH-10924 by Niels Dossche
  • Fix GH-10461: Postpone FPM child freeing in event loop in 102953735c by Jakub Zelenka 💜
  • Expose JSON internal function to escape string in e8a836eb39 by Jakub Zelenka 💜
  • Fix bug #64539: FPM status - query_string not properly JSON encoded in GH-11050 by Jakub Zelenka 💜
  • FPM: Fix memory leak for invalid primary script file handle in GH-11088 by Jakub Zelenka 💜
  • Fix -Wenum-int-mismatch warning in ext/json/php_json_encoder.h in ac41608797 by Ilija Tovilo 💜
  • Cacheline demote to improve performance in GH-11101 by Sara
  • Implement delayed early binding for classes without parents in 0600f513b3 by Ilija Tovilo 💜
  • Fix segfault in mb_strrpos/mb_strripos with ASCII encoding and negative offset in GH-11220 by Ilija Tovilo 💜
  • Added negative offset test for mb_strrpos in c5a623ba5e by Randy Geraads
  • Fix #9483: Fix autoconf warnings due to old libtool in GH-11207 by Peter Kokot
  • Fix assertion warning message when no description is provided in e35cd34bcd by George Peter Banyard 💜
  • Use uint32_t for variable storing ZEND_NUM_ARGS() in 80c8ca9c8f by George Peter Banyard 💜
  • Use shared, immutable array for return value of mb_list_encodings in 97e29bed9e by Alex Dowad
  • Take order of candidate encodings into account when guessing text encoding in 3ab10da758 by Alex Dowad
  • Use pakutoma's encoding check functions for mb_detect_encoding even in non-strict mode in 7914b8cefd by Alex Dowad
  • Fix #97836 and #81705: Segfault / type confusion in concat_function in GH-10049 by Niels Dossche
  • Allow CTE on more CTE safe functions in GH-10771 by Michael Voříšek
  • Fix FPM status json encoded value test in GH-11276 by Jakub Zelenka 💜
  • Fix GH-11274: POST/PATCH request via file_get_contents + stream_context_create switches to GET after a HTTP 308 redirect in GH-11275 by Niels Dossche
  • Fix -Wstrict-prototypes warnings in fuzzer SAPI in GH-11277 by Niels Dossche
  • Fix GH-11099: Generating phar.php during cross-compile can't be done in GH-11243 by Peter
  • FPM: refactor fpm_php_get_string_from_table() to better match usage in GH-11051 by George Peter Banyard 💜
  • Combine CJK encoding conversion code in a single source file in c717c79a09 by Alex Dowad
  • Optimize conversion of SJIS-2004 text to Unicode in 73633bf1c3 by Alex Dowad
  • Optimize conversion of CP932 text to Unicode in 175154dbcc by Alex Dowad
  • Move kana translation tables to mbfilter_cjk.c in 245daedb41 by Alex Dowad
  • Test mb_strlen for all text encodings supported by mbstring in f337c92050 by Alex Dowad
  • Fix problem with CP949 conversion when 0xC9 precedes byte lower than 0xA1 in 8e6be14372 by Alex Dowad
  • Convert mbfilter_conv{,_r}_map_tbl to return bool in 18ca489347 by Alex Dowad
  • Remove unused variable err in mb_send_mail() in GH-11285 by Niels Dossche
  • Correctly handle multiple constants in typed declaration in c230aa9be3 by Nikita Popov
  • Fix string coercion for $a .= $a in GH-11296 by Ilija Tovilo 💜
  • Fix concat_function use-after-free on out-of-memory error in GH-11297 by Ilija Tovilo 💜
  • Fix GH-11245 (In some specific cases SWITCH with one default statement will cause segfault) in GH-11251 by Niels Dossche
  • Fix the JIT buffer relocation failure at the corner case in GH-11266 by LoongT4o
  • Fix GH-11281: DateTimeZone::getName() does not include seconds in offset in GH-11282 by Niels Dossche
  • PHP-8.2 is now for PHP 8.2.8-dev in d5f68b50fc by Pierrick Charron
  • PHP-8.1 is now for PHP 8.1.21-dev in 2f2fd06be0 by Ben Ramsey
  • ext/session: pass ini options to extra processes in tests in GH-11294 by Mikhail Galanin
  • Fix access on NULL pointer in array_merge_recursive() in GH-11303 by Ilija Tovilo 💜
  • Fix preg_replace_callback_array() pattern validation in GH-11301 by Ilija Tovilo 💜
  • Fix exception handling in array_multisort() in GH-11302 by Ilija Tovilo 💜
  • Use zend_ast_apply in zend_eval_const_expr in GH-11261 by Ilija Tovilo 💜
  • Fix allocation loop in zend_shared_alloc_startup() in GH-11306 by Niels Dossche
  • Allow arbitrary expressions in static variable initializer in GH-9301 by Ilija Tovilo 💜
  • Use single allocation for indirect values in array_multisort in GH-11309 by Ilija Tovilo 💜
  • Access violation when ALLOC_FALLBACK fixed in 8946b7b141 by KoudelkaB
  • Fix GH-11288 and GH-11289 and GH-11290 and GH-9142: DOMExceptions and segfaults with replaceWith in GH-11299 by Niels Dossche
  • Fix zend_jit_stop_counter_handlers() performance issues with protect_memory=1 in GH-11323 by Ilija Tovilo 💜
  • Add tests for list() in assignment in array literals in 8ed66b4347 by Ilija Tovilo 💜
  • Revert "Use zend_ast_apply in zend_eval_const_expr (#11261)" in fbe6696d49 by Ilija Tovilo 💜
  • Fix GCC 12 compilation on riscv64 in 1dfa277a96 by Daniil Gentili
  • Shrink libxml_doc_props struct in GH-11326 by Niels Dossche
  • Fix GH-10234: Setting DOMAttr::textContent results in an empty attribute value in GH-10245 by Niels Dossche
  • Add string output escaping into zend dump (phpdbg + opcache debug) in GH-11337 by Kirill Nesmeyanov
  • Fix return value in stub file for DOMNodeList::item in GH-11342 by divinity76
  • Fix GH-11338: SplFileInfo empty getBasename with more than one slash in GH-11340 by Niels Dossche
  • Fix GH-11336: php still tries to unlock the shared memory ZendSem with opcache.file_cache_only=1 but it was never locked in GH-11341 by Niels Dossche
  • Fix spec compliance error for DOMDocument::getElementsByTagNameNS in GH-11343 by Niels Dossche
  • Fix DOMElement::append() and DOMElement::prepend() hierarchy checks in GH-11344 by Niels Dossche
  • Remove unnecessary tree setting in dom_zvals_to_fragment() in GH-11345 by Niels Dossche
  • Implement dom_get_doc_props_read_only() in GH-11345 by Niels Dossche
  • Fix mb_strlen is wrong length for CP932 when 0x80 in c50172e812 by Yuya Hamada
  • Fix bug GH-11246 cli/get_set_process_title in GH-11247 by James Lucas
  • Fix GH-11347: Memory leak when calling a static method inside an xpath query in GH-11350 by Niels Dossche

@TimWolla, @saundefined, could you please help finish this up?

@pronskiy pronskiy requested a review from saundefined June 6, 2023 20:56
@github-actions
Copy link
Contributor

github-actions bot commented Jun 6, 2023

@github-actions github-actions bot temporarily deployed to pull request June 6, 2023 20:56 Inactive
@saundefined
Copy link
Collaborator

saundefined commented Jun 6, 2023

@pronskiy I guess we can also add few words about PHP 8.2.6 and 8.1.19 (bug fix),
and/or 8.2.7, 8.1.20, 8.0.29 (security), if you plan to publish it after June 8.

And also 8.3.0alpha1 is already tagged.

--

In Support section only Open Collective is listed, what do you think about GH Sponsors?

@Ayesh
Copy link
Collaborator

Ayesh commented Jun 6, 2023 via email

@github-actions github-actions bot temporarily deployed to pull request June 7, 2023 16:19 Inactive
@pronskiy
Copy link
Member Author

pronskiy commented Jun 7, 2023

@saundefined

I guess we can also add few words about PHP 8.2.6 and 8.1.19 (bug fix), and/or 8.2.7, 8.1.20, 8.0.29 (security), if you plan to publish it after June 8.

And also 8.3.0alpha1 is already tagged.

Thanks! I've added PHP 8.2.6 and 8.1.19, the rest we'll mention in the next roundup.

@TimWolla
Copy link
Contributor

TimWolla commented Jun 7, 2023

could you please help finish this up?

I'm not sure what is expected here. I've had a read through it at it appears to be accurate. One small nit with regard to my #[\Override] RFC:

This would help developers to clearly communicate their intentions, and it could also potentially help static analysis tools to catch errors.

The "potentially help static analysis tools" is a little misleading. The RFC explicitly includes that the attribute is actually checked by the engine itself, not just “potentially” and it also does not require the use of external static analysis tools. Quoting from the proposal (highlighting not in the original):

To be able to express the intent in code, a new #[\Override] attribute shall be added. If this attribute is added to a method, the engine shall validate that a method with the same name exists in a parent class or any of the implemented interfaces. If no such method exists a compile time error shall be emitted.

@github-actions github-actions bot temporarily deployed to pull request June 7, 2023 17:46 Inactive
@github-actions github-actions bot temporarily deployed to pull request June 8, 2023 09:00 Inactive
@github-actions github-actions bot temporarily deployed to pull request June 8, 2023 09:07 Inactive
@github-actions github-actions bot temporarily deployed to pull request June 8, 2023 09:10 Inactive
@pronskiy pronskiy merged commit 2e1d56b into ThePHPF:main Jun 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment