Skip to content

v1.1.11

Latest
Compare
Choose a tag to compare
@jakubmisek jakubmisek released this 20 Feb 14:52
· 15 commits to master since this release

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 using params ReadOnlySpan<PhpValue> instead of the legacy params PhpValue[].
    • Use of ArrayPool across the library to avoid array allocations.
  • 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.