mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
bump version, empty NEWS, UPGRADING and UPGRADING.INTERNALS
This commit is contained in:
78
NEWS
78
NEWS
@@ -1,81 +1,5 @@
|
||||
PHP NEWS
|
||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||
?? ??? 20??, PHP 5.6.0
|
||||
|
||||
- Core:
|
||||
. Improved IS_VAR operands fetching. (Laruence, Dmitry)
|
||||
. Implemented internal operator overloading
|
||||
(RFC: https://wiki.php.net/rfc/operator_overloading_gmp). (Nikita)
|
||||
. Made calls from incompatible context issue an E_DEPRECATED warning instead
|
||||
of E_STRICT (phase 1 of RFC: https://wiki.php.net/rfc/incompat_ctx).
|
||||
(Gustavo)
|
||||
. Uploads equal or greater than 2GB in size are now accepted.
|
||||
(Ralf Lang, Mike)
|
||||
. Reduced POST data memory usage by 200-300%. Removed INI setting
|
||||
always_populate_raw_post_data and the $HTTP_RAW_POST_DATA global
|
||||
variable. (Mike)
|
||||
. Implemented dedicated syntax for variadic functions
|
||||
(RFC: https://wiki.php.net/rfc/variadics). (Nikita)
|
||||
. Fixed bug #50333 Improving multi-threaded scalability by using
|
||||
emalloc/efree/estrdup (Anatol, Dmitry)
|
||||
|
||||
- cURL:
|
||||
. Implemented FR #65646 (re-enable CURLOPT_FOLLOWLOCATION with open_basedir
|
||||
or safe_mode). (Adam)
|
||||
|
||||
- GMP:
|
||||
. Moved GMP to use object as the underlying structure and implemented various
|
||||
improvements based on this.
|
||||
(RFC: https://wiki.php.net/rfc/operator_overloading_gmp). (Nikita)
|
||||
|
||||
- Hash:
|
||||
. Added gost-crypto (CryptoPro S-box) GOST hash algo. (Manuel Mausz)
|
||||
|
||||
- mysqlnd:
|
||||
. Disabled flag for SP OUT variables for 5.5+ servers as they are not natively
|
||||
supported by the overlying APIs. (Andrey)
|
||||
|
||||
- OPcache:
|
||||
. Added an optimization pass to convert FCALL_BY_NAME into DO_FCALL.
|
||||
(Laruence, Dmitry)
|
||||
. Added an optimization pass to merged identical constants (and related
|
||||
cache_slots) in op_array->literals table. (Laruence, Dmitry)
|
||||
. Added script level constant replacement optimization pass. (Dmitry)
|
||||
|
||||
- Openssl:
|
||||
. Added crypto_method option for the ssl stream context. (Martin Jansen)
|
||||
. Added certificate fingerprint support. (Tjerk Meesters)
|
||||
. Added explicit TLSv1.1 and TLSv1.2 stream transports. (Daniel Lowrey)
|
||||
. Fixed bug #65729 (CN_match gives false positive). (Tjerk Meesters)
|
||||
|
||||
- PDO_pgsql:
|
||||
. Fixed Bug #42614 (PDO_pgsql: add pg_get_notify support). (Matteo)
|
||||
. Fixed Bug #63657 (pgsqlCopyFromFile, pgsqlCopyToArray use Postgres < 7.3
|
||||
syntax). (Matteo)
|
||||
|
||||
- Session:
|
||||
. Fixed Bug #65315 (session.hash_function silently fallback to default md5)
|
||||
(Yasuo)
|
||||
. Implemented Request #54649 (Create session_serializer_name()). (Yasuo)
|
||||
. Implemented Request #17860 (Session write short circuit). (Yasuo)
|
||||
. Implemented Request #20421 (session_abort() and session_reset() function).
|
||||
(Yasuo)
|
||||
. Implemented Request #11100 (session_gc() function). (Yasuo)
|
||||
|
||||
- Standard:
|
||||
. Implemented FR #65634 (HTTP wrapper is very slow with protocol_version
|
||||
1.1). (Adam)
|
||||
. Implemented Change crypt() behavior w/o salt RFC. (Yasuo)
|
||||
https://wiki.php.net/rfc/crypt_function_salt
|
||||
|
||||
- XMLReader:
|
||||
. Fixed bug #55285 (XMLReader::getAttribute/No/Ns methods inconsistency).
|
||||
(Mike)
|
||||
|
||||
- Zip:
|
||||
. update libzip to version 1.11.1.
|
||||
PHP don't use any ilibzip private symbol anymore. (Pierre, Remi)
|
||||
. new method ZipArchive::setPassword($password). (Pierre)
|
||||
. add --with-libzip option to build with system libzip. (Remi)
|
||||
?? ??? 20??, PHP 5.7.0
|
||||
|
||||
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>
|
||||
|
||||
72
UPGRADING
72
UPGRADING
@@ -20,32 +20,11 @@ PHP X.Y UPGRADE NOTES
|
||||
1. Backward Incompatible Changes
|
||||
========================================
|
||||
|
||||
- Core:
|
||||
Removed $HTTP_RAW_POST_DATA global variable. Restore backwards compatibility
|
||||
by:
|
||||
<?php
|
||||
global $HTTP_RAW_POST_DATA;
|
||||
if (!isset($HTTP_RAW_POST_DATA)) {
|
||||
$HTTP_RAW_POST_DATA = file_get_contents("php://input");
|
||||
}
|
||||
?>
|
||||
|
||||
========================================
|
||||
2. New Features
|
||||
========================================
|
||||
|
||||
- Added dedicated syntax for variadic functions.
|
||||
(https://wiki.php.net/rfc/variadics)
|
||||
|
||||
- The php://input stream is now re-usable and can be used concurrently with
|
||||
enable_post_data_reading=0.
|
||||
|
||||
- Added gost-crypto (CryptoPro S-box) hash algo.
|
||||
|
||||
- Added openssl certificate fingerprint support (inclusive stream context
|
||||
option).
|
||||
|
||||
- Added openssl crypto method stream context option.
|
||||
|
||||
========================================
|
||||
2. Changes in SAPI modules
|
||||
@@ -56,38 +35,16 @@ PHP X.Y UPGRADE NOTES
|
||||
3. Deprecated Functionality
|
||||
========================================
|
||||
|
||||
- Incompatible context calls:
|
||||
Instance calls from an incompatible context are now deprecated and issue
|
||||
E_DEPRECATED instead of E_STRICT. See https://wiki.php.net/rfc/incompat_ctx
|
||||
|
||||
========================================
|
||||
4. Changed Functions
|
||||
========================================
|
||||
|
||||
- cURL:
|
||||
CURLOPT_SAFE_UPLOAD is now turned on by default and uploads with @file
|
||||
do not work unless it is explicitly set to false.
|
||||
|
||||
- Crypt:
|
||||
crypt() will now raise an E_NOTICE error if the salt parameter is omitted.
|
||||
See: https://wiki.php.net/rfc/crypt_function_salt
|
||||
|
||||
- XMLReader:
|
||||
XMLReader::getAttributeNs and XMLReader::getAttributeNo now return NULL if
|
||||
the attribute could not be found, just like XMLReader::getAttribute.
|
||||
|
||||
========================================
|
||||
5. New Functions
|
||||
========================================
|
||||
|
||||
- Openssl:
|
||||
Added string openssl_x509_fingerprint($x509, $type, $binary).
|
||||
|
||||
- LDAP:
|
||||
Added ldap_escape($value, $ignore = "", $flags = 0).
|
||||
|
||||
- Zip:
|
||||
Added ZipArchive::setPassword($password)
|
||||
|
||||
========================================
|
||||
6. New Classes and Interfaces
|
||||
@@ -103,47 +60,18 @@ PHP X.Y UPGRADE NOTES
|
||||
8. Other Changes to Extensions
|
||||
========================================
|
||||
|
||||
- GMP:
|
||||
The GMP extension now uses objects as the underlying data structure, rather
|
||||
than resources. GMP instances now support dumping, serialization, cloning,
|
||||
casts to primitive types and have overloaded operators.
|
||||
(RFC: https://wiki.php.net/rfc/operator_overloading_gmp)
|
||||
|
||||
- OCI8:
|
||||
- Added Implicit Result Set support for Oracle Database 12c with a
|
||||
new oci_get_implicit_resultset() function.
|
||||
- Using 'oci_execute($s, OCI_NO_AUTO_COMMIT)' for a SELECT no longer
|
||||
unnecessarily initiates an internal ROLLBACK during connection
|
||||
close.
|
||||
- Added DTrace probes enabled with PHP's generic --enable-dtrace
|
||||
- The oci_internal_debug() function is now a no-op.
|
||||
- The phpinfo() output format for OCI8 has changed.
|
||||
|
||||
========================================
|
||||
9. New Global Constants
|
||||
========================================
|
||||
|
||||
- LDAP:
|
||||
LDAP_ESCAPE_FILTER int(1)
|
||||
LDAP_ESCAPE_DN int(2)
|
||||
|
||||
========================================
|
||||
10. Changes to INI File Handling
|
||||
========================================
|
||||
|
||||
- Core:
|
||||
Removed always_populate_raw_post_data.
|
||||
|
||||
========================================
|
||||
11. Other Changes
|
||||
========================================
|
||||
|
||||
- File upload:
|
||||
Uploads equal or greater than 2GB in size are now accepted.
|
||||
|
||||
- HTTP stream wrapper:
|
||||
HTTP 1.1 requests now include a Connection: close header unless explicitly
|
||||
overridden by setting a Connection header via the header context option.
|
||||
|
||||
- Zip:
|
||||
New --with-libzip option allow to use system libzip. Version > 0.11 required.
|
||||
|
||||
@@ -17,108 +17,9 @@ UPGRADE NOTES - PHP X.Y
|
||||
1. Internal API changes
|
||||
========================
|
||||
|
||||
a. Addition of do_operation and compare object handlers
|
||||
|
||||
Two new object handlers have been added:
|
||||
|
||||
do_operation:
|
||||
typedef int (*zend_object_do_operation_t)(
|
||||
zend_uchar opcode, zval *result, zval *op1, zval *op2 TSRMLS_DC
|
||||
);
|
||||
|
||||
compare:
|
||||
typedef int (*zend_object_compare_zvals_t)(
|
||||
zval *result, zval *op1, zval *op2 TSRMLS_DC
|
||||
);
|
||||
|
||||
The first handler is used to overload arithmetic operations. The first
|
||||
argument specifies the opcode of the operator, result is the target zval,
|
||||
op1 the first operand and op2 the second operand. For unary operations
|
||||
op2 is NULL. If the handler returns FAILURE PHP falls back to the default
|
||||
behavior for the operation.
|
||||
|
||||
The second handler is used to perform comparison operations with
|
||||
non-objects. The value written into result must be an IS_LONG with value
|
||||
-1 (smaller), 0 (equal) or 1 (greater). The return value is a SUCCESS/FAILURE
|
||||
return code. The difference between this handler and compare_objects is
|
||||
that it will be triggered for comparisons with non-objects and objects of
|
||||
different types. It takes precedence over compare_objects.
|
||||
|
||||
Further docs in the RFC: https://wiki.php.net/rfc/operator_overloading_gmp
|
||||
|
||||
b. return_value_ptr now always available, RETVAL_ZVAL_FAST macros
|
||||
|
||||
The return_value_ptr argument to internal functions is now always set.
|
||||
Previously it was only available for functions returning by-reference.
|
||||
return_value_ptr can now be used to return zvals without copying them.
|
||||
For this purpose two new macros are provided:
|
||||
|
||||
RETVAL_ZVAL_FAST(zv); /* analog to RETVAL_ZVAL(zv, 1, 0) */
|
||||
RETURN_ZVAL_FAST(zv); /* analog to RETURN_ZVAL(zv, 1, 0) */
|
||||
|
||||
The macros behave similarly to the non-FAST variants with copy=1 and
|
||||
dtor=0, but will try to return the zval without making a copy by utilizing
|
||||
return_value_ptr.
|
||||
|
||||
c. POST data handling
|
||||
|
||||
The sapi_request_info's members post_data, post_data_len and raw_post_data as
|
||||
well as raw_post_data_len have been replaced with a temp PHP stream
|
||||
request_body.
|
||||
|
||||
The recommended way to access raw POST data is to open and use a php://input
|
||||
stream wrapper. It is safe to be used concurrently and more than once.
|
||||
|
||||
d. Arginfo changes
|
||||
|
||||
The pass_rest_by_reference argument of the ZEND_BEGIN_ARG_INFO and
|
||||
ZEND_BEGIN_ARG_INFO_EX() is no longer used. The value passed to it is ignored.
|
||||
|
||||
Instead a variadic argument is created using ZEND_ARG_VARIADIC_INFO():
|
||||
|
||||
ZEND_ARG_VARIADIC_INFO(0, name) /* pass rest by value */
|
||||
ZEND_ARG_VARIADIC_INFO(1, name) /* pass rest by reference */
|
||||
ZEND_ARG_VARIADIC_INFO(ZEND_SEND_PREFER_REF, name)
|
||||
/* pass rest by prefer-ref */
|
||||
|
||||
ZEND_ARG_VARIADIC_INFO() should only be used for the last argument.
|
||||
|
||||
The following changes were applied to the zend_arg_info struct:
|
||||
|
||||
typedef struct _zend_arg_info {
|
||||
const char *class_name;
|
||||
zend_uint class_name_len;
|
||||
zend_uchar type_hint;
|
||||
+ zend_uchar pass_by_reference;
|
||||
zend_bool allow_null;
|
||||
- zend_bool pass_by_reference;
|
||||
+ zend_bool is_variadic;
|
||||
} zend_arg_info;
|
||||
|
||||
The following changes were applied to the zend_internal_function_info struct:
|
||||
|
||||
typedef struct _zend_internal_function_info {
|
||||
zend_uint required_num_args;
|
||||
zend_uchar _type_hint;
|
||||
zend_bool return_reference;
|
||||
- zend_bool pass_rest_by_reference;
|
||||
+ zend_bool _allow_null;
|
||||
+ zend_bool _is_variadic;
|
||||
} zend_internal_function_info;
|
||||
|
||||
The CHECK_ARG_SEND_TYPE(), ARG_MUST_BE_SENT_BY_REF(),
|
||||
ARG_SHOULD_BE_SENT_BY_REF() and ARG_MAY_BE_SENT_BY_REF() macros now assume
|
||||
that the argument passed to them is a zend_function* and that it is non-NULL.
|
||||
|
||||
========================
|
||||
2. Build system changes
|
||||
========================
|
||||
|
||||
a. Unix build system changes
|
||||
- The bison version check is now a blacklist instead of a whitelist.
|
||||
- The bison binary can be specified through the YACC environment/configure
|
||||
variable. Previously `bison` was assumed to be in $PATH.
|
||||
|
||||
b. Windows build system changes
|
||||
-
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
|
||||
])
|
||||
|
||||
PHP_MAJOR_VERSION=5
|
||||
PHP_MINOR_VERSION=6
|
||||
PHP_MINOR_VERSION=7
|
||||
PHP_RELEASE_VERSION=0
|
||||
PHP_EXTRA_VERSION="-dev"
|
||||
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* automatically generated by configure */
|
||||
/* edit configure.in to change version number */
|
||||
#define PHP_MAJOR_VERSION 5
|
||||
#define PHP_MINOR_VERSION 6
|
||||
#define PHP_MINOR_VERSION 7
|
||||
#define PHP_RELEASE_VERSION 0
|
||||
#define PHP_EXTRA_VERSION "-dev"
|
||||
#define PHP_VERSION "5.6.0-dev"
|
||||
#define PHP_VERSION_ID 50600
|
||||
#define PHP_VERSION "5.7.0-dev"
|
||||
#define PHP_VERSION_ID 50700
|
||||
|
||||
Reference in New Issue
Block a user