PeachPie v0.9.990 Release Notes

Release Date: 2020-06-19 // over 1 year 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

    - 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 of composer.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 was true)