uopz: Changelog

Version Message
7.1.0 - uopz_implement and uopz_extend have been dropped
- internal rewrite to improve stability and simplify
7.0.0 - Fix #145 uopz_find_hook segfault with PHP 8.0
- Fix #140 segfault with PHPUnit 9.5 caused by uopz_del_function
- Don't remove methods of immutable classes
- PHP 8 support
- Drop PHP 7 support
6.1.2 - make UOPZ compatible with Xdebug again (2.9.4+ required)
6.1.1 - Fix compatibility with 7.4.0RC1
- Fix gh#110 uopz_set_mock function does not work if xdebug is loaded
6.1.0 - Fix #109 uopz_set_hook closure receive extra arguments when function call
through call_user_func and call_user_func_array
- 7.4 support
6.0.1 - Add "uopz.exit" configuration option, to allow the execution of exit
opcodes or not (default=0 to keep current behavior)
- Improve opcache optimizer compatibility
- Display ini settings in module info
6.0.0 - Breaking change to uopz_set_mock: now behaves like the old test-helpers new overload
- Fixed redefine/undefine namespaced constants
- Fix flags being ignored when adding functions
- Remove executor hook for maximum compatibility
5.1.0 - Fix #89 uopz_flags bugs on 64bit windows
- Fix #87 segfault when hook throws fatal error
- Fix #86 interface support for uopz_set_return
- Fix #85 cuf/cufa bugs
- Fix #76 uopz_extend changing linkage
- Fix #73 cuf/cufa bugs
- Fix #68 hang when using anon class as mock
- Fix #64 segfault after uopz_set_static
- Fix #63 class constant redefinition depends on opcache
- Fix #61 mocking not working with xdebug
- Fix #51 hooks and returns bug
- Fix #42 uopz_set_mock not working in some cases
- Fix PHP 7.3 compatibility
5.0.2 - add uopz.disable ini switch (default 0)
- fix gh#43: setting hook on __invoke method doesn't work on call_user_func
- fix gh#48: segmentation fault (uopz_set_return)
- add 4 new functions:
- uopz_call_user_func(callable function, ... args)
- uopz_get_exit_status()
- uopz_allow_exit(bool allow)
- uopz_call_user_func_array(callable function, array args)
- fix PHP 7.1 compatibility
- fix PHP 7.2 compatibility
5.0.1 - PHP 7 compatibility
- new API, see documentation
2.0.7 fix bug in overriding methods in classes loaded prior to override
add ability to send object from ZEND_NEW handler
send exit parameter to overload function
fix bug in handling exit status code when overloading disabled
set exit status code when overloading enabled from return value
2.0.6 fix builds with >= 50600 (zend_is_true changes)
2.0.5 fix issue when closure in static scope replaces method
2.0.4 set overloads to 0 by default
2.0.3 fix leaks in FETCH_CLASS ADD_TRAIT and ADD_INTERFACE overloads
2.0.2 disable overloads by configuration
add uopz_flags function
2.0.1 fix build error in some setups
2.0.0 API finalized, no moar changes
fix logical error in uopz_extend
fix logical errors in uopz_compose
enforce using correct handlers (stability++)
fix scope issue in global functions created with uopz_function
take modifiers to uopz_function for global functions
fix bug in uopz_delete on magic methods
1.0.11 fix unresolved external symbols on some builds
fix bug in overload for add trait/interface
1.0.10 take properties to compose
1.0.9 fix bug in finding functions, affecting various
add more tests
1.0.8 fix bug in applying method modifiers
work on uopz_compose, compose classes in one function call is possible
1.0.7 fix bug in applying method modifiers
1.0.6 fix memory error causing segfault in auto backup
allow composition of interfaces and traits
enforce inheritance rules while composing classes
1.0.5 fix various scope issues
use exceptions where appropriate
tidy all code
add some more tests
1.0.4 add copy
fix various scope issues
fix heap corruption issue
auto backup on uopz_function
1.0.3 allow overriding static scope on created methods
add backup/restore functions (auto restore internal functions)
1.0.2 allow compose to take constructor
apply magic to methods created with uopz_function
capture class scope for created methods
1.0.1 fix compatibility with 5.4
1.0.0 First release