Releases: pinepain/php-ref
Drop unused platforms
Drop unused features and fix bugs
NOTE: this release drops PHP 7.0 support!. Since php-ref 0.5.0 PHP >= 7.1 required!
This release fix bugs, drop unused feature and soon to be EOL PHP 7.0 (see http://php.net/supported-versions.php for details).
Changelist:
- Drop PHP < 7.1 support (BC-breaking);
- Remove array notifier in a favor of callback (BC-breaking);
- Remove references comparison (BC-breaking);
- Fix bug when object handle reused but previous state was not clean;
- Fix wrong behavior when reference get deleted during notifier call;
- Fix memleaks;
Improve PHP 7.2 compatibility
This release improves PHP 7.2 compatibility support
Changes:
- Restore original referent obj handler when it is no longer tracked.
Add PHP 7.2 compatibility
This release adds PHP 7.2 compatibility
Drop PHP < 7.0.3 support
This is a maintenance release which drops PHP < 7.0.3 support.
Fix references behavior
This release:
- fixes problem when false
Ref\NotifierException
thrown during object destruction if non-caught exception was thrown before such destruction (outside notifiers and referent object destructor) (#17); - do not call soft notifiers if original object was prevented from being destroyed in one of notifiers (#18).
Rename extension from weak to ref
This release:
- rename extension from
weak
toref
; - rename
Weak
namespace toRef
; - rename
Reference
class toWeakReference
.
NOTE: BC breaking changes introduced
Add SoftReference
Add SoftReference
to invoke notifiers before object being destroyed.
Invoke all notifiers even if one of previous or dtor throw an exception
All callable notifiers now will be invoked even in case referent object destructor or one of previous callable notifiers throw exception.
Now all callable notifiers will be invoked and general Weak\NotifierException
exception will be thrown. All thrown exception from dtor and notifiers will be available via Weak\NotifierException::getExceptions()
method invocation on thrown exception.
Fix bogus IS_OBJECT typehints without specifying class name
Fix ReflectionType::__toString()
segfault on such bogus parameters and return types