mirror of
https://github.com/php/php-src.git
synced 2026-03-31 20:53:00 +02:00
Currently, it's possible to disable the json extension with `./configure --disable-json` (for historical reasons that no longer apply). However, JSON is widely used in many use cases - web sites, logging output, and as a data format that can be used to share data with many applications and programming languages, so I'd personally find it useful if it was always enabled. Examples of where this would be useful: - For internal classes to be able to implement `JsonSerializable` which currently requires a hard dependency on the JSON extension. - For PHP users to publish single-file scripts that use json_encode and json_decode and don't require polyfills or less readable var_export output. (polyfills are less efficient and may have issues with recursive data structures) - So that php-src's own modules, tools and test cases can start using JSON if it's a good choice for encoding a value. (same for PECLs) https://wiki.php.net/rfc/jsond mentions that in PHP 5, > The current Json Parser in the json extension does not have a free license > which is a problem for many Linux distros. > This has been referenced at Bug #63520. > That results in not packaging json extension in the many Linux distributions. Starting in php 7.0 with the switch to jsond, It looks like licensing is no longer an issue. Changes: - Remove all flags related to JSON such as `configure --disable-json` - Require that JSON be compiled statically instead of as a shared library Examples of uses of JSON in various distros (backwards incompatible changes such as changing packaging are typically reserved for major versions, and 8.0 is a major version) - JSON is required by `php-cli` or `php` in ubuntu: https://packages.ubuntu.com/focal/php/ - The php-json package has to be installed separately from the PHP binary in Fedora repos. Closes GH-5495
201 lines
7.6 KiB
Plaintext
201 lines
7.6 KiB
Plaintext
PHP NEWS
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
?? ??? ????, PHP 8.0.0alpha1
|
|
|
|
- Core:
|
|
. Removed the pdo_odbc.db2_instance_name php.ini directive. (Kalle)
|
|
. Fixed bug #77619 (Wrong reflection on MultipleIterator::__construct).
|
|
(Fabien Villepinte)
|
|
. Fixed bug #65274 (Enhance undefined class constant error with class name).
|
|
(Nikita)
|
|
. Fixed bug #49555 (Fatal error "Function must be a string" message should be
|
|
renamed). (Nikita)
|
|
. Fixed bug #70839 (Converting optional argument to variadic forbidden by LSP
|
|
checks). (Nikita)
|
|
. Fixed bug #69084 (Unclear error message when not implementing a renamed
|
|
abstract trait function). (Nikita)
|
|
. Fixed bug #62609 (Allow implementing Traversable on abstract classes).
|
|
(Nikita)
|
|
. Fixed bug #79462 (method_exists and property_exists incoherent behavior).
|
|
(cmb)
|
|
. Fixed bug #79368 ("Unexpected end of file" is not an acceptable error
|
|
message). (Alex Dowad)
|
|
. Fixed bug #36365 (scandir duplicates file name at every 65535th file).
|
|
(cmb)
|
|
. Use SSE2 instructions do locale independent strtolower. (Laruence)
|
|
. Fixed bug #79521 (Check __set_state structure). (carusogabriel)
|
|
. Fixed bug #79467 (data:// wrappers are writable). (cmb)
|
|
|
|
- BZ2:
|
|
. Fixed bug #71263 (fread() does not report bzip2.decompress errors). (cmb)
|
|
|
|
- CURL:
|
|
. Bumped required libcurl version to 7.29.0. (cmb)
|
|
|
|
- Date:
|
|
. Fixed bug #65547 (Default value for sunrise/sunset zenith still wrong).
|
|
(cmb)
|
|
. Fixed bug #69044 (discrepancy between time and microtime). (krakjoe)
|
|
|
|
- DOM:
|
|
. Add property DOMXPath::$registerNodeNamespaces and constructor argument
|
|
that allow global flag to configure query() or evaluate() calls.
|
|
|
|
- Enchant:
|
|
. Add LIBENCHANT_VERSION macro
|
|
. Deprecate enchant_broker_set_dict_path, enchant_broker_get_dict_path
|
|
enchant_dict_add_to_personal and enchant_dict_is_in_session
|
|
. Add enchant_dict_add and enchant_dict_is_added functions
|
|
. Use libenchant-2 when available
|
|
|
|
- FPM:
|
|
. Fixed bug #64865 (Search for .user.ini files from script dir up to
|
|
CONTEXT_DOCUMENT_ROOT). (Will Bender)
|
|
|
|
- GD:
|
|
. Fixed bug #55005 (imagepolygon num_points requirement). (cmb)
|
|
. Replaced gd resources with objects. (Mark Randall)
|
|
. Made the $num_points parameter of php_imagepolygon optional. (cmb)
|
|
. Removed deprecated image2wbmp(). (cmb)
|
|
. Removed deprecated png2wbmp() and jpeg2wbmp(). (cmb)
|
|
. Added imagegetinterpolation(). (cmb)
|
|
|
|
- Iconv:
|
|
. Dropped support for iconv without proper errno setting. (cmb)
|
|
|
|
- Intl:
|
|
. Removed deprecated INTL_IDNA_VARIANT_2003. (cmb)
|
|
|
|
- JIT:
|
|
. Fixed bug #79582 (Crash seen when opcache.jit=1235 and
|
|
opcache.jit_debug=2). (Laruence)
|
|
. Fixed bug #77857 (Wrong result if executed with JIT). (Laruence)
|
|
. Fixed bug #79255 (PHP cannot be compiled with enable JIT).
|
|
(Laruence, Dmitry)
|
|
|
|
- JSON:
|
|
. The JSON extension is now an integral part of PHP and cannot be disabled
|
|
as per RFC: https://wiki.php.net/rfc/always_enable_json (tandre)
|
|
|
|
- LDAP:
|
|
. Removed deprecated ldap_sort. (mcmic)
|
|
|
|
- MBString:
|
|
. Fixed bug #76999 (mb_regex_set_options() return current options). (cmb)
|
|
. Removed the unused $is_hex parameter from mb_decode_numericentity(). (cmb)
|
|
|
|
- MySQLi:
|
|
. Fixed bug #76809 (SSL settings aren't respected when persistent connections
|
|
are used). (fabiomsouto)
|
|
|
|
- mysqlnd:
|
|
. Fixed #60594 (mysqlnd exposes 160 lines of stats in phpinfo). (PeeHaa)
|
|
|
|
- OpCache:
|
|
. Fixed bug #78654 (Incorrectly computed opcache checksum on files with
|
|
non-ascii characters). (mhagstrand)
|
|
. Fixed bug #76535 (Opcache does not replay compile-time warnings). (Nikita)
|
|
|
|
- PCRE:
|
|
. Don't ignore invalid escape sequences. (sjon)
|
|
|
|
- PGSQL:
|
|
. Bumped required libpq version to 9.1. (cmb)
|
|
|
|
- PDO:
|
|
. Changed default PDO error mode to exceptions. (AllenJB)
|
|
. Fixed bug #77849 (Disable cloning of PDO handle/connection objects).
|
|
(camporter)
|
|
|
|
- PDO_OCI:
|
|
. Added support for setting and getting the oracle OCI 18c call timeout.
|
|
(camporter)
|
|
|
|
- PDO_PGSQL:
|
|
. Bumped required libpq version to 9.1. (cmb)
|
|
|
|
- phpdbg:
|
|
. Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel)
|
|
. Fixed bug #76801 (too many open files). (alekitto)
|
|
. Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints).
|
|
(krakjoe)
|
|
. Fixed bug #77805 (phpdbg build fails when readline is shared). (krakjoe)
|
|
|
|
- Reflection:
|
|
. Fixed bug #78697 (ReflectionClass::implementsInterface - inaccurate error
|
|
message with traits). (villfa)
|
|
. Implement ReflectionProperty::hasDefaultValue and
|
|
Reflection::getDefaultValue (beberlei)
|
|
. Fixed bug #64592 (ReflectionClass::getMethods() returns methods out of
|
|
scope). (Nikita)
|
|
. Fixed bug #77325 (ReflectionClassConstant::$class returns wrong class when
|
|
extending). (Nikita)
|
|
. Fixed bug #69180 (Reflection does not honor trait conflict resolution /
|
|
method aliasing). (Nikita)
|
|
. Fixed bug #74939 (Nested traits' aliased methods are lowercased). (Nikita)
|
|
|
|
- Session:
|
|
. Fixed bug #78624 (session_gc return value for user defined session
|
|
handlers). (bshaffer)
|
|
|
|
- SimpleXML:
|
|
. Fixed bug #75245 (Don't set content of elements with only whitespaces).
|
|
(eriklundin)
|
|
|
|
- sodium:
|
|
. Fixed bug #77646 (sign_detached() strings not terminated). (Frank)
|
|
|
|
- SQLite3:
|
|
. Added SQLite3::setAuthorizer() and respective class constants. (bohwaz)
|
|
|
|
- Standard:
|
|
. Implemented FR #78638 (__PHP_Incomplete_Class should be final). (Laruence)
|
|
. Fixed bug #77204 (getimagesize(): Read error! should mention file path).
|
|
(peter279k)
|
|
. Fixed bug #76859 (stream_get_line skips data if used with data-generating
|
|
filter). (kkopachev)
|
|
. Fixed bug #78385 (parse_url() does not include 'query' when question mark
|
|
is the last char). (Islam Israfilov)
|
|
. Fixed bug #75902 (str_replace should warn when misused with nested arrays).
|
|
(Nikita)
|
|
. Fixed bug #47983 (mixed LF and CRLF line endings in mail()). (cmb)
|
|
. Made quoting of cmd execution functions consistent. (cmb)
|
|
|
|
- tidy:
|
|
. Removed the unused $use_include_path parameter from tidy_repair_string().
|
|
(cmb)
|
|
|
|
- XML:
|
|
. Fixed bug #76874 (xml_parser_free() should never leak memory). (Nikita)
|
|
|
|
- XMLWriter:
|
|
. Changed functions to accept/return XMLWriter objects instead of resources.
|
|
(cmb)
|
|
|
|
- Zip:
|
|
. Fixed bug #72374 (remove_path strips first char of filename). (tyage, Remi)
|
|
. Add ZipArchive::setMtimeName and ZipArchive::setMtimeIndex methods. (Remi)
|
|
. Add ZipArchive::setProgressCallback method (since libzip 1.3.0). (Remi)
|
|
. Add ZipArchive::setCancelCallback method (since libzip 1.6.0). (Remi)
|
|
. Add optional "flags" parameter to ZipArchive::addEmptyDir, addFile and
|
|
addFromString methods. (Remi)
|
|
. Add "flags" options to ZipArchive::addGlob and addPattern methods
|
|
keeping previous behavior having FL_OVERWRITE by default. (Remi)
|
|
. Add ZipArchive::replaceFile() method. (Remi)
|
|
. Add lastId property to ZipArchive. (Remi)
|
|
. ZipArchive::status and ZipArchive::statusSys properties and
|
|
ZipArchive::getStatusString() method stay valid after the archive
|
|
is closed. (Remi)
|
|
. Fixed bug #50678 (files extracted by ZipArchive class lost their
|
|
original modified time). (Remi)
|
|
. Implemented FR #77960 (add compression / encryption options for
|
|
ZipArchive::addGlob and ZipArchive::addPattern). (Remi)
|
|
. Add ZipArchive::EM_UNKNOWN and ZipArchive::EM_TRAD_PKWARE constants. (Remi)
|
|
. Add ZipArchive::isCompressionMethodSupported() and
|
|
ZipArchive::isEncryptionMethodSupported() method (libzip 1.7.0). (Remi)
|
|
|
|
- Zlib:
|
|
. Fixed bug #71417 (fread() does not report zlib.inflate errors). (cmb)
|
|
|
|
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>
|