PeachPie v0.9.990 Release Notes
Release Date: 2020-06-19 // almost 5 years ago-
BCL
- more image* functions
- more PDO constants
- some PHP 8 functions
- ⚡️ pcre update, support for newline modifiers
- SimpleXMLElement::saveXML
Compiler:
- include resolved in compile time if possible
- more diagnostics
- traits CLI names sanitized
- cleaner compilation of func_get_args()
- 👌 improved analysis perf
- 👍 arrow functions support
- PHP7+ doublequoted string unicode codepoints
ASP.NET Core
- ➕ AddPhp() with options
- referenced PHP scripts added automatically (no need to specify website dll)
PHP 8.0
- bcl functions
- property can be set to 8.0
- throw expressions
- non-capturing catch
- trailing comma in param list
mixed
type- constructor property promotion
- 📜 all the syntax parsed, the rest of features ignored
🛠 Fixes
- json_last_error() resets after json_encode()
- request handler nullref fix
- deadlock fix in high load
- nonblocking aspnetcore request handler
finally
block fix in generators- indexer for CLR types
Sdk:
- checks composer.json versions and spdx validity
- sdk adds references to specific PDO driver from information in "require" section
Previous changes from v0.9.980
-
BCL
shell_exec
on Unix fixes (iolevel/wpdotnet-sdk#76)- PDOStatement::errorInfo(), PDOStatement::errorCode(), PDOException::errorInfo (#234)
- PDO named parameters in format
:name
supported (#748) base64_decode()
strictness (#739, iolevel/wpdotnet-sdk#70)fastcgi_finish_request()
(#737)- updated MySql connector
- PCRE support for UTF-8 byte sequences (#738)
Compiler
yield
from try/catch/finally (#604)
-
return
from finally📄 Composer Autoloading (https://docs.peachpie.io/php/composer-json/)
"autoload"
section ofcomposer.json
is processed in build time- autoloaded classes annotated in build time
- autoloading is optimized by compiler and runtime
- autoloading does not need generated autoload stubs, handled in runtime implicitly
ASP.NET Core
- referenced PHP projects loaded automatically (ScriptLibraries option only needed to restrict what assemblies to be loaded)
- request timeout and request end support
$_SERVER['HTTPS']
set to '"on"' on secure connections (previously it wastrue
)