Releases: runkit7/runkit7
4.0.0a6: Fix test failures in PHP 8.2 on i386
- Fix test failures for manipulating ReflectionMethod instances in 32-bit i386 builds in php 8.2+.
4.0.0a5: Fix version in Reflection information
- Make version of runkit7 in reflection match PECL version.
4.0.0a4: Fix build failures in php 8.2
- Fix build errors and crash freeing static variables of created functions/methods in php 8.2.0-alpha1-dev
- Fix handling of removed global functions in php 8.2.0beta1.
NOTE: This will cause undefined function Errors thrown by php to use the case of the function call in php 8.2+ instead of being lowercase.
4.0.0a3: Fix build failures in php 8.1, work around errors in php 8.0
- Fix edge case copying internal functions in runkit7_function_redefine
- Avoid conflicts with other extensions that use reserved memory slots for internal function definitions.
- Fix compilation and test errors in php 8.1
- Allow using objects in global constants and class constants in php 8.1+ (https://wiki.php.net/rfc/new_in_initializers)
- Make runkit_constant_redefine fail if the constant does not already exist
- Make runkit_constant_remove/redefine fail on enum cases (support for modifying enum cases is not implemented)
4.0.0a2: Fix build failures in php 8.0, drop runkit7_import support, deprecate runkit aliases
4.0.0a2
- Fix build failure in PECL releases due to missing files in the 4.0.0a1 archive.
- Properly reference count references to file names in php 8.0 when copying functions
4.0.0a1
-
Remove
runkit7_import()
. This had known crashes/segfaults in php 7.3+ that have not been straightforward to fix (after multiple attempts)
due to changes to PHP's internals and changes to late static binding, and offered an incomplete set of functionality.
(e.g. could not override properties)This was also not integrated with runkit7's tracking of manipulated methods/functions/properties.
-
Drop support for php 7.1. Security support for php 7.1 from php-src ended in December 2019
and runkit7 requires a lot of work to verify that changes or new features work correctly with the internals of php in all PHP versions. -
Remove disabled code, constants, and ini settings related to the sandbox feature.
Runkit7 has never supported sandboxes or runkit_lint due to changes to internals in php7 making it impractical. -
Remove runkit7_object_id() - PHP 7.2 adds spl_object_id() to do the same thing.
-
Fix build failure in php 8.0-dev - this extension's support for php 8 is still incomplete and experimental.
-
Add parameter default constant names to reflection (php 8 only).
3.1.0a1: Support php 7.4
- Support php 7.4.
3.0.0: Rename extension and configure options from "runkit" to "runkit7"
Runkit7 3.0 finishes changing this extension's name from "runkit" to "runkit7".
THIS WILL REQUIRE CHANGES TO YOUR BUILD SCRIPTS AND PHP.INI FILES.
This change was made at the request of PECL admins, to comply with naming and packaging standards.
- The compiled shared object name has been changed from
runkit.so
torunkit7.so
(Mac/Linux) andphp_runkit.dll
tophp_runkit7.dll
(Windows)
(php.ini files should be changed to referenceextension=runkit7.so
orextension=php_runkit7.dll
) - The configure flag names have been changed from flags such as
--enable-runkit
/--enable-runkit-modify
to--enable-runkit7
/--enable-runkit7-modify
- Code using
extension_loaded('runkit')
should be changed toextension_loaded('runkit7')
(as well as uses of ReflectionExtension, etc.) - The ini options
runkit.superglobal
andrunkit.internal_override
are unaffected.
Changes in 3.0.0
- Update documentation
- Remove RUNKIT_VERSION
- It is now possible to disable superglobal support (--disable-runkit7-super was fixed)
- Classkit compatibility functions/constants have been removed.
3.0.0a1: Rename extension and configure options from "runkit" to "runkit7"
Runkit7 3.0 finishes changing this extension's name from "runkit" to "runkit7".
THIS WILL REQUIRE CHANGES TO YOUR BUILD SCRIPTS AND PHP.INI FILES.
This change was made at the request of PECL admins, to comply with naming and packaging standards.
- The compiled shared object name has been changed from
runkit.so
torunkit7.so
(Mac/Linux) andphp_runkit.dll
tophp_runkit7.dll
(Windows)
(php.ini files should be changed to referenceextension=runkit7.so
orextension=php_runkit7.dll
) - The configure flag names have been changed from flags such as
--enable-runkit
/--enable-runkit-modify
to--enable-runkit7
/--enable-runkit7-modify
- Code using
extension_loaded('runkit')
should be changed toextension_loaded('runkit7')
(as well as uses of ReflectionExtension, etc.) - The ini options
runkit.superglobal
andrunkit.internal_override
are unaffected.
Other changes:
- It is now possible to disable superglobal support (--disable-runkit7-super was fixed)
- Classkit compatibility functions/constants have been removed.
3.0.0RC1: Update documentation, remove RUNKIT_VERSION constant
Runkit7 3.0 finishes changing this extension's name from "runkit" to "runkit7".
THIS WILL REQUIRE CHANGES TO YOUR BUILD SCRIPTS AND PHP.INI FILES.
This change was made at the request of PECL admins, to comply with naming and packaging standards.
- The compiled shared object name has been changed from
runkit.so
torunkit7.so
(Mac/Linux) andphp_runkit.dll
tophp_runkit7.dll
(Windows)
(php.ini files should be changed to referenceextension=runkit7.so
orextension=php_runkit7.dll
) - The configure flag names have been changed from flags such as
--enable-runkit
/--enable-runkit-modify
to--enable-runkit7
/--enable-runkit7-modify
- Code using
extension_loaded('runkit')
should be changed toextension_loaded('runkit7')
(as well as uses of ReflectionExtension, etc.) - The ini options
runkit.superglobal
andrunkit.internal_override
are unaffected.
Changes in 3.0.0RC1
- Update documentation
- Remove RUNKIT_VERSION
2.1.0: Provide runkit7_*() and RUNKIT7_* aliases
- Add runkit7_() aliases for runkit_() global functions.
- Add RUNKIT7_* aliases for RUNKIT_* global constants.