Release 1.1.11
is here!
What's new?
- PHP 8.4 parser, although not all PHP 8.4 constructs are supported. This update mainly improves compilation speed and memory usage.
- Support for typed class constants.
- Better support for SQLite, thanks to @arontsang #1152 .
- SplFileObject support for CSV parsing.
Performance
- Compilation time has been improved thanks to the updated parser and reduced allocations in general.
- Runtime performance improvements; mainly because of reduced allocations during runtime and lower GC pressure.
- Thanks to @arontsang for his
IPhpCallable.Invoke()
implementation usingparams ReadOnlySpan<PhpValue>
instead of the legacyparams PhpValue[]
. - Use of
ArrayPool
across the library to avoid array allocations.
- Thanks to @arontsang for his
- Fixed analysis of
compact()
which broke type analysis - this fix improves WordPress performance on a few places. - Fixed analysis of local variables if there are more than 32 of them - this broke type analysis.
Fixes
There are many minor fixes to the compiler and runtime. The most significant fix addresses type analysis of local variables. Please see the commits for details.