Skip to content

Releases: xp-framework/compiler

6.10.0: Target runtimes

12 Sep 07:57
Compare
Choose a tag to compare
  • Implemented feature request #123: Use php:X.Y instead of PHP.X.Y
    for target runtimes. The older syntax is still supported!
    (@thekid)

6.9.0: Readonly properties

11 Sep 22:45
Compare
Choose a tag to compare
  • Merged PR #124: Add support for readonly properties. Implements feature
    request #115, using native code for PHP 8.1 and simulated via virtual
    properties for PHP 7.X and PHP 8.0
    (@thekid)

6.8.3: Promoted property types fix

11 Sep 12:55
Compare
Choose a tag to compare
  • Fixed types not being emitted for promoted properties - @thekid

6.8.2: Extraneous operators fix

09 Sep 18:39
Compare
Choose a tag to compare
  • Fixed Call to undefined method ...::emitoperator()) which do not
    provide any context as to where an extraneous operator was encountered.
    (@thekid)

6.8.1: Enum constants fix

16 Aug 19:25
Compare
Choose a tag to compare
  • Fixed issue #122: Undefined constant Sources::FromEmpty (when using
    PHP 8.1 native enumerations in PHP 8.0 and lower and the JIT compiler)
    (@thekid)

6.8.0: Intersection types

04 Aug 09:56
Compare
Choose a tag to compare
  • Merged PR #120: Support for PHP 8.1 intersection types, accessible via
    reflection in all PHP versions, and runtime type-checked with 8.1.0+
    (@thekid)

6.7.0: Native callable syntax

12 Jul 19:37
Compare
Choose a tag to compare
  • Changed emitter to omit extra newlines between members, making line
    numbers more consistent with the original code.
    (@thekid)
  • Merged PR #114: Implements first-class callable syntax: strlen(...)
    now returns a closure which if invoked with a string argument, returns
    its length. Includes support for static and instance methods as well as
    indirect references like $closure(...) and self::{$expression}(...),
    see https://wiki.php.net/rfc/first_class_callable_syntax
    (@thekid)

6.6.0: Performance, code coverage improvements

10 Jul 12:23
Compare
Choose a tag to compare
  • Emit null-coalesce operator as $a ?? $a= expression instead of as
    $a= $a ?? expression, saving one assignment operation for non-null
    case. Applies to PHP 7.0, 7.1 and 7.2.
    (@thekid)
  • Removed conditional checks for PHP 8.1 with native enum support, all
    releases and builds available on CI systems now contain it.
    (@thekid)
  • Increased test coverage significantly (to more than 90%), especially
    for classes used by the compiler command line.
    (@thekid)

6.5.0: Declare directives

22 May 13:30
Compare
Choose a tag to compare
  • Merged PR #111: Add support for directives using declare - @thekid

6.4.0: Never return type

25 Apr 08:59
Compare
Choose a tag to compare
  • Merged PR #110: Rewrite never return type to void in PHP < 8.1, adding
    support for this PHP 8.1 feature. XP Framework reflection supports this
    as of its 10.10.0 release.
    (@thekid)