PHP 8.4: Erster Release Candidate gibt Einblicke in finale Version
Der erste RC zu PHP 8.4 bietet Optimierungen in BcMath, neue Curl-Optionen, zahlreiche Fehlerkorrekturen und zusätzliche Methoden in der Reflection-API.
Für die Programmiersprache PHP liegt der erste Release Candidate für die kommende Version 8.4 vor. Er bietet Einblicke in die kommenden neuen Funktionsweisen und dient als Testversion vor der finalen Veröffentlichung, die für den 21. November geplant ist.
Zu den Neuerungen zählen unter anderem Optimierungen in der BcMath-Erweiterung, die neue Curl-Option CURLOPT_DEBUGFUNCTION
, zahlreiche Korrekturen in DOM, MBString und Opcache, sowie zusätzliche Methoden in der Reflection-API. Das Update zielt auf die Steigerung der Leistung und Stabilität der Programmiersprache ab.
BcMath und Curl
Im Bereich BcMath (Binary Calculator Mathematics) – eine PHP-Erweiterung, die Funktionen für die exakte Berechnung von großen Zahlen und Dezimalzahlen mitbringt – hat das Entwicklerteam Leistungsoptimierungen an der Funktion bcpow()
vorgenommen und eine ĂśberprĂĽfung auf SkalenĂĽberlauf (Scale Overflow) hinzugefĂĽgt. Mit der neuen Funktion bcdivmod
lassen sich der Quotient und der Rest einer Division gleichzeitig berechnen. Zudem hat das Entwicklerteam ein Problem bearbeitet, das offenbar das Umwandeln von Objekten in Strings bei Operatorberechnungen verhindert hat.
PHP 8.4 RC 1 integriert die Option CURLOPT_DEBUGFUNCTION
für die Curl-Erweiterung, was erweiterte Debugging-Möglichkeiten zur Verfügung stellt. Im Bereich Debugging beseitigt die kommende Version einen Fehler im Zusammenspiel mit dem Debugging-Tool GDB, der eine TypeError
-Exception verursachte.
DOM- und MBString-Erweiterung
Die DOM-Erweiterung erfuhr mehrere Korrekturen. Die Entwicklerinnen und Entwickler hinter der Programmiersprache haben dafĂĽr gesorgt, dass die Serialisierung von xmlns=""
nun offenbar korrekt behandelt wird. AuĂźerdem haben sie einen Assertion-Fehler in ext/dom/element.c
und ein Problem beim ZurĂĽcksetzen von DOM-Eigenschaften behoben.
In der MBString-Erweiterung gab es laut Release Notes einen Fehler in mb_detect_encoding()
, der eine ungĂĽltige Kodierung "UTF8" enthielt. Das Update aktualisiert die Unicode-Datentabellen auf Unicode 16, was eine bessere UnterstĂĽtzung fĂĽr neuere Zeichen erlaubt.
Opcache und PHPDBG
Der Opcache erhält wichtige Updates, darunter die Behebung eines Segmentierungsfehlers und die Einführung der Funktion opcache_jit_blacklist()
, die bestimmte Funktionsweisen von der Just-in-Time-Kompilierung (JIT) ausschlieĂźt. In der PHPDBG-Erweiterung hat das Entwicklerteam einen Assertion-Fehler beseitigt und Use-After-Free-Probleme in der PCRE-Bibliothek (Perl Compatible Regular Expressions) korrigiert. UAF-Probleme sind eine Art von SicherheitslĂĽcke, die in Software auftreten kann, wenn ein Programm nach der Freigabe eines Speicherbereichs weiterhin auf diesen zugreift.
Das Release umfasst neben den genannten Neuerungen weitere Optimierungen in der PDO_PGSQL-Erweiterung, zusätzliche Methoden in der Reflection-API, Fehlerkorrekturen in SimpleXML und SOAP, sowie Überarbeitungen in den Bereichen SPL, Streams, TSRM und Windows-Unterstützung.
Nährere Informationen zum ersten Release Candidate zu PHP 8.4 finden sich in den Release Notes auf GitHub.
(mdo)