Releases: xp-framework/compiler
Releases · xp-framework/compiler
6.0.0: Extended match statement, annotations cleanup
- Added
-q
command line option which suppresses all diagnostic output
from the compiler except for errors
(@thekid) - Removed support for using curly braces as offset (e.g.
$value{0}
)
(@thekid) - Merged PR #92: Add support for explicit octal integer literal notation
See https://wiki.php.net/rfc/explicit_octal_notation (PHP 8.1)
(@thekid) - Merged PR #93: Allow match without expression:
match { ... }
. See
https://wiki.php.net/rfc/match_expression_v2#allow_dropping_true
(@thekid) - Removed support for legacy XP and Hack language annotations, see #86
(@thekid) - Merged PR #96: Enclose blocks where PHP only allows expressions. This
not only allowsfn() => { ... }
but also using blocks inmatch
.
(@thekid)
5.7.0: Compile to XAR
- Verified full PHP 8 support now that PHP 8.0.0 has been released,
see https://www.php.net/archive/2020.php#2020-11-26-3
(@thekid) - Merged PR #95: Support compiling to XAR archives - @thekid
5.6.0: PHP 8 feature completeness
- Merged PR #94: Add support for
static
return type - @thekid - Optimized null-safe instance operator for PHP 8.0 - @thekid
- Added PHP 8.1-dev to test matrix now that is has been branched
(@thekid) - Added support for non-capturing catches, see this PHP 8 RFC:
https://wiki.php.net/rfc/non-capturing_catches
(@thekid)
5.5.0: Union and callable types
5.4.1: PHP 8.0.0RC1 compatibility
5.4.0: RFC 336
- Implemented second step for #86: Add an E_DEPRECATED warning to the
hacklang annotation syntax<<...>>
; details in xp-framework/ast#9
(@thekid) - Merged PR #89: Add annotation type mappings to
TARGET_ANNO
detail
(@thekid) - Changed PHP 8 attributes to be emitted in XP meta information without
namespaces, and with their first characters lowercased. This way, code
using annotations will continue to work, see xp-framework/rfc#336.
(@thekid)
5.3.0: Named arguments for PHP 8
5.2.1: AST library forward compatibility
- Adjusted to
xp-framework/ast
yielding comments as-is, transform
them to the form XP meta information expects.
(@thekid)
5.2.0: PHP 8 attributes, match and nullsafe operator
5.1.3: Allow ::class on objects
- Allowed
::class
on objects (PHP 8.0 forward compatibility) - @thekid