Skip to content

Releases: CopernicaMarketingSoftware/PHP-CPP

PHP-CPP 2.3.3

14 Jun 09:51
Compare
Choose a tag to compare
  • Fixed PHP 7.4 issue (because of new values for C constants, interfaces were suddenly registered as abstract classes)

PHP-CPP 2.3.2

10 Jun 12:44
Compare
Choose a tag to compare
  • Fixed version number (the 2.3.1 release was still creating a 2.3.0 shared object file)

PHP-CPP 2.3.1

10 Jun 11:30
Compare
Choose a tag to compare
  • Fixed issue for PHP 7.4 with interfaces that extend from other interfaces

PHP-CPP 2.3.0

19 Oct 07:13
Compare
Choose a tag to compare
  • Support for PHP 7.4
  • C++ classes that derive from Php::Traversable now automatically also implement "Traversable" in PHP space ("instanceof" operator now works)
  • C++ classes that derive from Php::Serializable now automatically also implement "Serializable" in PHP space ("instanceof" operator now works)
  • Performance optimization for destructing objects
  • Some small improvements and fixes to the building procedures with cmake
  • Fixed some mistakes in example code

PHP-CPP 2.2.0

05 Apr 10:43
d4ef49a
Compare
Choose a tag to compare
PHP-CPP 2.2.0 Pre-release
Pre-release

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

PHP-CPP 2.1.4

05 Mar 11:54
7b975bd
Compare
Choose a tag to compare
  • added Php::Stream class

PHP-CPP 2.1.3

28 Feb 16:49
94fd45d
Compare
Choose a tag to compare
  • 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

PHP-CPP 2.1.2

31 Aug 13:10
3a7a81f
Compare
Choose a tag to compare
  • 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

PHP-CPP 2.1.1

29 Aug 09:19
da2054c
Compare
Choose a tag to compare
  • 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

PHP-CPP 2.1.0

19 Jun 11:32
95f81b8
Compare
Choose a tag to compare
PHP-CPP 2.1.0 Pre-release
Pre-release
  • 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