Skip to content

Releases: peachpiecompiler/peachpie

v1.0.10

29 Dec 10:55
Compare
Choose a tag to compare

Maintenance release containing bug fixes.

  • strtotime() respects current timezone (#1009)

v1.0.9

23 Dec 12:54
Compare
Choose a tag to compare

Improvements

  • properties from C#' explicit type declaration can be used in PHP
  • dynamic method call deals with CLR' ref parameters
  • PHP' array implicit cast to C# Dictionary<,> #997
  • dynamic method call implicitly casts between int/long and enum
  • generated IL of array initializers is smaller #1000
  • using MySqlConnector version 2.0.0

Fixes

  • fixes chr() for ascii printable characters #981
  • fixes rawurlencode() to comply with RFC 3986 #998
  • fixes PDO's commit() and rollback() - pending data need to be disposed #990
  • class declaration done as it is in PHP #992
  • fixes type inferring in loops #993
  • cURL requests maintain cookies during subsequent execs #999
  • fixes type inferring in functions with indirect variable access and unset/export/eval/include #1002
  • fixes stream_socket_accept() and $timeout: previous unfinished accept was not ended, socket server was unusable
  • stream_socket_server() handles the stream context "socket" options

v1.0.8

09 Oct 13:55
Compare
Choose a tag to compare

What's Changed

  • fixed empty() and isset() semantic with __isset() and __get() magic methods #979
  • fixed a few library functions argument handling
  • fixed nullability check 18924c9
  • fixed bcmod 00d5cdb
  • added mysqli_fetch_column, fetch_column
  • more fixes

New Contributors

Full Changelog: v1.0.6...v1.0.8

v1.0.6

15 Jun 12:27
Compare
Choose a tag to compare

Next minor release of the PeachPie platform. Implements and fixes the following major issues:

New Features

  • PHP 8.1 language syntax support (never, oct number syntax) (see #959 for progress)
  • smaller emitted IL in case of default value types
  • PdoStatement is enumerable
  • ArrayObject is enumerable
  • memory_limit not reported as unsupported
  • optimizations

Fixes

  • #957 list with nested arrays does not crash the compiler
  • PDO FETCH_COLUMN
  • fixes ArrayObject
  • fixes array key numeric conversions

v1.0.5...v1.0.6

v1.0.5

24 Apr 15:46
Compare
Choose a tag to compare

Next release of the PeachPie platform for .NET. New features, maintenance, mostly fixes.

See the full list of changes at v1.0.0...v1.0.5

Features

  • number conversions are culture invariant
  • avoids some allocations
  • compatible DateTime representation
  • &new operation won't create a referenced value anymore, just a warning diagnostic
  • better debug sequence points
  • parser respects 8bit string literals
  • improved support for System.Nullable{T} CLR type
  • support for System.Decimal CLR type
  • support for value types (structs passed from outside)
  • "date.timezone" option
  • emits smaller IL in general

Fixes

  • nullref issues with printf, spritnf, vsprintf
  • comparison of 8bit string values
  • compilation of ambiguous classes containing trait uses
  • and more!

v1.0.0-preview5

11 Jan 13:08
Compare
Choose a tag to compare
v1.0.0-preview5 Pre-release
Pre-release

https://www.nuget.org/packages/Peachpie.NET.Sdk/1.0.0-preview5

5th preview release: mainly fixes bugs and implements more or PHP's BCL

Release highlights:

Improvements & Compatibility

  • casting double to string respects invariant culture a960e1f
  • ReflectionAttribute::newInstance()
  • bcmath implementation
  • get_mangled_object_vars()
  • updates ini options
  • fscanf(), vfprintf()
  • password_algos()
  • PhpToken, token_name()

ASP.NET

  • correct session_name() on asp.net 7416187
  • session state is shared with $_SESSION items

Fixes

  • NullReferenceException when compiling an empty attribute
  • NullReferenceException when function returns void #887
  • sscanf() with more than one output parameter #889
  • PCRE \p followed by single letter #886
  • duplicit Compile items #890
  • empty type information infered by compiler #882
  • .NET indexers readded (e.g. access to Dictionary) 65e01e3

v1.0.0-preview4

05 Dec 15:07
Compare
Choose a tag to compare
v1.0.0-preview4 Pre-release
Pre-release

The 4th preview release introduces performance improvements, new features, and fixes.

New Features

  • emitting and understanding C#-8 like nullability context
  • compiler evaluates more expressions, arithmetic, file_exists(), constants, inclusions
  • simplified emitted code for functions that return a value or FALSE
  • improved type analysis
  • nested CLR classes can be used

ASP.NET Core

  • PHP warnings and notices logged using Microsoft.Extensions.Logging.ILoggerFactory
  • enabled support for composer autoload-files
  • correct resolution of requested script

PHP 8.0 Compatibility

  • initial support for PHP 8 attributes
  • constructor properties
  • union types
  • str_contains(), fdiv(), Stringable, ValueError, etc.
  • T_* constants
  • ReflectionAttribute

see #765 for the progress on PHP 8 compatibility

Fixes

  • library functions updated
  • library functions signature compatible with PHP
  • removed functions and classes that supposed to be internal
  • library functions categorized under correct extension names
  • PDO fetchAll() fix for FETCH_GROUP
  • DateInterval, curl_multi, wordwrap() fixes
  • each() correctly copies returned value

v1.0.0-preview3

20 Oct 16:09
Compare
Choose a tag to compare
v1.0.0-preview3 Pre-release
Pre-release

Third preview release fixes and implements the following features:

  • Implements curl_reset() (fixes guzzle)
  • asp net core request handler understands the requested path info
  • double to string conversion respect the PHP notation (INF, NAN)
  • fstat on Unix
  • SimpleXmlElement is json serializable
  • more eventual runtime error messages
  • fewer allocations in runtime and libraries
  • fixed autoloading mechanism when there are PHPDoc comment in the file (improves perf. of composer packages)
  • fixed invalid IL generated by typed __invoke function (fixes guzzle)
  • fixed stream_select() on SSL sockets (fixes SMTP plugin iolevel/wpdotnet-sdk#70)
  • fixed array_merge and array_merge_recursive (fixes Elementor plugin iolevel/wpdotnet-sdk#90)
  • fixed reflection of variadic function parameters (noticeable in case of max and min)

v1.0.0-preview2

04 Oct 17:50
Compare
Choose a tag to compare
v1.0.0-preview2 Pre-release
Pre-release

This release fixes the previous 1.0.0-preview1 release.

  • PHP 8 Stringable interface
  • added set_time_limit()
  • added Sdk property: $(BasePath)
  • emits debug sequence points for property initializers
  • fixes run of phpunit project
  • DirectoryIterator and SplFileInfo uses internal stream wrappers
  • phar stream wrappers for file_exists()
  • fixes array_unique()
  • fixes DateInterval
  • fix: property initializer can be a conditional expression
  • fix: compile-time conversion from void to NULL

v1.0.0-preview1

02 Sep 13:11
Compare
Choose a tag to compare
v1.0.0-preview1 Pre-release
Pre-release

This release is the first preview of the upcoming version 1.0.0. NuGet packages are versioned as 1.0.0-preview1. See https://www.peachpie.io/getstarted for creating new projects with PeachPie. Update existing projects by changing the version accordingly.

What's new

Supported PHP 8.0 features

  • Non-capturing catches
  • Throw expression
  • match expression
  • ::class on variables
  • union types
  • Trailing comma in parameter lists
  • Constructor property promotion

Improvements

  • base class library fixes
  • parsing HEREDOC fixes
  • parse_ini improvements
  • XML and DOM updates
  • stability improvements
  • performance improvements (fewer allocations)

ASP.NET Core integration

  • add support for netstandard2.0 (netstandard2.0, netstandard2.1, netcoreapp3.0, netcoreapp3.1, net5.0)
  • new API for request handling app.UsePhp( options ) and services.AddPhp( options )
  • see https://docs.peachpie.io/net/hosting/aspnetcore/ for details