PHP 7.1 Combined Changelog

Explore PHP 7.1

This version is no longer officially supported.

Official support refers to that provided direct by the PHP Project.

If you install PHP via third-party packages, support timelines may be different. Please read the Release Support Policy for more information.

  • PHP 7.1.33

    24 Oct, 2019
    View Release Page
    • fpm

      • Fixed bug #78599 (env_path_info underflow in fpm_main.c can lead to RCE). (CVE-2019-11043)
        Jakub Zelenka
  • PHP 7.1.32

    29 Aug, 2019
    View Release Page
    • mbstring

      • Fixed CVE-2019-13224 (don't allow different encodings for onig_new_deluxe) (stas)
    • pcre

      • Fixed bug #75457 (heap use-after-free in pcrelib) (cmb)
  • PHP 7.1.31

    01 Aug, 2019
    View Release Page
    • sqlite

      • Upgraded to SQLite 3.28.0.
        cmb
    • exif

      • Fixed bug #78256 (heap-buffer-overflow on exif_process_user_comment). (CVE-2019-11042)
        Stas
      • Fixed bug #78222 (heap-buffer-overflow on exif_scan_thumbnail). (CVE-2019-11041)
        Stas
    • phar

      • Fixed bug #77919 (Potential UAF in Phar RSHUTDOWN).
        cmb
  • PHP 7.1.30

    30 May, 2019
    View Release Page
    • exif

      • Fixed bug #77988 (heap-buffer-overflow on php_jpg_get16). (CVE-2019-11040)
        Stas
    • gd

      • Fixed bug #77973 (Uninitialized read in gdImageCreateFromXbm). (CVE-2019-11038)
        cmb
    • iconv

      • Fixed bug #78069 (Out-of-bounds read in iconv.c:_php_iconv_mime_decode() due to integer overflow).
        CVE-2019-11039). (maris dot adam
    • sqlite

      • Fixed bug #77967 (Bypassing open_basedir restrictions via file uris).
        Stas
  • PHP 7.1.29

    02 May, 2019
    View Release Page
    • exif

      • Fixed bug #77950 (Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG). (CVE-2019-11036)
        Stas
    • mail

      • Fixed bug #77821 (Potential heap corruption in TSendMail()).
        cmb
  • PHP 7.1.28

    02 May, 2019
    View Release Page
    • exif

      • Fixed bug #77753 (Heap-buffer-overflow in php_ifd_get32s). (CVE-2019-11034)
        Stas
      • Fixed bug #77831 (Heap-buffer-overflow in exif_iif_add_value). (CVE-2019-11035)
        Stas
    • sqlite3

      • Added sqlite3.defensive INI directive.
        BohwaZ
  • PHP 7.1.27

    07 Mar, 2019
    View Release Page
    • core

      • Fixed bug #77630 (rename() across the device may allow unwanted access during processing).
        Stas
    • exif

      • Fixed bug #77509 (Uninitialized read in exif_process_IFD_in_TIFF).
        Stas
      • Fixed bug #77540 (Invalid Read on exif_process_SOFn).
        Stas
      • Fixed bug #77563 (Uninitialized read in exif_process_IFD_in_MAKERNOTE).
        Stas
      • Fixed bug #77659 (Uninitialized read in exif_process_IFD_in_MAKERNOTE).
        Stas
    • phar

      • Fixed bug #77396 (Null Pointer Dereference in phar_create_or_parse_filename).
        bishop
      • Fixed bug #77586 (phar_tar_writeheaders_int() buffer overflow).
        bishop
    • spl

      • Fixed bug #77431 (openFile() silently truncates after a null byte).
        cmb
  • PHP 7.1.26

    10 Jan, 2019
    View Release Page
    • core

      • Fixed bug #77369 (memcpy with negative length via crafted DNS response).
        Stas
    • gd

      • Fixed bug #77269 (efree() on uninitialized Heap data in imagescale leads to use-after-free).
        cmb
      • Fixed bug #77270 (imagecolormatch Out Of Bounds Write on Heap).
        cmb
    • imap

      • Fixed bug #77020 (null pointer dereference in imap_mail).
        cmb
    • mbstring

      • Fixed bug #77370 (Buffer overflow on mb regex functions - fetch_token).
        Stas
      • Fixed bug #77371 (heap buffer overflow in mb regex functions
      • compile_string_node).
        Stas
      • Fixed bug #77381 (heap buffer overflow in multibyte match_at).
        Stas
      • Fixed bug #77382 (heap buffer overflow due to incorrect length in expand_case_fold_string).
        Stas
      • Fixed bug #77385 (buffer overflow in fetch_token).
        Stas
      • Fixed bug #77394 (Buffer overflow in multibyte case folding - unicode).
        Stas
      • Fixed bug #77418 (Heap overflow in utf32be_mbc_to_code).
        Stas
    • phar

      • Fixed bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext).
        Stas
    • xmlrpc

      • Fixed bug #77242 (heap out of bounds read in xmlrpc_decode()).
        cmb
      • Fixed bug #77380 (Global out of bounds read in xmlrpc base64 code).
        Stas
  • PHP 7.1.25

    06 Dec, 2018
    View Release Page
    • core

      • Fixed bug #71041 (zend_signal_startup() needs ZEND_API).
        Valentin V. Bartenev
    • ftp

      • Fixed bug #77151 (ftp_close(): SSL_read on shutdown).
        Remi
    • iconv

      • Fixed bug #77147 (Fixing 60494 ignored ICONV_MIME_DECODE_CONTINUE_ON_ERROR).
        cmb
    • imap

      • Fixed bug #77153 (imap_open allows to run arbitrary shell commands via mailbox parameter).
        Stas
    • odbc

      • Fixed bug #77079 (odbc_fetch_object has incorrect type signature).
        Jon Allen
    • opcache

      • Fixed bug #77058 (Type inference in opcache causes side effects).
        Nikita
    • pgsql

      • Fixed bug #77047 (pg_convert has a broken regex for the 'TIME WITHOUT TIMEZONE' data type).
        Andy Gajetzki
    • soap

      • Fixed bug #76348 (WSDL_CACHE_MEMORY causes Segmentation fault).
        cmb
      • Fixed bug #77141 (Signedness issue in SOAP when precision=-1).
        cmb
    • sockets

      • Fixed bug #67619 (Validate length on socket_write).
        thiagooak
  • PHP 7.1.24

    08 Nov, 2018
    View Release Page
    • core

      • Fixed bug #76946 (Cyclic reference in generator not detected).
        Nikita
      • Fixed bug #77035 (The phpize and ./configure create redundant .deps file).
        Peter Kokot
      • Fixed bug #77041 (buildconf should output error messages to stderr) (Mizunashi Mana)
    • date

      • Fixed bug #75851 (Year component overflow with date formats "c", "o", "r" and "y").
        Adam Saponara
    • fcgi

      • Fixed bug #76948 (Failed shutdown/reboot or end session in Windows).
        Anatol
      • Fixed bug #76954 (apache_response_headers removes last character from header name).
        stodorovic
    • ftp

      • Fixed bug #76972 (Data truncation due to forceful ssl socket shutdown).
        Manuel Mausz
    • intl

      • Fixed bug #76942 (U_ARGUMENT_TYPE_MISMATCH).
        anthrax at unixuser dot org
    • standard

      • Fixed bug #76965 (INI_SCANNER_RAW doesn't strip trailing whitespace).
        Pierrick
    • tidy

      • Fixed bug #77027 (tidy::getOptDoc() not available on Windows).
        cmb
    • xml

      • Fixed bug #30875 (xml_parse_into_struct() does not resolve entities).
        cmb
      • Add support for getting SKIP_TAGSTART and SKIP_WHITE options.
        cmb
  • PHP 7.1.23

    11 Oct, 2018
    View Release Page
    • core

      • Fixed bug #76901 (method_exists on SPL iterator passthrough method corrupts memory).
        Nikita
      • Fixed bug #76846 (Segfault in shutdown function after memory limit error).
        Nikita
    • curl

      • Fixed bug #76480 (Use curl_multi_wait() so that timeouts are respected).
        Pierrick
    • iconv

      • Fixed bug #66828 (iconv_mime_encode Q-encoding longer than it should be).
        cmb
    • opcache

      • Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS).
        Anatol
    • posix

      • Fixed bug #75696 (posix_getgrnam fails to print details of group).
        cmb
    • reflection

      • Fixed bug #74454 (Wrong exception being thrown when using ReflectionMethod).
        cmb
    • standard

      • Fixed bug #73457 (Wrong error message when fopen FTP wrapped fails to open data connection).
        Ville Hukkamäki
      • Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with stream_socket_client).
        Ville Hukkamäki
      • Fixed bug #75533 (array_reduce is slow when $carry is large array).
        Manabu Matsui
    • zlib

      • Fixed bug #75273 (php_zlib_inflate_filter() may not update bytes_consumed).
        Martin Burke
        cmb
  • PHP 7.1.22

    13 Sep, 2018
    View Release Page
    • core

      • Fixed bug #76754 (parent private constant in extends class memory leak).
        Laruence
      • Fixed bug #72443 (Generate enabled extension).
        petk
    • bz2

      • Fixed arginfo for bzcompress.
        Tyson Andre
    • gettext

      • Fixed bug #76517 (incorrect restoring of LDFLAGS).
        sji
    • iconv

      • Fixed bug #68180 (iconv_mime_decode can return extra characters in a header).
        cmb
      • Fixed bug #63839 (iconv_mime_decode_headers function is skipping headers).
        cmb
      • Fixed bug #60494 (iconv_mime_decode does ignore special characters).
        cmb
      • Fixed bug #55146 (iconv_mime_decode_headers() skips some headers).
        cmb
    • intl

      • Fixed bug #74484 (MessageFormatter::formatMessage memory corruption with 11+ named placeholders).
        Anatol
    • libxml

      • Fixed bug #76777 ("public id" parameter of libxml_set_external_entity_loader callback undefined).
        Ville Hukkamäki
    • mbstring

      • Fixed bug #76704 (mb_detect_order return value varies based on argument type).
        cmb
    • opcache

      • Fixed bug #76747 (Opcache treats path containing "test.pharma.tld" as a phar file).
        Laruence
    • openssl

      • Fixed bug #76705 (unusable ssl => peer_fingerprint in stream_context_create()).
        Jakub Zelenka
    • phpdbg

      • Fixed bug #76595 (phpdbg man page contains outdated information).
        Kevin Abel
    • spl

      • Fixed bug #68825 (Exception in DirectoryIterator::getLinkTarget()).
        cmb
      • Fixed bug #68175 (RegexIterator pregFlags are NULL instead of 0).
        Tim Siebels
    • standard

      • Fixed bug #76778 (array_reduce leaks memory if callback throws exception).
        cmb
    • zlib

      • Fixed bug #65988 (Zlib version check fails when an include/zlib/ style dir is passed to the --with-zlib configure option).
        Jay Bonci
      • Fixed bug #76709 (Minimal required zlib library is 1.2.0.4).
        petk
  • PHP 7.1.21

    13 Sep, 2018
    View Release Page
    • calendar

      • Fixed bug #52974 (jewish.c: compile error under Windows with GBK charset).
        cmb
    • filter

      • Fixed bug #76366 (References in sub-array for filtering breaks the filter).
        ZiHang Gao
    • pdo_firebird

      • Fixed bug #76488 (Memory leak when fetching a BLOB field).
        Simonov Denis
    • pdo_pgsql

      • Fixed bug #75402 (Possible Memory Leak using PDO::CURSOR_SCROLL option).
        Anatol
    • sqlite3

      • Fixed #76665 (SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle).
        cmb
    • standard

      • Fixed bug #68553 (array_column: null values in $index_key become incrementing keys in result).
        Laruence
      • Fixed bug #73817 (Incorrect entries in get_html_translation_table).
        cmb
      • Fixed bug #76643 (Segmentation fault when using `output_add_rewrite_var`).
        cmb
    • zip

      • Fixed bug #76524 (ZipArchive memory leak (OVERWRITE flag and empty archive)).
        Timur Ibragimov
  • PHP 7.1.20

    16 Aug, 2018
    View Release Page
    • core

      • Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler).
        Laruence
      • Fixed bug #76502 (Chain of mixed exceptions and errors does not serialize properly).
        Nikita
    • date

      • Fixed bug #76462 (Undefined property: DateInterval::$f).
        Anatol
    • fpm

      • Fixed bug #73342 (Vulnerability in php-fpm by changing stdin to non-blocking).
        Nikita
    • gmp

      • Fixed bug #74670 (Integer Underflow when unserializing GMP and possible other classes).
        Nikita
    • intl

      • Fixed bug #76556 (get_debug_info handler for BreakIterator shows wrong type).
        cmb
    • mbstring

      • Fixed bug #76532 (Integer overflow and excessive memory usage in mb_strimwidth).
        MarcusSchwarz
    • pgsql

      • Fixed bug #76548 (pg_fetch_result did not fetch the next row).
        Anatol
    • phpdbg

      • Fix arginfo wrt. optional/required parameters.
        cmb
    • reflection

      • Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler).
        Laruence
      • Fixed bug #75231 (ReflectionProperty#getValue() incorrectly works with inherited classes).
        Nikita
    • standard

      • Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys).
        Laruence
      • Fixed bug #71848 (getimagesize with $imageinfo returns false).
        cmb
  • PHP 7.1.19

    21 Jun, 2018
    View Release Page
    • cli server

      • Fixed bug #76333 (PHP built-in server does not find files if root path contains special characters).
        Anatol
    • openssl

      • Fixed bug #76296 (openssl_pkey_get_public does not respect open_basedir).
        Erik Lax
        Jakub Zelenka
      • Fixed bug #76174 (openssl extension fails to build with LibreSSL 2.7).
        Jakub Zelenka
    • spl

      • Fixed bug #76367 (NoRewindIterator segfault 11).
        Laruence
    • standard

      • Fixed bug #76335 ("link(): Bad file descriptor" with non-ASCII path).
        Anatol
      • Fixed bug #76383 (array_map on $GLOBALS returns IS_INDIRECT).
        Bob
  • PHP 7.1.18

    24 May, 2018
    View Release Page
    • fpm

      • Fixed bug #76075 --with-fpm-acl wrongly tries to find libacl on FreeBSD.
        mgorny
    • intl

      • Fixed bug #74385 (Locale::parseLocale() broken with some arguments).
        Anatol
    • opcache

      • Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp).
        Dmitry
      • Fixed bug #76275 (Assertion failure in file cache when unserializing empty try_catch_array).
        Nikita
      • Fixed bug #76281 (Opcache causes incorrect "undefined variable" errors).
        Nikita
    • reflection

      • Fixed arginfo for array_replace(_recursive) and array_merge(_recursive).
        carusogabriel
  • PHP 7.1.17

    26 Apr, 2018
    View Release Page
    • date

      • Fixed bug #76131 (mismatch arginfo for date_create).
        carusogabriel
    • fpm

      • Fixed bug #68440 (ERROR: failed to reload: execvp() failed: Argument list too long).
        Jacob Hipps
      • Fixed incorrect write to getenv result in FPM reload.
        Jakub Zelenka
    • gd

      • Fixed bug #52070 (imagedashedline() - dashed line sometimes is not visible).
        cmb
    • intl

      • Fixed bug #76153 (Intl compilation fails with icu4c 61.1).
        Anatol
    • mbstring

      • Fixed bug #75944 (Wrong cp1251 detection).
        dmk001
      • Fixed bug #76113 (mbstring does not build with Oniguruma 6.8.1).
        chrullrich
        cmb
    • phpdbg

      • Fixed bug #76143 (Memory corruption: arbitrary NUL overwrite).
        Laruence
    • spl

      • Fixed bug #76131 (mismatch arginfo for splarray constructor).
        carusogabriel
    • standard

      • Fixed bug #75996 (incorrect url in header for mt_rand).
        tatarbj
  • PHP 7.1.16

    29 Mar, 2018
    View Release Page
    • core

      • Fixed bug #76025 (Segfault while throwing exception in error_handler).
        Dmitry
        Laruence
      • Fixed bug #76044 ('date: illegal option -- -' in ./configure on FreeBSD).
        Anatol
    • fpm

      • Fixed bug #75605 (Dumpable FPM child processes allow bypassing opcache access controls).
        Jakub Zelenka
    • gd

      • Fixed bug #73957 (signed integer conversion in imagescale()).
        cmb
    • odbc

      • Fixed bug #76088 (ODBC functions are not available by default on Windows).
        cmb
    • opcache

      • Fixed bug #76074 (opcache corrupts variable in for-loop).
        Bob
    • phar

      • Fixed bug #76085 (Segmentation fault in buildFromIterator when directory name contains a \n).
        Laruence
    • standard

      • Fixed bug #74139 (mail.add_x_header default inconsistent with docs).
        cmb
      • Fixed bug #76068 (parse_ini_string fails to parse "[foo]\nbar=1|>baz" with segfault).
        Anatol
  • PHP 7.1.15

    01 Mar, 2018
    View Release Page
    • apache2handler

      • Fixed bug #75882 (a simple way for segfaults in threadsafe php just with configuration).
        Anatol
    • date

      • Fixed bug #75857 (Timezone gets truncated when formatted).
        carusogabriel
      • Fixed bug #75928 (Argument 2 for `DateTimeZone::listIdentifiers()` should accept `null`).
        Pedro Lacerda
      • Fixed bug #68406 (calling var_dump on a DateTimeZone object modifies it).
        jhdxr
    • ftp

      • Fixed ftp_pasv arginfo.
        carusogabriel
      • Fixed imagesetinterpolation arginfo.
        Gabriel Caruso
    • iconv

      • Fixed bug #75867 (Freeing uninitialized pointer).
        Philip Prindeville
    • ldap

      • Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros).
        dzuelke
    • libxml2

      • Fixed bug #75871 (use pkg-config where available).
        pmmaga
    • mysqlnd

      • Fixed negotiation of MySQL authenticaton plugin.
        Johannes
      • Fixed a memleak with SSL connections.
        Johannes
    • odbc

      • Fixed bug #73725 (Unable to retrieve value of varchar(max) type).
        Anatol
    • opcache

      • Fixed bug #75969 (Assertion failure in live range DCE due to block pass misoptimization).
        Nikita
    • openssl

      • Fixed openssl_* arginfos.
        carusogabriel
    • pcntl

      • Fixed bug #75873 (pcntl_wexitstatus returns incorrect on Big_Endian platform (s390x)).
        Sam Ding
    • pgsql

      • Fixed #75838 (Memory leak in pg_escape_bytea()).
        ard_1 at mail dot ru
    • phar

      • Fixed bug #65414 (deal with leading slash when adding files correctly).
        bishopb
    • spl

      • Fixed bug #74519 (strange behavior of AppendIterator).
        jhdxr
    • standard

      • Fixed bug #75961 (Strange references behavior).
        Laruence
      • Fixed bug #75916 (DNS_CAA record results contain garbage).
        Mike
        Philip Sharp
      • Fixed some arginfos.
        carusogabriel
      • Fixed bug #75981 (stack-buffer-overflow while parsing HTTP response).
        Stas
  • PHP 7.1.14

    01 Feb, 2018
    View Release Page
    • core

      • Fixed bug #75679 (Path 260 character problem).
        Anatol
      • Fixed bug #75786 (segfault when using spread operator on generator passed by reference).
        Nikita
      • Fixed bug #75799 (arg of get_defined_functions is optional).
        carusogabriel
      • Fixed bug #75396 (Exit inside generator finally results in fatal error).
        Nikita
      • Fixed bug #75079 (self keyword leads to incorrectly generated TypeError when in closure in trait).
        Nikita
    • fcgi

      • Fixed bug #75794 (getenv() crashes on Windows 7.2.1 when second parameter is false).
        Anatol
    • imap

      • Fixed bug #75774 (imap_append HeapCorruction).
        Anatol
    • mbstring

      • Fixed bug #62545 (wrong unicode mapping in some charsets).
        cmb
    • opcache

      • Fixed bug #75720 (File cache not populated after SHM runs full).
        Dmitry
      • Fixed bug #75579 (Interned strings buffer overflow may cause crash).
        Dmitry
    • pgsql

      • Fixed bug #75671 (pg_version() crashes when called on a connection to cockroach).
        magicaltux at gmail dot com
    • readline

      • Fixed bug #75775 (readline_read_history segfaults with empty file).
        Anatol
    • sapi

      • Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry).
        Laruence
    • soap

      • Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is used).
        Anton Artamonov
      • Fixed bug #75502 (Segmentation fault in zend_string_release).
        Nikita
    • spl

      • Fixed bug #75717 (RecursiveArrayIterator does not traverse arrays by reference).
        Nikita
      • Fixed bug #75242 (RecursiveArrayIterator doesn't have constants from parent class).
        Nikita
      • Fixed bug #73209 (RecursiveArrayIterator does not iterate object properties).
        Nikita
    • standard

      • Fixed bug #75781 (substr_count incorrect result).
        Laruence
  • PHP 7.1.13

    04 Jan, 2018
    View Release Page
    • core

      • Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26).
        Laruence
      • Fixed bug #75384 (PHP seems incompatible with OneDrive files on demand).
        Anatol
      • Fixed bug #74862 (Unable to clone instance when private __clone defined).
        Daniel Ciochiu
      • Fixed bug #75074 (php-process crash when is_file() is used with strings longer 260 chars).
        Anatol
      • Fixed bug #69727 (Remove timestamps from build to make it reproducible).
        jelle van der Waa
    • cli server

      • Fixed bug #60471 (Random "Invalid request (unexpected EOF)" using a router script).
        SammyK
      • Fixed bug #73830 (Directory does not exist).
        Anatol
    • fpm

      • Fixed bug #64938 (libxml_disable_entity_loader setting is shared between requests).
        Remi
    • gd

      • Fixed bug #75571 (Potential infinite loop in gdImageCreateFromGifCtx).
        Christoph
    • opcache

      • Fixed bug #75608 ("Narrowing occurred during type inference" error).
        Laruence
        Dmitry
      • Fixed bug #75570 ("Narrowing occurred during type inference" error).
        Dmitry
      • Fixed bug #75579 (Interned strings buffer overflow may cause crash).
        Dmitry
    • pcre

      • Fixed bug #74183 (preg_last_error not returning error code after error).
        Andrew Nester
    • phar

      • Fixed bug #74782 (remove file name from output to avoid XSS).
        stas
    • standard

      • Fixed bug #75511 (fread not free unused buffer).
        Laruence
      • Fixed bug #75514 (mt_rand returns value outside [$min,$max]+ on 32-bit) (Remi)
      • Fixed bug #75535 (Inappropriately parsing HTTP response leads to PHP segment fault).
        Nikita
      • Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator that getrandom() is missing).
        sarciszewski
      • Fixed bug #73124 (php_ini_scanned_files() not reporting correctly).
        John Stevenson
      • Fixed bug #75574 (putenv does not work properly if parameter contains non-ASCII unicode character).
        Anatol
    • zip

      • Fixed bug #75540 (Segfault with libzip 1.3.1).
        Remi
  • PHP 7.1.12

    23 Nov, 2017
    View Release Page
    • core

      • Fixed bug #75420 (Crash when modifing property name in __isset for BP_VAR_IS).
        Laruence
      • Fixed bug #75368 (mmap/munmap trashing on unlucky allocations).
        Nikita
        Dmitry
    • cli

      • Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown function).
        Laruence
    • enchant

      • Fixed bug #53070 (enchant_broker_get_path crashes if no path is set).
        jelle van der Waa
        cmb
      • Fixed bug #75365 (Enchant still reports version 1.1.0).
        cmb
    • exif

      • Fixed bug #75301 (Exif extension has built in revision version).
        Peter Kokot
    • gd

      • Fixed bug #65148 (imagerotate may alter image dimensions).
        cmb
      • Fixed bug #75437 (Wrong reflection on imagewebp).
        Fabien Villepinte
    • intl

      • Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead of destination).
        andrewnester
    • interbase

      • Fixed bug #75453 (Incorrect reflection for ibase_[p]connect).
        villfa
    • mysqli

      • Fixed bug #75434 (Wrong reflection for mysqli_fetch_all function).
        Fabien Villepinte
    • oci8

      • Fixed valgrind issue.
        Tianfang Yang
    • openssl

      • Fixed bug #75363 (openssl_x509_parse leaks memory).
        Bob
        Jakub Zelenka
      • Fixed bug #75307 (Wrong reflection for openssl_open function).
        villfa
    • opcache

      • Fixed bug #75373 (Warning Internal error: wrong size calculation).
        Laruence
        Dmitry
    • pgsql

      • Fixed bug #75419 (Default link incorrectly cleared/linked by pg_close()).
        Sara
    • soap

      • Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders).
        villfa
    • zlib

      • Fixed bug #75299 (Wrong reflection on inflate_init and inflate_add).
        Fabien Villepinte
  • PHP 7.1.11

    26 Oct, 2017
    View Release Page
    • core

      • Fixed bug #75241 (Null pointer dereference in zend_mm_alloc_small()).
        Laruence
      • Fixed bug #75236 (infinite loop when printing an error-message).
        Andrea
      • Fixed bug #75252 (Incorrect token formatting on two parse errors in one request).
        Nikita
      • Fixed bug #75220 (Segfault when calling is_callable on parent).
        andrewnester
      • Fixed bug #75290 (debug info of Closures of internal functions contain garbage argument names).
        Andrea
    • apache2handler

      • Fixed bug #75311 (error: 'zend_hash_key' has no member named 'arKey' in apache2handler).
        mcarbonneaux
    • date

      • Fixed bug #75055 (Out-Of-Bounds Read in timelib_meridian()).
        Derick
    • hash

      • Fixed bug #75303 (sha3 hangs on bigendian).
        Remi
    • intl

      • Fixed bug #75318 (The parameter of UConverter::getAliases() is not optional).
        cmb
    • litespeed

      • Fixed bug #75248 (Binary directory doesn't get created when building only litespeed SAPI).
        petk
      • Fixed bug #75251 (Missing program prefix and suffix).
        petk
    • mcrypt

      • Fixed bug #72535 (arcfour encryption stream filter crashes php).
        Leigh
    • mysqli

      • Fixed bug #75018 (Data corruption when reading fields of bit type).
        Anatol
    • oci8

      • Fixed incorrect reference counting.
        Dmitry
        Tianfang Yang
    • opcache

      • Fixed bug #75255 (Request hangs and not finish).
        Dmitry
    • pcre

      • Fixed bug #75207 (applied upstream patch for CVE-2016-1283).
        Anatol
    • pdo_mysql

      • Fixed bug #75177 (Type 'bit' is fetched as unexpected string).
        Anatol
    • spl

      • Fixed bug #73629 (SplDoublyLinkedList::setIteratorMode masks intern flags).
        J. Jeising
        cmb
  • PHP 7.1.10

    28 Sep, 2017
    View Release Page
    • core

      • Fixed bug #75042 (run-tests.php issues with EXTENSION block).
        John Boehr
    • bcmath

      • Fixed bug #44995 (bcpowmod() fails if scale != 0).
        cmb
      • Fixed bug #46781 (BC math handles minus zero incorrectly).
        cmb
      • Fixed bug #54598 (bcpowmod() may return 1 if modulus is 1).
        okano1220
        cmb
      • Fixed bug #75178 (bcpowmod() misbehaves for non-integer base or modulus).
        cmb
    • cli server

      • Fixed bug #70470 (Built-in server truncates headers spanning over TCP packets).
        bouk
    • curl

      • Fixed bug #75093 (OpenSSL support not detected).
        Remi
    • gd

      • Fixed bug #75124 (gdImageGrayScale() may produce colors).
        cmb
      • Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?).
        cmb
    • gettext

      • Fixed bug #73730 (textdomain(null) throws in strict mode).
        cmb
    • intl

      • Fixed bug #75090 (IntlGregorianCalendar doesn't have constants from parent class).
        tpunt
      • Fixed bug #75193 (segfault in collator_convert_object_to_string).
        Remi
    • pdo_oci

      • Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized before PHP-FPM sets it up).
        Ingmar Runge
    • spl

      • Fixed bug #75155 (AppendIterator::append() is broken when appending another AppendIterator).
        Nikita
      • Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach loop).
        jhdxr
    • standard

      • Fixed bug #75152 (signed integer overflow in parse_iv).
        Laruence
      • Fixed bug #75097 (gethostname fails if your host name is 64 chars long).
        Andrea
  • PHP 7.1.9

    31 Aug, 2017
    View Release Page
    • core

      • Fixed bug #74947 (Segfault in scanner on INF number).
        Laruence
      • Fixed bug #74954 (null deref and segfault in zend_generator_resume()).
        Bob
      • Fixed bug #74725 (html_errors=1 breaks unhandled exceptions).
        Andrea
      • Fixed bug #75063 (Main CWD initialized with wrong codepage).
        Anatol
      • Fixed bug #75349 (NAN comparison).
        Sara
    • curl

      • Fixed bug #74125 (Fixed finding CURL on systems with multiarch support).
        cebe
    • date

      • Fixed bug #75002 (Null Pointer Dereference in timelib_time_clone).
        Derick
    • intl

      • Fixed bug #74993 (Wrong reflection on some locale_* functions).
        Sara
    • mbstring

      • Fixed bug #71606 (Segmentation fault mb_strcut with HTML-ENTITIES encoding).
        cmb
      • Fixed bug #62934 (mb_convert_kana() does not convert iteration marks).
        Nikita
      • Fixed bug #75001 (Wrong reflection on mb_eregi_replace).
        Fabien Villepinte
    • mysqli

      • Fixed bug #74968 (PHP crashes when calling mysqli_result::fetch_object with an abstract class).
        Anatol
    • oci8

      • Expose oci_unregister_taf_callback() (Tianfang Yang)
    • opcache

      • Fixed bug #74980 (Narrowing occurred during type inference).
        Laruence
    • phar

      • Fixed bug #74991 (include_path has a 4096 char limit in some cases).
        bwbroersma
    • reflection

      • Fixed bug #74949 (null pointer dereference in _function_string).
        Laruence
    • session

      • Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start with "#").
        Andrew Nester
      • Fixed bug #74833 (SID constant created with wrong module number).
        Anatol
    • simplexml

      • Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces).
        Laruence
    • spl

      • Fixed bug #75049 (spl_autoload_unregister can't handle spl_autoload_functions results).
        Laruence
      • Fixed bug #74669 (Unserialize ArrayIterator broken).
        Andrew Nester
      • Fixed bug #74977 (Appending AppendIterator leads to segfault).
        Andrew Nester
      • Fixed bug #75015 (Crash in recursive iterator destructors).
        Julien
    • standard

      • Fixed bug #75075 (unpack with X* causes infinity loop).
        Laruence
      • Fixed bug #74103 (heap-use-after-free when unserializing invalid array size).
        Nikita
      • Fixed bug #75054 (A Denial of Service Vulnerability was found when performing deserialization).
        Nikita
    • wddx

      • Fixed bug #73793 (WDDX uses wrong decimal seperator).
        cmb
    • xmlrpc

      • Fixed bug #74975 (Incorrect xmlrpc serialization for classes with declared properties).
        blar
  • PHP 7.1.8

    03 Aug, 2017
    View Release Page
    • core

      • Fixed bug #74832 (Loading PHP extension with already registered function name leads to a crash).
        jpauli
      • Fixed bug #74780 (parse_url() broken when query string contains colon).
        jhdxr
      • Fixed bug #74761 (Unary operator expected error on some systems).
        petk
      • Fixed bug #73900 (Use After Free in unserialize() SplFixedArray).
        nikic
      • Fixed bug #74923 (Crash when crawling through network share).
        Anatol
      • Fixed bug #74913 (fixed incorrect poll.h include).
        petk
      • Fixed bug #74906 (fixed incorrect errno.h include).
        petk
    • date

      • Fixed bug #74852 (property_exists returns true on unknown DateInterval property).
        jhdxr
    • oci8

      • Fixed bug #74625 (Integer overflow in oci_bind_array_by_name).
        Ingmar Runge
    • opcache

      • Fixed bug #74623 (Infinite loop in type inference when using HTMLPurifier).
        nikic
    • openssl

      • Fixed bug #74798 (pkcs7_en/decrypt does not work if \x0a is used in content).
        Anatol
      • Added OPENSSL_DONT_ZERO_PAD_KEY constant to prevent key padding and fix bug #71917 (openssl_open() returns junk on envelope < 16 bytes) and bug #72362 (OpenSSL Blowfish encryption is incorrect for short keys).
        Jakub Zelenka
    • pdo

      • Fixed bug #69356 (PDOStatement::debugDumpParams() truncates query).
        Adam Baratz
    • spl

      • Fixed bug #73471 (PHP freezes with AppendIterator).
        jhdxr
    • sqlite3

      • Fixed bug #74883 (SQLite3::__construct() produces "out of memory" exception with invalid flags).
        Anatol
    • wddx

      • Fixed bug #73173 (huge memleak when wddx_unserialize).
        tloi at fortinet dot com
    • zlib

      • Fixed bug #73944 (dictionary option of inflate_init() does not work).
        wapmorgan
  • PHP 7.1.7

    06 Jul, 2017
    View Release Page
    • core

      • Fixed bug #74738 (Multiple [PATH=] and [HOST=] sections not properly parsed).
        Manuel Mausz
      • Fixed bug #74658 (Undefined constants in array properties result in broken properties).
        Laruence
      • Fixed misparsing of abstract unix domain socket names.
        Sara
      • Fixed bug #74603 (PHP INI Parsing Stack Buffer Overflow Vulnerability).
        Stas
      • Fixed bug #74101, bug #74614 (Unserialize Heap Use-After-Free (READ: 1) in zval_get_type).
        Nikita
      • Fixed bug #74111 (Heap buffer overread (READ: 1) finish_nested_data from unserialize).
        Nikita
      • Fixed bug #74819 (wddx_deserialize() heap out-of-bound read via php_parse_date()).
        Derick
    • date

      • Fixed bug #74639 (implement clone for DatePeriod and DateInterval).
        andrewnester
    • dom

      • Fixed bug #69373 (References to deleted XPath query results).
        ttoohey
    • gd

      • Fixed bug #74435 (Buffer over-read into uninitialized memory).
        cmb
    • intl

      • Fixed bug #73473 (Stack Buffer Overflow in msgfmt_parse_message).
        libnex
      • Fixed bug #74705 (Wrong reflection on Collator::getSortKey and collator_get_sort_key).
        Tyson Andre
        Remi
    • mbstring

      • Add oniguruma upstream fix (CVE-2017-9224, CVE-2017-9226, CVE-2017-9227, CVE-2017-9228, CVE-2017-9229) (Remi, Mamoru TASAKA)
    • oci8

      • Add TAF callback (PR #2459).
        KoenigsKind
    • opcache

      • Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp).
        Laruence
      • Revert opcache.enable_cli to default disabled.
        Nikita
    • openssl

      • Fixed bug #74720 (pkcs7_en/decrypt does not work if \x1a is used in content).
        Anatol
      • Fixed bug #74651 (negative-size-param (-1) in memcpy in zif_openssl_seal()).
        Stas
    • pdo_oci

      • Support Instant Client 12.2 in --with-pdo-oci configure option.
        Tianfang Yang
    • reflection

      • Fixed bug #74673 (Segfault when cast Reflection object to string with undefined constant).
        Laruence
    • spl

      • Fixed bug #74478 (null coalescing operator failing with SplFixedArray).
        jhdxr
    • ftp

      • Fixed bug #74598 (ftp:// wrapper ignores context arg).
        Sara
    • phar

      • Fixed bug #74386 (Phar::__construct reflection incorrect).
        villfa
    • soap

      • Fixed bug #74679 (Incorrect conversion array with WSDL_CACHE_MEMORY).
        Dmitry
    • streams

      • Fixed bug #74556 (stream_socket_get_name() returns '\0').
        Sara
  • PHP 7.1.6

    08 Jun, 2017
    View Release Page
    • core

      • Fixed bug #74600 (crash (SIGSEGV) in _zend_hash_add_or_update_i).
        Laruence
      • Fixed bug #74546 (SIGILL in ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST).
        Laruence
      • Fixed bug #74589 (__DIR__ wrong for unicode character).
        Anatol
    • intl

      • Fixed bug #74468 (wrong reflection on Collator::sortWithSortKeys).
        villfa
    • mysqli

      • Fixed bug #74547 (mysqli::change_user() doesn't accept null as $database argument w/strict_types).
        Anatol
    • opcache

      • Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled).
        Laruence
    • phar

      • Fixed bug #51918 (Phar::webPhar() does not handle requests sent through PUT and DELETE method).
        Christian Weiske
    • readline

      • Fixed bug #74490 (readline() moves the cursor to the beginning of the line).
        Anatol
    • standard

      • Fixed bug #74510 (win32/sendmail.c anchors CC header but not BCC).
        Damian Wadley
        Anatol
    • xmlreader

      • Fixed bug #74457 (Wrong reflection on XMLReader::expand).
        villfa
  • PHP 7.1.5

    11 May, 2017
    View Release Page
    • core

      • Fixed bug #74408 (Endless loop bypassing execution time limit).
        Laruence
      • Fixed bug #74353 (Segfault when killing within bash script trap code).
        Laruence
      • Fixed bug #74340 (Magic function __get has different behavior in php 7.1.x).
        Nikita
      • Fixed bug #74188 (Null coalescing operator fails for undeclared static class properties).
        tpunt
      • Fixed bug #74444 (multiple catch freezes in some cases).
        David Matějka
      • Fixed bug #74410 (stream_select() is broken on Windows Nanoserver).
        Matt Ficken
      • Fixed bug #74337 (php-cgi.exe crash on facebook callback).
        Anton Serbulov
      • Patch for bug #74216 was reverted.
        Anatol
    • date

      • Fixed bug #74404 (Wrong reflection on DateTimeZone::getTransitions).
        krakjoe
      • Fixed bug #74080 (add constant for RFC7231 format datetime).
        duncan3dc
    • dom

      • Fixed bug #74416 (Wrong reflection on DOMNode::cloneNode).
        Remi
        Fabien Villepinte
    • fileinfo

      • Fixed bug #74379 (syntax error compile error in libmagic/apprentice.c).
        Laruence
    • gd

      • Fixed bug #74343 (compile fails on solaris 11 with system gd2 library).
        krakjoe
    • mysqli

      • Fixed bug #74432 (mysqli_connect adding ":3306" to $host if $port parameter not given).
        Anatol
    • mysqlnd

      • Fixed bug #74376 (Invalid free of persistent results on error/connection loss).
        Yussuf Khalil
    • intl

      • Fixed bug #65683 (Intl does not support DateTimeImmutable).
        Ben Scholzen
      • Fixed bug #74298 (IntlDateFormatter->format() doesn't return microseconds/fractions).
        Andrew Nester
      • Fixed bug #74433 (wrong reflection for Normalizer methods).
        villfa
      • Fixed bug #74439 (wrong reflection for Locale methods).
        villfa
    • opcache

      • Fixed bug #74456 (Segmentation error while running a script in CLI mode).
        Laruence
      • Fixed bug #74431 (foreach infinite loop).
        Nikita
      • Fixed bug #74442 (Opcached version produces a nested array).
        Nikita
    • openssl

      • Fixed bug #73833 (null character not allowed in openssl_pkey_get_private).
        Jakub Zelenka
      • Fixed bug #73711 (Segfault in openssl_pkey_new when generating DSA or DH key).
        Jakub Zelenka
      • Fixed bug #74341 (openssl_x509_parse fails to parse ASN.1 UTCTime without seconds).
        Moritz Fain
      • Fixed bug #73808 (iv length warning too restrictive for aes-128-ccm).
        Jakub Zelenka
    • phar

      • Fixed bug #74383 (phar method parameters reflection correction).
        mhagstrand
    • readline

      • Fixed bug #74489 (readline() immediately returns false in interactive console mode).
        Anatol
    • standard

      • Fixed bug #72071 (setcookie allows max-age to be negative).
        Craig Duncan
      • Fixed bug #74361 (Compaction in array_rand() violates COW).
        Nikita
    • streams

      • Fixed bug #74429 (Remote socket URI with unique persistence identifier broken).
        Sara
  • PHP 7.1.4

    13 Apr, 2017
    View Release Page
    • core

      • Fixed bug #74149 (static embed SAPI linkage error).
        krakjoe
      • Fixed bug #73370 (falsely exits with "Out of Memory" when using USE_ZEND_ALLOC=0).
        Nikita
      • Fixed bug #73960 (Leak with instance method calling static method with referenced return).
        Nikita
      • Fixed bug #69676 (Resolution of self::FOO in class constants not correct).
        Nikita
      • Fixed bug #74265 (Build problems after 7.0.17 release: undefined reference to `isfinite').
        Nikita
      • Fixed bug #74302 (yield fromLABEL is over-greedy).
        Sara
    • apache

      • Reverted patch for bug #61471, fixes bug #74318.
        Anatol
    • date

      • Fixed bug #72096 (Swatch time value incorrect for dates before 1970).
        mcq8
    • dom

      • Fixed bug #74004 (LIBXML_NOWARNING flag ingnored on loadHTML*).
        somedaysummer
    • iconv

      • Fixed bug #74230 (iconv fails to fail on surrogates).
        Anatol
    • oci8

      • Fixed uninitialized data causing random crash.
        Dmitry
    • opcache

      • Fixed bug #74250 (OPcache compilation performance regression in PHP 5.6/7 with huge classes).
        Nikita
    • openssl

      • Fixed bug #72333 (fwrite() on non-blocking SSL sockets doesn't work).
        Jakub Zelenka
    • pdo mysql

      • Fixed bug #71003 (Expose MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT to PDO interface).
        Thomas Orozco
    • spl

      • Fixed bug #74058 (ArrayObject can not notice changes).
        Andrew Nester
    • sqlite

      • Implemented FR #74217 (Allow creation of deterministic sqlite functions).
        Andrew Nester
    • streams

      • Fixed bug #74216 (Correctly fail on invalid IP address ports).
        Sara
    • zlib

      • Fixed bug #74240 (deflate_add can allocate too much memory).
        Matt Bonneau
  • PHP 7.1.3

    16 Mar, 2017
    View Release Page
    • core

      • Fixed bug #74157 (Segfault with nested generators).
        Laruence
      • Fixed bug #74164 (PHP hangs when an invalid value is dynamically passed to typehinted by-ref arg).
        Laruence
      • Fixed bug #74093 (Maximum execution time of n+2 seconds exceed not written in error_log).
        Laruence
      • Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite).
        Dmitry
        Laruence
      • Fixed bug #74084 (Out of bound read - zend_mm_alloc_small).
        Laruence
      • Fixed bug #73807 (Performance problem with processing large post request).
        Nikita
      • Fixed bug #73998 (array_key_exists fails on arrays created by get_object_vars).
        mhagstrand
      • Fixed bug #73954 (NAN check fails on Alpine Linux with musl).
        Andrea
      • Fixed bug #73677 (Generating phar.phar core dump with gcc ASAN enabled build).
        ondrej
    • apache

      • Fixed bug #61471 (Incomplete POST does not timeout but is passed to PHP).
        Zheng Shao
    • date

      • Fixed bug #73837 ("new DateTime()" sometimes returns 1 second ago value).
        Derick
    • fpm

      • Fixed bug #69860 (php-fpm process accounting is broken with keepalive).
        Denis Yeldandi
    • hash

      • Fixed bug #73127 (gost-crypto hash incorrect if input data contains long 0xFF sequence).
        Grundik
    • gd

      • Fixed bug #74031 (ReflectionFunction for imagepng is missing last two parameters).
        finwe
    • mysqlnd

      • Fixed bug #74021 (fetch_array broken data. Data more then MEDIUMBLOB).
        Andrew Nester
        Nikita
    • opcache

      • Fixed bug #74152 (if statement says true to a null variable).
        Laruence
      • Fixed bug #74019 (Segfault with list).
        Laruence
    • openssl

      • Fixed bug #74022 (PHP Fast CGI crashes when reading from a pfx file).
        Anatol
      • Fixed bug #74099 (Memory leak with openssl_encrypt()).
        Andrew Nester
      • Fixed bug #74159 (Writing a large buffer to a non-blocking encrypted stream fails with "bad write retry").
        trowski
    • pdo_oci

      • Fixed bug #54379 (PDO_OCI: UTF-8 output gets truncated).
        gureedo / Oracle
    • sqlite3

      • Fixed bug #74413 (incorrect reflection for SQLite3::enableExceptions).
        krakjoe
    • standard

      • Fixed bug #74005 (mail.add_x_header causes RFC-breaking lone line feed).
        Anatol
      • Fixed bug #74041 (substr_count with length=0 broken).
        Nikita
      • Fixed bug #73118 (is_callable callable name reports misleading value for anonymous classes).
        Adam Saponara
      • Fixed bug #74105 (PHP on Linux should use /dev/urandom when getrandom is not available).
        Benjamin Robin
      • Fixed bug #74708 (Invalid Reflection signatures for random_bytes and random_int).
        Tyson Andre
        Remi
    • streams

      • Fixed bug #73496 (Invalid memory access in zend_inline_hash_func).
        Laruence
      • Fixed bug #74090 (stream_get_contents maxlength>-1 returns empty string).
        Anatol
  • PHP 7.1.2

    16 Feb, 2017
    View Release Page
    • core

      • Improved GENERATOR_CREATE opcode handler.
        Bob
        Dmitry
      • Fixed bug #73877 (readlink() returns garbage for UTF-8 paths).
        Anatol
      • Fixed bug #73876 (Crash when exporting **= in expansion of assign op).
        Sara
      • Fixed bug #73962 (bug with symlink related to cyrillic directory).
        Anatol
      • Fixed bug #73969 (segfault in debug_print_backtrace).
        andrewnester
      • Fixed bug #73994 (arginfo incorrect for unpack).
        krakjoe
      • Fixed bug #73973 (assertion error in debug_zval_dump).
        andrewnester
    • dom

      • Fixed bug #54382 (getAttributeNodeNS doesn't get xmlns* attributes).
        aboks
    • dtrace

      • Fixed bug #73965 (DTrace reported as enabled when disabled).
        Remi
    • fcgi

      • Fixed bug #73904 (php-cgi fails to load -c specified php.ini file).
        Anatol
      • Fixed bug #72898 (PHP_FCGI_CHILDREN is not included in phpinfo()).
        Anatol
    • fpm

      • Fixed bug #69865 (php-fpm does not close stderr when using syslog).
        m6w6
    • gd

      • Fixed bug #73968 (Premature failing of XBM reading).
        cmb
    • gmp

      • Fixed bug #69993 (test for gmp.h needs to test machine includes).
        Jordan Gigov
    • hash

      • Added hash_hkdf() function.
        Andrey Andreev
      • Fixed bug #73961 (environmental build dependency in hash sha3 source).
        krakjoe
    • intl

      • Fix bug #73956 (Link use CC instead of CXX).
        Remi
    • ldap

      • Fixed bug #73933 (error/segfault with ldap_mod_replace and opcache).
        Laruence
    • mysqli

      • Fixed bug #73949 (leak in mysqli_fetch_object).
        krakjoe
    • mysqlnd

      • Fixed bug #69899 (segfault on close() after free_result() with mysqlnd).
        Richard Fussenegger
    • opcache

      • Fixed bug #73983 (crash on finish work with phar in cli + opcache).
        Anatol
    • openssl

      • Fixed bug #71519 (add serial hex to return value array).
        xrobau
      • Fixed bug #73692 (Compile ext/openssl with openssl 1.1.0 on Win).
        Anatol
      • Fixed bug #73978 (openssl_decrypt triggers bug in PDO).
        Jakub Zelenka
    • pdo_firebird

      • Implemented FR #72583 (All data are fetched as strings).
        Dorin Marcoci
    • pdo_pgsql

      • Fixed bug #73959 (lastInsertId fails to throw an exception for wrong sequence name).
        andrewnester
    • phar

      • Fixed bug #70417 (PharData::compress() doesn't close temp file).
        cmb
    • posix

      • Fixed bug #71219 (configure script incorrectly checks for ttyname_r).
        atoh
    • session

      • Fixed bug #69582 (session not readable by root in CLI).
        EvgeniySpinov
    • spl

      • Fixed bug #73896 (spl_autoload() crashes when calls magic _call()).
        Dmitry
    • standard

      • Fixed bug #69442 (closing of fd incorrect when PTS enabled).
        jaytaph
      • Fixed bug #47021 (SoapClient stumbles over WSDL delivered with "Transfer-Encoding: chunked").
        Rowan Collins
      • Fixed bug #72974 (imap is undefined service on AIX).
        matthieu.sarter
      • Fixed bug #72979 (money_format stores wrong length AIX).
        matthieu.sarter
      • Fixed bug #73374 (intval() with base 0 should detect binary).
        Leigh
      • Fixed bug #69061 (mail.log = syslog contains double information).
        Tom Sommer
    • zip

      • Fixed bug #70103 (ZipArchive::addGlob ignores remove_all_path option).
        cmb
        Mitch Hagstrand
  • PHP 7.1.1

    19 Jan, 2017
    View Release Page
    • core

      • Fixed bug #73792 (invalid foreach loop hangs script).
        Dmitry
      • Fixed bug #73686 (Adding settype()ed values to ArrayObject results in references).
        Nikita
        Laruence
      • Fixed bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created with list()).
        Laruence
      • Fixed bug #73727 (ZEND_MM_BITSET_LEN is "undefined symbol" in zend_bitset.h).
        Nikita
      • Fixed bug #73753 (unserialized array pointer not advancing).
        David Walker
      • Fixed bug #73783 (SIG_IGN doesn't work when Zend Signals is enabled).
        David Walker
    • cli

      • Fixed bug #72555 (CLI output(japanese) on Windows).
        Anatol
    • com

      • Fixed bug #73679 (DOTNET read access violation using invalid codepage).
        Anatol
    • dom

      • Fixed bug #67474 (getElementsByTagNameNS filter on default ns).
        aboks
    • mbstring

      • Fixed bug #73646 (mb_ereg_search_init null pointer dereference).
        Laruence
    • mysqli

      • Fixed bug #73462 (Persistent connections don't set $connect_errno).
        darkain
    • mysqlnd

      • Optimized handling of BIT fields - less memory copies and lower memory usage.
        Andrey
      • Fixed bug #73800 (sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE).
        vanviegen
    • opcache

      • Fixed bug #73789 (Strange behavior of class constants in switch/case block).
        Laruence
      • Fixed bug #73746 (Method that returns string returns UNKNOWN:0 instead).
        Laruence
      • Fixed bug #73654 (Segmentation fault in zend_call_function).
        Nikita
      • Fixed bug #73668 ("SIGFPE Arithmetic exception" in opcache when divide by minus 1).
        Nikita
      • Fixed bug #73847 (Recursion when a variable is redefined as array).
        Nikita
    • pdo_firebird

      • Fixed bug #72931 (PDO_FIREBIRD with Firebird 3.0 not work on returning statement).
        Dorin Marcoci
    • phpdbg

      • Fixed bug #73794 (Crash (out of memory) when using run and # command separator).
        Bob
      • Fixed bug #73704 (phpdbg shows the wrong line in files with shebang).
        Bob
    • sqlite3

      • Reverted fix for bug #73530 (Unsetting result set may reset other result set).
        cmb
    • standard

      • Fixed bug #73594 (dns_get_record does not populate $additional out parameter).
        Bruce Weirdan
      • Fixed bug #70213 (Unserialize context shared on double class lookup).
        Taoguang Chen
      • Fixed bug #73154 (serialize object with __sleep function crash).
        Nikita
      • Fixed bug #70490 (get_browser function is very slow).
        Nikita
      • Fixed bug #73265 (Loading browscap.ini at startup causes high memory usage).
        Nikita
      • Add subject to mail log.
        tomsommer
      • Fixed bug #31875 (get_defined_functions additional param to exclude disabled functions).
        willianveiga
    • zlib

      • Fixed bug #73373 (deflate_add does not verify that output was not truncated).
        Matt Bonneau
  • PHP 7.1.0

    01 Dec, 2016
    View Release Page
    • core

      • Added nullable types.
        Levi
        Dmitry
      • Added DFA optimization framework based on e-SSA form.
        Dmitry
        Nikita
      • Added specialized opcode handlers (e.g. ZEND_ADD_LONG_NO_OVERFLOW).
        Dmitry
      • Added [] = as alternative construct to list() =.
        Bob
      • Added void return type.
        Andrea
      • Added support for negative string offsets in string offset syntax and various string functions.
        Francois
      • Added a form of the list() construct where keys can be specified.
        Andrea
      • Implemented safe execution timeout handling, that prevents random crashes after "Maximum execution time exceeded" error.
        Dmitry
      • Implemented the RFC `Support Class Constant Visibility`.
        Sean DuBois
        Reeze Xia
        Dmitry
      • Implemented the RFC `Catching multiple exception types`.
        Bronislaw Bialek
        Pierrick
      • Implemented logging to syslog with dynamic error levels.
        Jani Ollikainen
      • Implemented FR #72614 (Support "nmake test" on building extensions by phpize).
        Yuji Uchiyama
      • Implemented RFC: Iterable.
        Aaron Piotrowski
      • Implemented RFC: Closure::fromCallable (Danack)
      • Implemented RFC: Replace "Missing argument" warning with "\ArgumentCountError" exception.
        Dmitry
        Davey
      • Implemented RFC: Fix inconsistent behavior of $this variable.
        Dmitry
      • Fixed bug #73585 (Logging of "Internal Zend error - Missing class information" missing class name).
        Laruence
      • Fixed memory leak(null coalescing operator with Spl hash).
        Tyson Andre
      • Fixed bug #72736 (Slow performance when fetching large dataset with mysqli / PDO).
        Dmitry
      • Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine overflow).
        cmb
      • Fixed bug #72696 (imagefilltoborder stackoverflow on truecolor images).
        cmb
      • Fixed bug #73350 (Exception::__toString() cause circular references).
        Laruence
      • Fixed bug #73329 ((Float)"Nano" == NAN).
        Anatol
      • Fixed bug #73288 (Segfault in __clone > Exception.toString > __get).
        Laruence
      • Fixed for #73240 (Write out of bounds at number_format).
        Stas
      • Fix pthreads detection when cross-compiling (ffontaine)
      • Fixed bug #73337 (try/catch not working with two exceptions inside a same operation).
        Dmitry
      • Fixed bug #73156 (segfault on undefined function).
        Dmitry
      • Fixed bug #73163 (PHP hangs if error handler throws while accessing undef const in default value).
        Nikita
      • Fixed bug #73172 (parse error: Invalid numeric literal).
        Nikita
        Anatol
      • Fixed bug #73181 (parse_str() without a second argument leads to crash).
        Nikita
      • Fixed bug #73025 (Heap Buffer Overflow in virtual_popen of zend_virtual_cwd.c).
        cmb
      • Fixed bug #73058 (crypt broken when salt is 'too' long).
        Anatol
      • Fixed bug #72944 (Null pointer deref in zval_delref_p).
        Dmitry
      • Fixed bug #72943 (assign_dim on string doesn't reset hval).
        Laruence
      • Fixed bug #72598 (Reference is lost after array_slice()) (Nikita)
      • Fixed bug #72703 (Out of bounds global memory read in BF_crypt triggered by password_verify).
        Anatol
      • Fixed bug #72813 (Segfault with __get returned by ref).
        Laruence
      • Fixed bug #72767 (PHP Segfaults when trying to expand an infinite operator).
        Nikita
      • TypeError messages for arg_info type checks will now say "must be ... or null" where the parameter or return type accepts null.
        Andrea
      • Fixed bug #72857 (stream_socket_recvfrom read access violation).
        Anatol
      • Fixed bug #72663 (Create an Unexpected Object and Don't Invoke __wakeup() in Deserialization).
        Stas
      • Fixed bug #72681 (PHP Session Data Injection Vulnerability).
        Stas
      • Fixed bug #72742 (memory allocator fails to realloc small block to large one).
        Stas
      • Fixed URL rewriter. It would not rewrite '//example.com/' URL unconditionally. URL rewrite target hosts whitelist is implemented.
        Yasuo
      • Fixed bug #72641 (phpize (on Windows) ignores PHP_PREFIX).
        Yuji Uchiyama
      • Fixed bug #72683 (getmxrr broken).
        Anatol
      • Fixed bug #72629 (Caught exception assignment to variables ignores references).
        Laruence
      • Fixed bug #72594 (Calling an earlier instance of an included anonymous class fatals).
        Laruence
      • Fixed bug #72581 (previous property undefined in Exception after deserialization).
        Laruence
      • Fixed bug #72543 (Different references behavior comparing to PHP 5) (Laruence, Dmitry, Nikita)
      • Fixed bug #72347 (VERIFY_RETURN type casts visible in finally).
        Dmitry
      • Fixed bug #72216 (Return by reference with finally is not memory safe).
        Dmitry
      • Fixed bug #72215 (Wrong return value if var modified in finally).
        Dmitry
      • Fixed bug #71818 (Memory leak when array altered in destructor).
        Dmitry
      • Fixed bug #71539 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes) (Dmitry, Nikita)
      • Added new constant PHP_FD_SETSIZE.
        cmb
      • Added optind parameter to getopt().
        as
      • Added PHP to SAPI error severity mapping for logs.
        Martin Vobruba
      • Fixed bug #71911 (Unable to set --enable-debug on building extensions by phpize on Windows).
        Yuji Uchiyama
      • Fixed bug #29368 (The destructor is called when an exception is thrown from the constructor).
        Dmitry
      • Implemented RFC: RNG Fixes.
        Leigh
      • Implemented email validation as per RFC 6531.
        Leo Feyer
        Anatol
      • Fixed bug #72513 (Stack-based buffer overflow vulnerability in virtual_file_ex).
        Stas
      • Fixed bug #72573 (HTTP_PROXY is improperly trusted by some PHP libraries and applications).
        Stas
      • Fixed bug #72523 (dtrace issue with reflection (failed test)).
        Laruence
      • Fixed bug #72508 (strange references after recursive function call and "switch" statement).
        Laruence
      • Fixed bug #72441 (Segmentation fault: RFC list_keys).
        Laruence
      • Fixed bug #72395 (list() regression).
        Laruence
      • Fixed bug #72373 (TypeError after Generator function w/declared return type finishes).
        Nikita
      • Fixed bug #69489 (tempnam() should raise notice if falling back to temp dir).
        Laruence
        Anatol
      • Fixed UTF-8 and long path support on Windows.
        Anatol
      • Fixed bug #53432 (Assignment via string index access on an empty string converts to array).
        Nikita
      • Fixed bug #62210 (Exceptions can leak temporary variables).
        Dmitry
        Bob
      • Fixed bug #62814 (It is possible to stiffen child class members visibility).
        Nikita
      • Fixed bug #69989 (Generators don't participate in cycle GC).
        Nikita
      • Fixed bug #70228 (Memleak if return in finally block).
        Dmitry
      • Fixed bug #71266 (Missing separation of properties HT in foreach etc).
        Dmitry
      • Fixed bug #71604 (Aborted Generators continue after nested finally).
        Nikita
      • Fixed bug #71572 (String offset assignment from an empty string inserts null byte).
        Francois
      • Fixed bug #71897 (ASCII 0x7F Delete control character permitted in identifiers).
        Andrea
      • Fixed bug #72188 (Nested try/finally blocks losing return value).
        Dmitry
      • Fixed bug #72213 (Finally leaks on nested exceptions).
        Dmitry
        Nikita
      • Fixed bug #47517 (php-cgi.exe missing UAC manifest).
        maxdax15801 at users noreply github com
      • Change statement and fcall extension handlers to accept frame.
        Joe
      • Number operators taking numeric strings now emit E_NOTICEs or E_WARNINGs when given malformed numeric strings.
        Andrea
      • (int), intval() where $base is 10 or unspecified, settype(), decbin(), decoct(), dechex(), integer operators and other conversions now always respect scientific notation in numeric strings.
        Andrea
      • Raise a compile-time warning on octal escape sequence overflow.
        Sara
    • apache2handler

      • Enable per-module logging in Apache 2.4+.
        Martin Vobruba
    • bcmath

      • Fix bug #73190 (memcpy negative parameter _bc_new_num_ex).
        Stas
    • bz2

      • Fixed bug #72837 (integer overflow in bzdecompress caused heap corruption).
        Stas
      • Fixed bug #72613 (Inadequate error handling in bzread()).
        Stas
    • calendar

      • Fix integer overflows (Joshua Rogers)
      • Fixed bug #67976 (cal_days_month() fails for final month of the French calendar).
        cmb
      • Fixed bug #71894 (AddressSanitizer: global-buffer-overflow in zif_cal_from_jd).
        cmb
    • cli server

      • Fixed bug #73360 (Unable to work in root with unicode chars).
        Anatol
      • Fixed bug #71276 (Built-in webserver does not send Date header).
        see at seos fr
    • com

      • Fixed bug #73126 (Cannot pass parameter 1 by reference).
        Anatol
      • Fixed bug #69579 (Invalid free in extension trait).
        John Boehr
      • Fixed bug #72922 (COM called from PHP does not return out parameters).
        Anatol
      • Fixed bug #72569 (DOTNET/COM array parameters broke in PHP7).
        Anatol
      • Fixed bug #72498 (variant_date_from_timestamp null dereference).
        Anatol
    • curl

      • Implement support for handling HTTP/2 Server Push.
        Davey
      • Add curl_multi_errno(), curl_share_errno() and curl_share_strerror() functions.
        Pierrick
      • Fixed bug #72674 (Heap overflow in curl_escape).
        Stas
      • Fixed bug #72541 (size_t overflow lead to heap corruption). (Stas).
      • Fixed bug #71709 (curl_setopt segfault with empty CURLOPT_HTTPHEADER).
        Pierrick
      • Fixed bug #71929 (CURLINFO_CERTINFO data parsing error).
        Pierrick
    • date

      • Fixed bug #69587 (DateInterval properties and isset).
        jhdxr
      • Fixed bug #73426 (createFromFormat with 'z' format char results in incorrect time).
        Derick
      • Fixed bug #45554 (Inconsistent behavior of the u format char).
        Derick
      • Fixed bug #48225 (DateTime parser doesn't set microseconds for "now").
        Derick
      • Fixed bug #52514 (microseconds are missing in DateTime class).
        Derick
      • Fixed bug #52519 (microseconds in DateInterval are missing).
        Derick
      • Fixed bug #60089 (DateTime::createFromFormat() U after u nukes microtime).
        Derick
      • Fixed bug #64887 (Allow DateTime modification with subsecond items).
        Derick
      • Fixed bug #68506 (General DateTime improvments needed for microseconds to become useful).
        Derick
      • Fixed bug #73109 (timelib_meridian doesn't parse dots correctly).
        Derick
      • Fixed bug #73247 (DateTime constructor does not initialise microseconds property).
        Derick
      • Fixed bug #73147 (Use After Free in PHP7 unserialize()).
        Stas
      • Fixed bug #73189 (Memcpy negative size parameter php_resolve_path).
        Stas
      • Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails parsing).
        derick
      • Invalid serialization data for a DateTime or DatePeriod object will now throw an instance of Error from __wakeup() or __set_state() instead of resulting in a fatal error.
        Aaron Piotrowski
      • Timezone initialization failure from serialized data will now throw an instance of Error from __wakeup() or __set_state() instead of resulting in a fatal error.
        Aaron Piotrowski
      • Export date_get_interface_ce() for extension use.
        Jeremy Mikola
      • Fixed bug #63740 (strtotime seems to use both sunday and monday as start of week).
        Derick
    • dba

      • Fixed bug #70825 (Cannot fetch multiple values with group in ini file).
        cmb
      • Data modification functions (e.g.: dba_insert()) now throw an instance of Error instead of triggering a catchable fatal error if the key is does not contain exactly two elements.
        Aaron Piotrowski
    • dom

      • Fixed bug #73150 (missing NULL check in dom_document_save_html).
        Stas
      • Fixed bug #66502 (DOM document dangling reference).
        Sean Heelan
        cmb
      • Invalid schema or RelaxNG validation contexts will throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
      • Attempting to register a node class that does not extend the appropriate base class will now throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
      • Attempting to read an invalid or write to a readonly property will throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
    • dtrace

      • Disabled PHP call tracing by default (it makes significant overhead). This may be enabled again using envirionment variable USE_ZEND_DTRACE=1.
        Dmitry
    • exif

      • Fixed bug #72735 (Samsung picture thumb not read (zero size)).
        Kalle
        Remi
      • Fixed bug #72627 (Memory Leakage In exif_process_IFD_in_TIFF).
        Stas
      • Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE).
        Stas
      • Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment).
        Stas
    • filter

      • Fixed bug #72972 (Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and FILTER_FLAG_NO_PRIV_RANGE).
        julien
      • Fixed bug #73054 (default option ignored when object passed to int filter).
        cmb
      • Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range).
        bugs dot php dot net at majkl578 dot cz
    • fpm

      • Fixed bug #72575 (using --allow-to-run-as-root should ignore missing user).
        gooh
    • ftp

      • Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with require_ssl_reuse).
        Benedict Singer
      • Implemented FR #55651 (Option to ignore the returned FTP PASV address).
        abrender at elitehosts dot com
    • gd

      • Fixed bug #73213 (Integer overflow in imageline() with antialiasing).
        cmb
      • Fixed bug #73272 (imagescale() is not affected by, but affects imagesetinterpolation()).
        cmb
      • Fixed bug #73279 (Integer overflow in gdImageScaleBilinearPalette()).
        cmb
      • Fixed bug #73280 (Stack Buffer Overflow in GD dynamicGetbuf).
        cmb
      • Fixed bug #50194 (imagettftext broken on transparent background w/o alphablending).
        cmb
      • Fixed bug #73003 (Integer Overflow in gdImageWebpCtx of gd_webp.c).
        trylab
        cmb
      • Fixed bug #53504 (imagettfbbox gives incorrect values for bounding box).
        Mark Plomer
        cmb
      • Fixed bug #73157 (imagegd2() ignores 3rd param if 4 are given).
        cmb
      • Fixed bug #73155 (imagegd2() writes wrong chunk sizes on boundaries).
        cmb
      • Fixed bug #73159 (imagegd2(): unrecognized formats may result in corrupted files).
        cmb
      • Fixed bug #73161 (imagecreatefromgd2() may leak memory).
        cmb
      • Fixed bug #67325 (imagetruecolortopalette: white is duplicated in palette).
        cmb
      • Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor images).
        cmb
      • Fixed bug #72913 (imagecopy() loses single-color transparency on palette images).
        cmb
      • Fixed bug #68716 (possible resource leaks in _php_image_convert()).
        cmb
      • Fixed bug #72709 (imagesetstyle() causes OOB read for empty $styles).
        cmb
      • Fixed bug #72697 (select_colors write out-of-bounds).
        Stas
      • Fixed bug #72730 (imagegammacorrect allows arbitrary write access).
        Stas
      • Fixed bug #72596 (imagetypes function won't advertise WEBP support).
        cmb
      • Fixed bug #72604 (imagearc() ignores thickness for full arcs).
        cmb
      • Fixed bug #70315 (500 Server Error but page is fully rendered).
        cmb
      • Fixed bug #43828 (broken transparency of imagearc for truecolor in blendingmode).
        cmb
      • Fixed bug #72512 (gdImageTrueColorToPaletteBody allows arbitrary write/read access).
        Pierre
      • Fixed bug #72519 (imagegif/output out-of-bounds access).
        Pierre
      • Fixed bug #72558 (Integer overflow error within _gdContributionsAlloc()).
        Pierre
      • Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine overflow).
        Pierre
      • Fixed bug #72494 (imagecropauto out-of-bounds access).
        Fernando
        Pierre
        cmb
      • Fixed bug #72404 (imagecreatefromjpeg fails on selfie).
        cmb
      • Fixed bug #43475 (Thick styled lines have scrambled patterns).
        cmb
      • Fixed bug #53640 (XBM images require width to be multiple of 8).
        cmb
      • Fixed bug #64641 (imagefilledpolygon doesn't draw horizontal line).
        cmb
    • hash

      • Added SHA3 fixed mode algorithms (224, 256, 384, and 512 bit).
        Sara
      • Added SHA512/256 and SHA512/224 algorithms.
        Sara
    • iconv

      • Fixed bug #72320 (iconv_substr returns false for empty strings).
        cmb
    • imap

      • Fixed bug #73418 (Integer Overflow in "_php_imap_mail" leads to crash).
        Anatol
      • An email address longer than 16385 bytes will throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
    • interbase

      • Fixed bug #73512 (Fails to find firebird headers as don't use fb_config output).
        Remi
    • intl

      • Fixed bug #73007 (add locale length check).
        Stas
      • Fixed bug #73218 (add mitigation for ICU int overflow).
        Stas
      • Fixed bug #65732 (grapheme_*() is not Unicode compliant on CR LF sequence).
        cmb
      • Fixed bug #73007 (add locale length check).
        Stas
      • Fixed bug #72639 (Segfault when instantiating class that extends IntlCalendar and adds a property).
        Laruence
      • Fixed bug #72658 (Locale::lookup() / locale_lookup() hangs if no match found).
        Anatol
      • Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain names).
        cmb
      • Fixed bug #72533 (locale_accept_from_http out-of-bounds access).
        Stas
      • Failure to call the parent constructor in a class extending Collator before invoking the parent methods will throw an instance of Error instead of resulting in a recoverable fatal error.
        Aaron Piotrowski
      • Cloning a Transliterator object may will now throw an instance of Error instead of resulting in a fatal error if cloning the internal transliterator fails.
        Aaron Piotrowski
      • Added IntlTimeZone::getWindowsID() and IntlTimeZone::getIDForWindowsID().
        Sara
      • Fixed bug #69374 (IntlDateFormatter formatObject returns wrong utf8 value).
        lenhatanh86 at gmail com
      • Fixed bug #69398 (IntlDateFormatter formatObject returns wrong value when time style is NONE).
        lenhatanh86 at gmail com
    • json

      • Introduced encoder struct instead of global which fixes bugs #66025 and #73254 related to pretty print indentation.
        Jakub Zelenka
      • Fixed bug #73113 (Segfault with throwing JsonSerializable).
        julien
      • Implemented earlier return when json_encode fails, fixes bugs #68992 (Stacking exceptions thrown by JsonSerializable) and #70275 (On recursion error, json_encode can eat up all system memory).
        Jakub Zelenka
      • Implemented FR #46600 ("_empty_" key in objects).
        Jakub Zelenka
      • Exported JSON parser API including json_parser_method that can be used for implementing custom logic when parsing JSON.
        Jakub Zelenka
      • Escaped U+2028 and U+2029 when JSON_UNESCAPED_UNICODE is supplied as json_encode options and added JSON_UNESCAPED_LINE_TERMINATORS to restore the previous behaviour.
        Eddie Kohler
    • ldap

      • Providing an unknown modification type to ldap_batch_modify() will now throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
    • mbstring

      • Fixed bug #73532 (Null pointer dereference in mb_eregi).
        Laruence
      • Fixed bug #66964 (mb_convert_variables() cannot detect recursion) (Yasuo)
      • Fixed bug #72992 (mbstring.internal_encoding doesn't inherit default_charset).
        Yasuo
      • Fixed bug #66797 (mb_substr only takes 32-bit signed integer).
        cmb
      • Fixed bug #72711 (`mb_ereg` does not clear the `$regs` parameter on failure).
        ju1ius
      • Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width).
        cmb
      • Fixed bug #72693 (mb_ereg_search increments search position when a match zero-width).
        cmb
      • Fixed bug #72694 (mb_ereg_search_setpos does not accept a string's last position).
        cmb
      • Fixed bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error).
        ju1ius
      • Deprecated mb_ereg_replace() eval option.
        Rouven Weßling
        cmb
      • Fixed bug #69151 (mb_ereg should reject ill-formed byte sequence).
        Masaki Kagaya
      • Fixed bug #72405 (mb_ereg_replace - mbc_to_code (oniguruma) - oob read access).
        Laruence
      • Fixed bug #72399 (Use-After-Free in MBString (search_re)).
        Laruence
      • mb_ereg() and mb_eregi() will now throw an instance of ParseError if an invalid PHP expression is provided and the 'e' option is used.
        Aaron Piotrowski
    • mcrypt

      • Deprecated ext/mcrypt.
        Scott Arciszewski
        cmb
      • Fixed bug #72782 (Heap Overflow due to integer overflows).
        Stas
      • Fixed bug #72551, bug #72552 (In correct casting from size_t to int lead to heap overflow in mdecrypt_generic).
        Stas
      • mcrypt_encrypt() and mcrypt_decrypt() will throw an instance of Error instead of resulting in a fatal error if mcrypt cannot be initialized.
        Aaron Piotrowski
    • mysqli

      • Attempting to read an invalid or write to a readonly property will throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
    • mysqlnd

      • Fixed bug #64526 (Add missing mysqlnd.* parameters to php.ini-*).
        cmb
      • Fixed bug #71863 (Segfault when EXPLAIN with "Unknown column" error when using MariaDB).
        Andrey
      • Fixed bug #72701 (mysqli_get_host_info() wrong output).
        Anatol
    • oci8

      • Fixed bug #71148 (Bind reference overwritten on PHP 7).
        Oracle Corp.
      • Fixed invalid handle error with Implicit Result Sets.
        Chris Jones
      • Fixed bug #72524 (Binding null values triggers ORA-24816 error).
        Chris Jones
    • odbc

      • Fixed bug #73448 (odbc_errormsg returns trash, always 513 bytes).
        Anatol
    • opcache

      • Fixed bug #73583 (Segfaults when conditionally declared class and function have the same name).
        Laruence
      • Fixed bug #69090 (check cached files permissions)
      • Fixed bug #72982 (Memory leak in zend_accel_blacklist_update_regexp() function).
        Laruence
      • Fixed bug #72949 (Typo in opcache error message).
        cmb
      • Fixed bug #72762 (Infinite loop while parsing a file with opcache enabled).
        Nikita
      • Fixed bug #72590 (Opcache restart with kill_all_lockers does not work).
        Keyur
    • openssl

      • Fixed bug #73478 (openssl_pkey_new() generates wrong pub/priv keys with Diffie Hellman).
        Jakub Zelenka
      • Fixed bug #73276 (crash in openssl_random_pseudo_bytes function).
        Stas
      • Fixed bug #73072 (Invalid path SNI_server_certs causes segfault).
        Jakub Zelenka
      • Fixed bug #72360 (ext/openssl build failure with OpenSSL 1.1.0).
        Jakub Zelenka
      • Bumped a minimal version to 1.0.1.
        Jakub Zelenka
      • Dropped support for SSL2.
        Remi
      • Implemented FR #61204 (Add elliptic curve support for OpenSSL).
        Dominic Luechinger
      • Implemented FR #67304 (Added AEAD support [CCM and GCM modes] to openssl_encrypt and openssl_decrypt).
        Jakub Zelenka
      • Implemented error storing to the global queue and cleaning up the OpenSSL error queue (resolves bugs #68276 and #69882).
        Jakub Zelenka
    • pcntl

      • Implemented asynchronous signal handling without TICKS.
        Dmitry
      • Added pcntl_signal_get_handler() that returns the current signal handler for a particular signal. Addresses FR #72409.
        David Walker
      • Add signinfo to pcntl_signal() handler args (Bishop Bettini, David Walker)
    • pcre

      • Fixed bug #73483 (Segmentation fault on pcre_replace_callback).
        Laruence
      • Fixed bug #73612 (preg_*() may leak memory).
        cmb
      • Fixed bug #73392 (A use-after-free in zend allocator management).
        Laruence
      • Fixed bug #73121 (Bundled PCRE doesn't compile because JIT isn't supported on s390).
        Anatol
      • Fixed bug #72688 (preg_match missing group names in matches).
        cmb
      • Downgraded to PCRE 8.38.
        Anatol
      • Fixed bug #72476 (Memleak in jit_stack).
        Laruence
      • Fixed bug #72463 (mail fails with invalid argument).
        Anatol
      • Upgraded to PCRE 8.39.
        Anatol
    • pdo

      • Fixed bug #72788 (Invalid memory access when using persistent PDO connection).
        Keyur
      • Fixed bug #72791 (Memory leak in PDO persistent connection handling).
        Keyur
      • Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY returns false).
        cmb
    • pdo_dblib

      • Fixed bug #72414 (Never quote values as raw binary data).
        Adam Baratz
      • Allow \PDO::setAttribute() to set query timeouts.
        Adam Baratz
      • Handle SQLDECIMAL/SQLNUMERIC types, which are used by later TDS versions.
        Adam Baratz
      • Add common PDO test suite.
        Adam Baratz
      • Free error and message strings when cleaning up PDO instances.
        Adam Baratz
      • Fixed bug #67130 (\PDOStatement::nextRowset() should succeed when all rows in current rowset haven't been fetched).
        Peter LeBrun
      • Ignore potentially misleading dberr values.
        Chris Kings-Lynne
      • Implemented stringify 'uniqueidentifier' fields.
        Alexander Zhuravlev
        Adam Baratz
    • pdo_firebird

      • Fixed bug #73087, #61183, #71494 (Memory corruption in bindParam).
        Dorin Marcoci
      • Fixed bug #60052 (Integer returned as a 64bit integer on X86_64).
        Mariuz
    • pdo_pgsql

      • Fixed bug #70313 (PDO statement fails to throw exception).
        Matteo
      • Fixed bug #72570 (Segmentation fault when binding parameters on a query without placeholders).
        Matteo
      • Implemented FR #72633 (Postgres PDO lastInsertId() should work without specifying a sequence).
        Pablo Santiago Sánchez
        Matteo
    • phar

      • Fixed bug #72928 (Out of bound when verify signature of zip phar in phar_parse_zipfile).
        Stas
      • Fixed bug #73035 (Out of bound when verify signature of tar phar in phar_parse_tarfile).
        Stas
    • phpdbg

      • Added generator command for inspection of currently alive generators.
        Bob
    • postgres

      • Fixed bug #73498 (Incorrect SQL generated for pg_copy_to()).
        Craig Duncan
      • Implemented FR #31021 (pg_last_notice() is needed to get all notice messages).
        Yasuo
      • Implemented FR #48532 (Allow pg_fetch_all() to index numerically).
        Yasuo
    • readline

      • Fixed bug #72538 (readline_redisplay crashes php).
        Laruence
    • reflection

      • Undo backwards compatiblity break in ReflectionType->__toString() and deprecate via documentation instead.
        Nikita
      • Reverted prepending \ for class names.
        Trowski
      • Implemented request #38992 (invoke() and invokeArgs() static method calls should match). (cmb).
      • Add ReflectionNamedType::getName(). This method should be used instead of ReflectionType::__toString()
      • Prepend \ for class names and ? for nullable types returned from ReflectionType::__toString().
        Trowski
      • Fixed bug #72661 (ReflectionType::__toString crashes with iterable).
        Laruence
      • Fixed bug #72222 (ReflectionClass::export doesn't handle array constants).
        Nikita Nefedov
      • Failure to retrieve a reflection object or retrieve an object property will now throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
      • Fix #72209 (ReflectionProperty::getValue() doesn't fail if object doesn't match type).
        Joe
    • session

      • Fixed bug #73273 (session_unset() empties values from all variables in which is $_session stored).
        Nikita
      • Fixed bug #73100 (session_destroy null dereference in ps_files_path_create).
        cmb
      • Fixed bug #68015 (Session does not report invalid uid for files save handler).
        Yasuo
      • Fixed bug #72940 (SID always return "name=ID", even if session cookie exist).
        Yasuo
      • Implemented session_gc() (Yasuo) https://wiki.php.net/rfc/session-create-id
      • Implemented session_create_id() (Yasuo) https://wiki.php.net/rfc/session-gc
      • Implemented RFC: Session ID without hashing. (Yasuo) https://wiki.php.net/rfc/session-id-without-hashing
      • Fixed bug #72531 (ps_files_cleanup_dir Buffer overflow).
        Laruence
      • Custom session handlers that do not return strings for session IDs will now throw an instance of Error instead of resulting in a fatal error when a function is called that must generate a session ID.
        Aaron Piotrowski
      • An invalid setting for session.hash_function will throw an instance of Error instead of resulting in a fatal error when a session ID is created.
        Aaron Piotrowski
      • Fixed bug #72562 (Use After Free in unserialize() with Unexpected Session Deserialization).
        Stas
      • Improved fix for bug #68063 (Empty session IDs do still start sessions).
        Yasuo
      • Fixed bug #71038 (session_start() returns TRUE on failure). Session save handlers must return 'string' always for successful read. i.e. Non-existing session read must return empty string. PHP 7.0 is made not to tolerate buggy return value.
        Yasuo
      • Fixed bug #71394 (session_regenerate_id() must close opened session on errors).
        Yasuo
    • simplexml

      • Fixed bug #73293 (NULL pointer dereference in SimpleXMLElement::asXML()).
        Stas
      • Fixed bug #72971 (SimpleXML isset/unset do not respect namespace).
        Nikita
      • Fixed bug #72957 (Null coalescing operator doesn't behave as expected with SimpleXMLElement).
        Nikita
      • Fixed bug #72588 (Using global var doesn't work while accessing SimpleXML element).
        Laruence
      • Creating an unnamed or duplicate attribute will throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
    • snmp

      • Fixed bug #72708 (php_snmp_parse_oid integer overflow in memory allocation).
        djodjo at gmail dot com
      • Fixed bug #72479 (Use After Free Vulnerability in SNMP with GC and unserialize()).
        Stas
    • soap

      • Fixed bug #73538 (SoapClient::__setSoapHeaders doesn't overwrite SOAP headers).
        duncan3dc
      • Fixed bug #73452 (Segfault (Regression for #69152)).
        Dmitry
      • Fixed bug #73037 (SoapServer reports Bad Request when gzipped).
        Anatol
      • Fixed bug #73237 (Nested object in "any" element overwrites other fields).
        Keith Smiley
      • Fixed bug #69137 (Peer verification fails when using a proxy with SoapClient) (Keith Smiley)
      • Fixed bug #71711 (Soap Server Member variables reference bug).
        Nikita
      • Fixed bug #71996 (Using references in arrays doesn't work like expected).
        Nikita
    • spl

      • Fixed bug #73423 (Reproducible crash with GDB backtrace).
        Laruence
      • Fixed bug #72888 (Segfault on clone on splFileObject).
        Laruence
      • Fixed bug #73029 (Missing type check when unserializing SplArray).
        Stas
      • Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape character).
        cmb
      • Fixed bug #72684 (AppendIterator segfault with closed generator).
        Pierrick
      • Attempting to clone an SplDirectory object will throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
      • Calling ArrayIterator::append() when iterating over an object will throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
      • Fixed bug #55701 (GlobIterator throws LogicException).
        Valentin VĂLCIU
    • sqlite3

      • Update to SQLite 3.15.1.
        cmb
      • Fixed bug #73530 (Unsetting result set may reset other result set).
        cmb
      • Fixed bug #73333 (2147483647 is fetched as string).
        cmb
      • Fixed bug #72668 (Spurious warning when exception is thrown in user defined function).
        Laruence
      • Implemented FR #72653 (SQLite should allow opening with empty filename).
        cmb
      • Fixed bug #70628 (Clearing bindings on an SQLite3 statement doesn't work).
        cmb
      • Implemented FR #71159 (Upgraded bundled SQLite lib to 3.9.2).
        Laruence
    • standard

      • Fixed bug #73297 (HTTP stream wrapper should ignore HTTP 100 Continue).
        rowan dot collins at gmail dot com
      • Fixed bug #73303 (Scope not inherited by eval in assert()).
        nikic
      • Fixed bug #73192 (parse_url return wrong hostname).
        Nikita
      • Fixed bug #73203 (passing additional_parameters causes mail to fail).
        cmb
      • Fixed bug #73203 (passing additional_parameters causes mail to fail).
        cmb
      • Fixed bug #72920 (Accessing a private constant using constant() creates an exception AND warning).
        Laruence
      • Fixed bug #65550 (get_browser() incorrectly parses entries with "+" sign).
        cmb
      • Fixed bug #71882 (Negative ftruncate() on php://memory exhausts memory).
        cmb
      • Fixed bug #55451 (substr_compare NULL length interpreted as 0).
        Lauri Kenttä
      • Fixed bug #72278 (getimagesize returning FALSE on valid jpg).
        cmb
      • Fixed bug #61967 (unset array item in array_walk_recursive cause inconsistent array).
        Nikita
      • Fixed bug #62607 (array_walk_recursive move internal pointer).
        Nikita
      • Fixed bug #69068 (Exchanging array during array_walk -> memory errors).
        Nikita
      • Fixed bug #70713 (Use After Free Vulnerability in array_walk()/ array_walk_recursive()).
        Nikita
      • Fixed bug #72622 (array_walk + array_replace_recursive create references from nothing).
        Laruence
      • Fixed bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars).
        cmb
      • Implemented RFC: More precise float values.
        Jakub Zelenka
        Yasuo
      • array_multisort now uses zend_sort instead zend_qsort.
        Laruence
      • Fixed bug #72505 (readfile() mangles files larger than 2G).
        Cschneid
      • assert() will throw a ParseError when evaluating a string given as the first argument if the PHP code is invalid instead of resulting in a catchable fatal error.
        Aaron Piotrowski
      • Calling forward_static_call() outside of a class scope will now throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
      • Added is_iterable() function.
        Aaron Piotrowski
      • Fixed bug #72306 (Heap overflow through proc_open and $env parameter).
        Laruence
      • Fixed bug #71100 (long2ip() doesn't accept integers in strict mode).
        Laruence
      • Implemented FR #55716 (Add an option to pass a custom stream context to get_headers()).
        Ferenc
      • Additional validation for parse_url() for login/pass components).
        Ilia) (Julien
      • Implemented FR #69359 (Provide a way to fetch the current environment variables).
        Ferenc
      • unpack() function accepts an additional optional argument $offset.
        Dmitry
      • Implemented #51879 stream context socket option tcp_nodelay (Joe)
    • streams

      • Fixed bug #73586 (php_user_filter::$stream is not set to the stream the filter is working on).
        Dmitry
      • Fixed bug #72853 (stream_set_blocking doesn't work).
        Laruence
      • Fixed bug #72743 (Out-of-bound read in php_stream_filter_create).
        Loianhtuan
      • Implemented FR #27814 (Multiple small packets send for HTTP request).
        vhuk
      • Fixed bug #72764 (ftps:// opendir wrapper data channel encryption fails with IIS FTP 7.5, 8.5).
        vhuk
      • Fixed bug #72810 (Missing SKIP_ONLINE_TESTS checks).
        vhuk
      • Fixed bug #41021 (Problems with the ftps wrapper).
        vhuk
      • Fixed bug #54431 (opendir() does not work with ftps:// wrapper).
        vhuk
      • Fixed bug #72667 (opendir() with ftp:// attempts to open data stream for non-existent directories).
        vhuk
      • Fixed bug #72771 (ftps:// wrapper is vulnerable to protocol downgrade attack).
        Stas
      • Fixed bug #72534 (stream_socket_get_name crashes).
        Anatol
      • Fixed bug #72439 (Stream socket with remote address leads to a segmentation fault).
        Laruence
    • sysvshm

      • Fixed bug #72858 (shm_attach null dereference).
        Anatol
    • tidy

      • Implemented support for libtidy 5.0.0 and above.
        Michael Orlitzky
        Anatol
      • Creating a tidyNode manually will now throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
    • wddx

      • Fixed bug #73331 (NULL Pointer Dereference in WDDX Packet Deserialization with PDORow).
        Stas
      • Fixed bug #72142 (WDDX Packet Injection Vulnerability in wddx_serialize_value()).
        Taoguang Chen
      • Fixed bug #72749 (wddx_deserialize allows illegal memory access) (Stas)
      • Fixed bug #72750 (wddx_deserialize null dereference).
        Stas
      • Fixed bug #72790 (wddx_deserialize null dereference with invalid xml).
        Stas
      • Fixed bug #72799 (wddx_deserialize null dereference in php_wddx_pop_element).
        Stas
      • Fixed bug #72860 (wddx_deserialize use-after-free).
        Stas
      • Fixed bug #73065 (Out-Of-Bounds Read in php_wddx_push_element).
        Stas
      • Fixed bug #72564 (boolean always deserialized as "true") (Remi)
      • A circular reference when serializing will now throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
    • xml

      • Fixed bug #72135 (malformed XML causes fault) (edgarsandi)
      • Fixed bug #72714 (_xml_startElementHandler() segmentation fault).
        cmb
      • Fixed bug #72085 (SEGV on unknown address zif_xml_parse).
        cmb
    • xmlrpc

      • Fixed bug #72647 (xmlrpc_encode() unexpected output after referencing array elements).
        Laruence
      • Fixed bug #72606 (heap-buffer-overflow (write) simplestring_addn simplestring.c).
        Stas
      • A circular reference when serializing will now throw an instance of Error instead of resulting in a fatal error.
        Aaron Piotrowski
    • zip

      • Fixed bug #68302 (impossible to compile php with zip support).
        cmb
      • Fixed bug #72660 (NULL Pointer dereference in zend_virtual_cwd).
        Laruence
      • Fixed bug #72520 (Stack-based buffer overflow vulnerability in php_stream_zip_opener).
        Stas
      • ZipArchive::addGlob() will throw an instance of Error instead of resulting in a fatal error if glob support is not available.
        Aaron Piotrowski

PHP 7.1


  Represents a security release