PHP 8.0 INTERNALS UPGRADE NOTES 1. Internal API changes a. Object Handlers API b. ZEND_OVERLOADED_FUNCTION and corresponding call_method() object handler c. TSRM changes 2. Build system changes a. Abstract b. Unix build system changes c. Windows build system changes 3. Module changes ======================== 1. Internal API changes ======================== a. Object Handlers API and some related functions, e.g. zend_call_method() and zend_objects_clone_obj() were changed to receive zend_object* instead of zval* and zend_string* instead of zval* for property names. b. ZEND_OVERLOADED_FUNCTION and corresponding call_method() object handler were removed. ZEND_INTERNAL_FUNCTION with ZEND_ACC_CALL_VIA_HANDLER and defined "handler" callback should be used instead. This "handler" callback should also take care about function cleanup. See ext/zend_test/test.c for example. c. The following things have been removed from TSRM: - TSRMLS_DC - TSRMLS_D - TSRMLS_CC - TSRMLS_C - TSRMLS_FETCH - TSRMLS_FETCH_FROM_CTX - TSRMLS_SET_CTX - tsrm_new_interpreter_context - tsrm_set_interpreter_context - tsrm_free_interpreter_context - support for GNUPTH, SGI ST, and BETHREADS ======================== 2. Build system changes ======================== a. Abstract b. Unix build system changes 1. --enable-maintainer-zts is renamed --enable-zts for parity with Windows and as recognition that ZTS is not a "maintainer" or experimental feature. c. Windows build system changes ======================== 3. Module changes ========================