Skip to content

Releases: xp-framework/compiler

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)

6.3.2: Anonymous child classes

14 Mar 10:18
Compare
Choose a tag to compare
  • Allowed new class() extends self inside class declarations - @thekid

6.3.1: Cloning fix

14 Mar 09:03
Compare
Choose a tag to compare
  • Fix being able to clone enum lookalikes - @thekid
  • Fix clone operator - @thekid

6.3.0: PHP enum support

13 Mar 15:51
Compare
Choose a tag to compare
  • Merged PR #106: Compile PHP enums to PHP 7/8 lookalikes, PHP 8.1 native.
    (@thekid)

6.2.0: Arbitrary expressions as initializers

06 Mar 17:26
Compare
Choose a tag to compare
  • Merged PR #104: Support arbitrary expressions in property initializations
    and parameter defaults
    (@thekid)

6.1.1: Nullable types fixes

22 Feb 19:13
Compare
Choose a tag to compare

6.1.0: Show languages and emitters

04 Jan 12:46
Compare
Choose a tag to compare
  • Included languages and emitters in xp compile output - @thekid