All Versions
Latest Version
Avg Release Cycle
142 days
Latest Release
1841 days ago

Changelog History

  • v2.2.0 Changes

    April 05, 2019

    โš  WARNING: Breaking changes to the ABI and API regarding the Error class

    ๐Ÿš€ Warning: commit dfe4a94 breaks build on PHP7.0 and PHP7.1. Needs fix before proper release

    • ๐Ÿ‘ป Renamed exception to throwable
    • Enumeration Php::Error has been renamed to Php::ErrorType to make room for the new Php::Error class
    • โž• Added new class Php::Error that can be used for throwing errors (PHP7 normally throws errors instead of reporting fatal errors, which is what PHP5 did)
    • ๐Ÿ‘ป Php::Exception is now only used for exceptions and no longer for errors (so extensions can be written to only catch exceptions, and not the errors)
    • โœ‚ Removed support for Exception::file() and Exception::line()
    • A couple of functions that used to report fatal errors, now throw an Php::Error object instead
    • ๐Ÿ›  fixed exception handling for class methods and functions (uncaught Error objects caused a full crash, now they cause a fatal error)
    • ๐Ÿ‘ป when calling an invalid function we no longer throw an exception, but an error
    • ๐Ÿ“‡ renamed ErrorType to Message
    • ๐Ÿ‘ป closures now get an empty string as name because exception handling functions sometimes need access to the name
    • ๐Ÿ›  fixed issue when dealing with optional object parameters
  • v2.1.4 Changes

    March 05, 2019
    • โž• added Php::Stream class
  • v2.1.3 Changes

    February 28, 2019
    • ๐Ÿ‘Œ improved makefile
    • ๐Ÿ›  fixed some valgrind complaints about uninitialized memory
    • fixed the __invoke() and __call() methods: the return value of the C++ function was not passed to php space
  • v2.1.2 Changes

    August 31, 2018
    • ๐Ÿ›  Fix where info->type was not correctly assigned, resulting in garbage being dereferenced (php7.2). fix compilation error for php7.3 regarding the way constants are implemented in zend.
    • info->type is >php7.2 only
    • Always dereference our value, if it is not a reference we get the original back again
    • Constants were not right after all, and the iterator structure is slightly different for 7.3.
    • iterator_funcs is now of pointer type
    • ๐Ÿ›  Fix build on OSX (#391)
    • โž• Added PHP7.3 support
  • v2.1.1 Changes

    August 29, 2018
    • โž• Add automatic builds for g++-4.8 up to g++-8 and clang++-4.0 to clang++-6.0. Also resolves #357 by moving the -shared flag further down on the command line parameters, after the point PHP had the chance to taint them by including the -pie flag.
    • If our zend value is a reference, pass through the reference to retrieve the object class entry
  • v2.1.0 Changes

    June 19, 2018
    • ๐Ÿ‘Œ Support for PHP 7.2
    • ini entries were not always correctly registered when a extension was reloaded
    • โž• Added cmake file to be able to compile PHP-CPP under Windows (#343)
    • โœ‚ Removed hard dependency on sudo (#332)
    • ๐Ÿ”จ Refactored exception code slightly
    • Made the makeReference function non-static, renamed some variables for clarity, reworked parenthesis for consistency and added some missing override statements
    • ๐Ÿ›  Fix #301 - Invalid read when Php::defined() is true
    • ๐Ÿ›  Fix wrong assumption
    • ๐Ÿ‘‰ Make inlines static and unexport them (fix #178)
    • ๐Ÿ› Bug fix for #234 - Setting a PHP::GLOBALS value makes a segfault
    • ๐Ÿ›  Fix 7.1 build
    • debugZval() should be public
    • Rework assignments
    • ๐Ÿ›  Fix #293 - Php::Value::numericValue() does not play well with references
    • ๐Ÿ›  Fix #269 - Process termination when attempting to access object
    • โœ‚ Remove #pragma GCC system_header from zend/includes.h
    • ๐Ÿ›  Fix -Wsign-compare compiler warning
    • Increase refcount of zval, not zend_object
    • ๐Ÿ‘‰ Use EG(scope) to access properties
    • ๐Ÿ›  Fix #261 - Byref
    • ๐Ÿ‘ป Use information from PHP exception
    • ๐Ÿ›  Fix compiler warnings
    • ๐Ÿ›  Fix #281 -Memory Leak in CallPhpFunctions
    • Do not increment reference count more than necessary
    • Use zend_object_std_dtor()
    • ๐Ÿ›  Fix TSRM usage for PHP 7
    • ๐Ÿ‘‰ Make the code compile under ZTS
    • ๐Ÿ›  Fix zval being free()ed too early when retrieving a propery
    • arrayaccess.h: Add missing virtual destructor for interface
  • v2.0.0 Changes

    October 14, 2016

    โž• Added compatibility with PHP7

  • v1.5.3 Changes

    February 25, 2016
    • ๐Ÿ›  Fix compiler errors when compiling for a multi-threading environment.
    • Don't create a std::string with a nullptr
  • v1.5.2 Changes

    October 28, 2015

    ๐Ÿ›  This is a bugfix release

    • ๐Ÿ‘ป Properly handle a Php::Exception when thrown from a serialize method.
    • ๐Ÿ– Handle exceptions thrown from unserialize similar to normal php.
    • ๐Ÿ›  Fix issue with derived classes. closes #211
    • ๐Ÿ›  Fix logic error that caused segfaults for extension-created classes extended from userland using a doc-block
  • v1.5.1 Changes

    October 07, 2015

    ๐Ÿš€ This release only adds some error related functions

    • The php error_reporting function is exposed without any slow Php::call() calls
    • The php set_error_handler function is exposed without any slow Php::call() calls
    • Exposed all of the E_* properties as an enum