diff --git a/7.4.27/win/.DS_Store b/7.4.27/win/.DS_Store
deleted file mode 100644
index 45fcabb..0000000
Binary files a/7.4.27/win/.DS_Store and /dev/null differ
diff --git a/7.4.27/win/README.md b/7.4.27/win/README.md
new file mode 100644
index 0000000..6b9fe6e
--- /dev/null
+++ b/7.4.27/win/README.md
@@ -0,0 +1,134 @@
+
+
+# The PHP Interpreter
+
+PHP is a popular general-purpose scripting language that is especially suited to
+web development. Fast, flexible and pragmatic, PHP powers everything from your
+blog to the most popular websites in the world. PHP is distributed under the PHP
+License v3.01.
+
+[![Build status](https://travis-ci.org/php/php-src.svg?branch=master)](https://travis-ci.org/php/php-src)
+[![Build status](https://ci.appveyor.com/api/projects/status/meyur6fviaxgdwdy?svg=true)](https://ci.appveyor.com/project/php/php-src)
+[![Build Status](https://dev.azure.com/phpazuredevops/php/_apis/build/status/php.php-src?branchName=PHP-7.4)](https://dev.azure.com/phpazuredevops/php/_build/latest?definitionId=1&branchName=PHP-7.4)
+
+## Documentation
+
+The PHP manual is available at [php.net/docs](https://php.net/docs).
+
+## Installation
+
+### Prebuilt packages and binaries
+
+Prebuilt packages and binaries can be used to get up and running fast with PHP.
+
+For Windows, the PHP binaries can be obtained from
+[windows.php.net](https://windows.php.net). After extracting the archive the
+`*.exe` files are ready to use.
+
+For other systems, see the [installation chapter](https://php.net/install).
+
+### Building PHP source code
+
+*For Windows, see [Build your own PHP on Windows](https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2).*
+
+PHP uses autotools on Unix systems to configure the build:
+
+ ./buildconf
+ ./configure [options]
+
+*See `./configure -h` for configuration options.*
+
+ make [options]
+
+*See `make -h` for make options.*
+
+The `-j` option shall set the maximum number of jobs `make` can use for the
+build:
+
+ make -j4
+
+Shall run `make` with a maximum of 4 concurrent jobs: Generally the maximum
+number of jobs should not exceed the number of cores available.
+
+## Testing PHP source code
+
+PHP ships with an extensive test suite, the command `make test` is used after
+successful compilation of the sources to run this test suite.
+
+It is possible to run tests using multiple cores by setting `-jN` in
+`TEST_PHP_ARGS`:
+
+ make TEST_PHP_ARGS=-j4 test
+
+Shall run `make test` with a maximum of 4 concurrent jobs: Generally the maximum
+number of jobs should not exceed the number of cores available.
+
+The [qa.php.net](https://qa.php.net) site provides more detailed info about
+testing and quality assurance.
+
+## Installing PHP built from source
+
+After a successful build (and test), PHP may be installed with:
+
+ make install
+
+Depending on your permissions and prefix, `make install` may need super user
+permissions.
+
+## PHP extensions
+
+Extensions provide additional functionality on top of PHP. PHP consists of many
+essential bundled extensions. Additional extensions can be found in the PHP
+Extension Community Library - [PECL](https://pecl.php.net).
+
+## Contributing
+
+The PHP source code is located in the Git repository at
+[git.php.net](https://git.php.net). Contributions are most welcome by forking
+the [GitHub mirror repository](https://github.com/php/php-src) and sending a
+pull request.
+
+Discussions are done on GitHub, but depending on the topic can also be relayed
+to the official PHP developer mailing list internals@lists.php.net.
+
+New features require an RFC and must be accepted by the developers. See
+[Request for comments - RFC](https://wiki.php.net/rfc) and
+[Voting on PHP features](https://wiki.php.net/rfc/voting) for more information
+on the process.
+
+Bug fixes **do not** require an RFC but require a bug tracker ticket. Open a
+ticket at [bugs.php.net](https://bugs.php.net) and reference the bug id using
+`#NNNNNN`.
+
+ Fix #55371: get_magic_quotes_gpc() throws deprecation warning
+
+ After removing magic quotes, the get_magic_quotes_gpc function caused a
+ deprecated warning. get_magic_quotes_gpc can be used to detect the
+ magic_quotes behavior and therefore should not raise a warning at any time.
+ The patch removes this warning.
+
+Pull requests are not merged directly on GitHub. All PRs will be pulled and
+pushed through [git.php.net](https://git.php.net). See
+[Git workflow](https://wiki.php.net/vcs/gitworkflow) for more details.
+
+### Guidelines for contributors
+
+See further documents in the repository for more information on how to
+contribute:
+
+- [Contributing to PHP](/CONTRIBUTING.md)
+- [PHP coding standards](/CODING_STANDARDS.md)
+- [Mailinglist rules](/docs/mailinglist-rules.md)
+- [PHP release process](/docs/release-process.md)
+
+## Credits
+
+For the list of people who've put work into PHP, please see the
+[PHP credits page](https://php.net/credits.php).
diff --git a/7.4.27/win/deplister.exe b/7.4.27/win/deplister.exe
new file mode 100644
index 0000000..8b58d26
Binary files /dev/null and b/7.4.27/win/deplister.exe differ
diff --git a/7.4.27/win/dev/php7ts.lib b/7.4.27/win/dev/php7ts.lib
new file mode 100644
index 0000000..26d2b30
Binary files /dev/null and b/7.4.27/win/dev/php7ts.lib differ
diff --git a/7.4.27/win/ext/.DS_Store b/7.4.27/win/ext/.DS_Store
deleted file mode 100644
index 5008ddf..0000000
Binary files a/7.4.27/win/ext/.DS_Store and /dev/null differ
diff --git a/7.4.27/win/ext/php_oci8_12c.dll b/7.4.27/win/ext/php_oci8_12c.dll
new file mode 100644
index 0000000..e156f70
Binary files /dev/null and b/7.4.27/win/ext/php_oci8_12c.dll differ
diff --git a/7.4.27/win/ext/php_pdo_firebird.dll b/7.4.27/win/ext/php_pdo_firebird.dll
new file mode 100644
index 0000000..8e9c78d
Binary files /dev/null and b/7.4.27/win/ext/php_pdo_firebird.dll differ
diff --git a/7.4.27/win/ext/php_pdo_oci.dll b/7.4.27/win/ext/php_pdo_oci.dll
new file mode 100644
index 0000000..5bfbcd9
Binary files /dev/null and b/7.4.27/win/ext/php_pdo_oci.dll differ
diff --git a/7.4.27/win/ext/php_pdo_pgsql.dll b/7.4.27/win/ext/php_pdo_pgsql.dll
new file mode 100644
index 0000000..f9b0453
Binary files /dev/null and b/7.4.27/win/ext/php_pdo_pgsql.dll differ
diff --git a/7.4.27/win/ext/php_pgsql.dll b/7.4.27/win/ext/php_pgsql.dll
new file mode 100644
index 0000000..ed01c03
Binary files /dev/null and b/7.4.27/win/ext/php_pgsql.dll differ
diff --git a/7.4.27/win/ext/php_soap.dll b/7.4.27/win/ext/php_soap.dll
new file mode 100644
index 0000000..314cb29
Binary files /dev/null and b/7.4.27/win/ext/php_soap.dll differ
diff --git a/7.4.27/win/extras/ssl/openssl.cnf b/7.4.27/win/extras/ssl/openssl.cnf
new file mode 100644
index 0000000..4acca4b
--- /dev/null
+++ b/7.4.27/win/extras/ssl/openssl.cnf
@@ -0,0 +1,350 @@
+#
+# OpenSSL example configuration file.
+# This is mostly being used for generation of certificate requests.
+#
+
+# Note that you can include other files from the main configuration
+# file using the .include directive.
+#.include filename
+
+# This definition stops the following lines choking if HOME isn't
+# defined.
+HOME = .
+
+# Extra OBJECT IDENTIFIER info:
+#oid_file = $ENV::HOME/.oid
+oid_section = new_oids
+
+# To use this configuration file with the "-extfile" option of the
+# "openssl x509" utility, name here the section containing the
+# X.509v3 extensions to use:
+# extensions =
+# (Alternatively, use a configuration file that has only
+# X.509v3 extensions in its main [= default] section.)
+
+[ new_oids ]
+
+# We can add new OIDs in here for use by 'ca', 'req' and 'ts'.
+# Add a simple OID like this:
+# testoid1=1.2.3.4
+# Or use config file substitution like this:
+# testoid2=${testoid1}.5.6
+
+# Policies used by the TSA examples.
+tsa_policy1 = 1.2.3.4.1
+tsa_policy2 = 1.2.3.4.5.6
+tsa_policy3 = 1.2.3.4.5.7
+
+####################################################################
+[ ca ]
+default_ca = CA_default # The default ca section
+
+####################################################################
+[ CA_default ]
+
+dir = ./demoCA # Where everything is kept
+certs = $dir/certs # Where the issued certs are kept
+crl_dir = $dir/crl # Where the issued crl are kept
+database = $dir/index.txt # database index file.
+#unique_subject = no # Set to 'no' to allow creation of
+ # several certs with same subject.
+new_certs_dir = $dir/newcerts # default place for new certs.
+
+certificate = $dir/cacert.pem # The CA certificate
+serial = $dir/serial # The current serial number
+crlnumber = $dir/crlnumber # the current crl number
+ # must be commented out to leave a V1 CRL
+crl = $dir/crl.pem # The current CRL
+private_key = $dir/private/cakey.pem# The private key
+
+x509_extensions = usr_cert # The extensions to add to the cert
+
+# Comment out the following two lines for the "traditional"
+# (and highly broken) format.
+name_opt = ca_default # Subject Name options
+cert_opt = ca_default # Certificate field options
+
+# Extension copying option: use with caution.
+# copy_extensions = copy
+
+# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
+# so this is commented out by default to leave a V1 CRL.
+# crlnumber must also be commented out to leave a V1 CRL.
+# crl_extensions = crl_ext
+
+default_days = 365 # how long to certify for
+default_crl_days= 30 # how long before next CRL
+default_md = default # use public key default MD
+preserve = no # keep passed DN ordering
+
+# A few difference way of specifying how similar the request should look
+# For type CA, the listed attributes must be the same, and the optional
+# and supplied fields are just that :-)
+policy = policy_match
+
+# For the CA policy
+[ policy_match ]
+countryName = match
+stateOrProvinceName = match
+organizationName = match
+organizationalUnitName = optional
+commonName = supplied
+emailAddress = optional
+
+# For the 'anything' policy
+# At this point in time, you must list all acceptable 'object'
+# types.
+[ policy_anything ]
+countryName = optional
+stateOrProvinceName = optional
+localityName = optional
+organizationName = optional
+organizationalUnitName = optional
+commonName = supplied
+emailAddress = optional
+
+####################################################################
+[ req ]
+default_bits = 2048
+default_keyfile = privkey.pem
+distinguished_name = req_distinguished_name
+attributes = req_attributes
+x509_extensions = v3_ca # The extensions to add to the self signed cert
+
+# Passwords for private keys if not present they will be prompted for
+# input_password = secret
+# output_password = secret
+
+# This sets a mask for permitted string types. There are several options.
+# default: PrintableString, T61String, BMPString.
+# pkix : PrintableString, BMPString (PKIX recommendation before 2004)
+# utf8only: only UTF8Strings (PKIX recommendation after 2004).
+# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
+# MASK:XXXX a literal mask value.
+# WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings.
+string_mask = utf8only
+
+# req_extensions = v3_req # The extensions to add to a certificate request
+
+[ req_distinguished_name ]
+countryName = Country Name (2 letter code)
+countryName_default = AU
+countryName_min = 2
+countryName_max = 2
+
+stateOrProvinceName = State or Province Name (full name)
+stateOrProvinceName_default = Some-State
+
+localityName = Locality Name (eg, city)
+
+0.organizationName = Organization Name (eg, company)
+0.organizationName_default = Internet Widgits Pty Ltd
+
+# we can do this but it is not needed normally :-)
+#1.organizationName = Second Organization Name (eg, company)
+#1.organizationName_default = World Wide Web Pty Ltd
+
+organizationalUnitName = Organizational Unit Name (eg, section)
+#organizationalUnitName_default =
+
+commonName = Common Name (e.g. server FQDN or YOUR name)
+commonName_max = 64
+
+emailAddress = Email Address
+emailAddress_max = 64
+
+# SET-ex3 = SET extension number 3
+
+[ req_attributes ]
+challengePassword = A challenge password
+challengePassword_min = 4
+challengePassword_max = 20
+
+unstructuredName = An optional company name
+
+[ usr_cert ]
+
+# These extensions are added when 'ca' signs a request.
+
+# This goes against PKIX guidelines but some CAs do it and some software
+# requires this to avoid interpreting an end user certificate as a CA.
+
+basicConstraints=CA:FALSE
+
+# Here are some examples of the usage of nsCertType. If it is omitted
+# the certificate can be used for anything *except* object signing.
+
+# This is OK for an SSL server.
+# nsCertType = server
+
+# For an object signing certificate this would be used.
+# nsCertType = objsign
+
+# For normal client use this is typical
+# nsCertType = client, email
+
+# and for everything including object signing:
+# nsCertType = client, email, objsign
+
+# This is typical in keyUsage for a client certificate.
+# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+
+# This will be displayed in Netscape's comment listbox.
+nsComment = "OpenSSL Generated Certificate"
+
+# PKIX recommendations harmless if included in all certificates.
+subjectKeyIdentifier=hash
+authorityKeyIdentifier=keyid,issuer
+
+# This stuff is for subjectAltName and issuerAltname.
+# Import the email address.
+# subjectAltName=email:copy
+# An alternative to produce certificates that aren't
+# deprecated according to PKIX.
+# subjectAltName=email:move
+
+# Copy subject details
+# issuerAltName=issuer:copy
+
+#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem
+#nsBaseUrl
+#nsRevocationUrl
+#nsRenewalUrl
+#nsCaPolicyUrl
+#nsSslServerName
+
+# This is required for TSA certificates.
+# extendedKeyUsage = critical,timeStamping
+
+[ v3_req ]
+
+# Extensions to add to a certificate request
+
+basicConstraints = CA:FALSE
+keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+
+[ v3_ca ]
+
+
+# Extensions for a typical CA
+
+
+# PKIX recommendation.
+
+subjectKeyIdentifier=hash
+
+authorityKeyIdentifier=keyid:always,issuer
+
+basicConstraints = critical,CA:true
+
+# Key usage: this is typical for a CA certificate. However since it will
+# prevent it being used as an test self-signed certificate it is best
+# left out by default.
+# keyUsage = cRLSign, keyCertSign
+
+# Some might want this also
+# nsCertType = sslCA, emailCA
+
+# Include email address in subject alt name: another PKIX recommendation
+# subjectAltName=email:copy
+# Copy issuer details
+# issuerAltName=issuer:copy
+
+# DER hex encoding of an extension: beware experts only!
+# obj=DER:02:03
+# Where 'obj' is a standard or added object
+# You can even override a supported extension:
+# basicConstraints= critical, DER:30:03:01:01:FF
+
+[ crl_ext ]
+
+# CRL extensions.
+# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.
+
+# issuerAltName=issuer:copy
+authorityKeyIdentifier=keyid:always
+
+[ proxy_cert_ext ]
+# These extensions should be added when creating a proxy certificate
+
+# This goes against PKIX guidelines but some CAs do it and some software
+# requires this to avoid interpreting an end user certificate as a CA.
+
+basicConstraints=CA:FALSE
+
+# Here are some examples of the usage of nsCertType. If it is omitted
+# the certificate can be used for anything *except* object signing.
+
+# This is OK for an SSL server.
+# nsCertType = server
+
+# For an object signing certificate this would be used.
+# nsCertType = objsign
+
+# For normal client use this is typical
+# nsCertType = client, email
+
+# and for everything including object signing:
+# nsCertType = client, email, objsign
+
+# This is typical in keyUsage for a client certificate.
+# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+
+# This will be displayed in Netscape's comment listbox.
+nsComment = "OpenSSL Generated Certificate"
+
+# PKIX recommendations harmless if included in all certificates.
+subjectKeyIdentifier=hash
+authorityKeyIdentifier=keyid,issuer
+
+# This stuff is for subjectAltName and issuerAltname.
+# Import the email address.
+# subjectAltName=email:copy
+# An alternative to produce certificates that aren't
+# deprecated according to PKIX.
+# subjectAltName=email:move
+
+# Copy subject details
+# issuerAltName=issuer:copy
+
+#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem
+#nsBaseUrl
+#nsRevocationUrl
+#nsRenewalUrl
+#nsCaPolicyUrl
+#nsSslServerName
+
+# This really needs to be in place for it to be a proxy certificate.
+proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
+
+####################################################################
+[ tsa ]
+
+default_tsa = tsa_config1 # the default TSA section
+
+[ tsa_config1 ]
+
+# These are used by the TSA reply generation only.
+dir = ./demoCA # TSA root directory
+serial = $dir/tsaserial # The current serial number (mandatory)
+crypto_device = builtin # OpenSSL engine to use for signing
+signer_cert = $dir/tsacert.pem # The TSA signing certificate
+ # (optional)
+certs = $dir/cacert.pem # Certificate chain to include in reply
+ # (optional)
+signer_key = $dir/private/tsakey.pem # The TSA private key (optional)
+signer_digest = sha256 # Signing digest to use. (Optional)
+default_policy = tsa_policy1 # Policy if request did not specify it
+ # (optional)
+other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional)
+digests = sha1, sha256, sha384, sha512 # Acceptable message digests (mandatory)
+accuracy = secs:1, millisecs:500, microsecs:100 # (optional)
+clock_precision_digits = 0 # number of digits after dot. (optional)
+ordering = yes # Is ordering defined for timestamps?
+ # (optional, default: no)
+tsa_name = yes # Must the TSA name be included in the reply?
+ # (optional, default: no)
+ess_cert_id_chain = no # Must the ESS cert id chain be included?
+ # (optional, default: no)
+ess_cert_id_alg = sha1 # algorithm to compute certificate
+ # identifier (optional, default: sha1)
diff --git a/7.4.27/win/glib-2.dll b/7.4.27/win/glib-2.dll
new file mode 100644
index 0000000..6e92f08
Binary files /dev/null and b/7.4.27/win/glib-2.dll differ
diff --git a/7.4.27/win/gmodule-2.dll b/7.4.27/win/gmodule-2.dll
new file mode 100644
index 0000000..21cf2ca
Binary files /dev/null and b/7.4.27/win/gmodule-2.dll differ
diff --git a/7.4.27/win/lib/enchant/libenchant_ispell.dll b/7.4.27/win/lib/enchant/libenchant_ispell.dll
new file mode 100644
index 0000000..6b1d3c0
Binary files /dev/null and b/7.4.27/win/lib/enchant/libenchant_ispell.dll differ
diff --git a/7.4.27/win/lib/enchant/libenchant_myspell.dll b/7.4.27/win/lib/enchant/libenchant_myspell.dll
new file mode 100644
index 0000000..13061b1
Binary files /dev/null and b/7.4.27/win/lib/enchant/libenchant_myspell.dll differ
diff --git a/7.4.27/win/libcrypto-1_1-x64.dll b/7.4.27/win/libcrypto-1_1-x64.dll
new file mode 100644
index 0000000..03008cf
Binary files /dev/null and b/7.4.27/win/libcrypto-1_1-x64.dll differ
diff --git a/7.4.27/win/libenchant.dll b/7.4.27/win/libenchant.dll
new file mode 100644
index 0000000..102a65e
Binary files /dev/null and b/7.4.27/win/libenchant.dll differ
diff --git a/7.4.27/win/libpq.dll b/7.4.27/win/libpq.dll
new file mode 100644
index 0000000..6568e70
Binary files /dev/null and b/7.4.27/win/libpq.dll differ
diff --git a/7.4.27/win/libsasl.dll b/7.4.27/win/libsasl.dll
new file mode 100644
index 0000000..410096c
Binary files /dev/null and b/7.4.27/win/libsasl.dll differ
diff --git a/7.4.27/win/libsodium.dll b/7.4.27/win/libsodium.dll
new file mode 100644
index 0000000..0b3f4d4
Binary files /dev/null and b/7.4.27/win/libsodium.dll differ
diff --git a/7.4.27/win/libsqlite3.dll b/7.4.27/win/libsqlite3.dll
new file mode 100644
index 0000000..a5bdf47
Binary files /dev/null and b/7.4.27/win/libsqlite3.dll differ
diff --git a/7.4.27/win/libssh2.dll b/7.4.27/win/libssh2.dll
new file mode 100644
index 0000000..050556f
Binary files /dev/null and b/7.4.27/win/libssh2.dll differ
diff --git a/7.4.27/win/libssl-1_1-x64.dll b/7.4.27/win/libssl-1_1-x64.dll
new file mode 100644
index 0000000..cee6061
Binary files /dev/null and b/7.4.27/win/libssl-1_1-x64.dll differ
diff --git a/7.4.27/win/license.txt b/7.4.27/win/license.txt
new file mode 100644
index 0000000..6a15be5
--- /dev/null
+++ b/7.4.27/win/license.txt
@@ -0,0 +1,68 @@
+--------------------------------------------------------------------
+ The PHP License, version 3.01
+Copyright (c) 1999 - 2021 The PHP Group. All rights reserved.
+--------------------------------------------------------------------
+
+Redistribution and use in source and binary forms, with or without
+modification, is permitted provided that the following conditions
+are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ 3. The name "PHP" must not be used to endorse or promote products
+ derived from this software without prior written permission. For
+ written permission, please contact group@php.net.
+
+ 4. Products derived from this software may not be called "PHP", nor
+ may "PHP" appear in their name, without prior written permission
+ from group@php.net. You may indicate that your software works in
+ conjunction with PHP by saying "Foo for PHP" instead of calling
+ it "PHP Foo" or "phpfoo"
+
+ 5. The PHP Group may publish revised and/or new versions of the
+ license from time to time. Each version will be given a
+ distinguishing version number.
+ Once covered code has been published under a particular version
+ of the license, you may always continue to use it under the terms
+ of that version. You may also choose to use such covered code
+ under the terms of any subsequent version of the license
+ published by the PHP Group. No one other than the PHP Group has
+ the right to modify the terms applicable to covered code created
+ under this License.
+
+ 6. Redistributions of any form whatsoever must retain the following
+ acknowledgment:
+ "This product includes PHP software, freely available from
+ ".
+
+THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
+ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
+DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+--------------------------------------------------------------------
+
+This software consists of voluntary contributions made by many
+individuals on behalf of the PHP Group.
+
+The PHP Group can be contacted via Email at group@php.net.
+
+For more information on the PHP Group and the PHP project,
+please see .
+
+PHP includes the Zend Engine, freely available at
+.
diff --git a/7.4.27/win/news.txt b/7.4.27/win/news.txt
new file mode 100644
index 0000000..c27e069
--- /dev/null
+++ b/7.4.27/win/news.txt
@@ -0,0 +1,2782 @@
+PHP NEWS
+|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+16 Dec 2021, PHP 7.4.27
+
+- Core:
+ . Fixed bug #81626 (Error on use static:: in __сallStatic() wrapped to
+ Closure::fromCallable()). (Nikita)
+
+- FPM:
+ . Fixed bug #81513 (Future possibility for heap overflow in FPM zlog).
+ (Jakub Zelenka)
+
+- GD:
+ . Fixed bug #71316 (libpng warning from imagecreatefromstring). (cmb)
+
+- OpenSSL:
+ . Fixed bug #75725 (./configure: detecting RAND_egd). (Dilyan Palauzov)
+
+- PCRE:
+ . Fixed bug #74604 (Out of bounds in php_pcre_replace_impl). (cmb, Dmitry)
+
+- Standard:
+ . Fixed bug #81618 (dns_get_record fails on FreeBSD for missing type).
+ (fsbruva)
+ . Fixed bug #81659 (stream_get_contents() may unnecessarily overallocate).
+ (cmb)
+
+18 Nov 2021, PHP 7.4.26
+
+- Core:
+ . Fixed bug #81518 (Header injection via default_mimetype / default_charset).
+ (cmb)
+
+- Date:
+ . Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2).
+ (cmb)
+
+- DBA:
+ . Fixed bug #81588 (TokyoCabinet driver leaks memory). (girgias)
+
+- MBString:
+ . Fixed bug #76167 (mbstring may use pointer from some previous request).
+ (cmb, cataphract)
+
+- MySQLi:
+ . Fixed bug #81494 (Stopped unbuffered query does not throw error). (Nikita)
+
+- PCRE:
+ . Fixed bug #81424 (PCRE2 10.35 JIT performance regression). (cmb)
+
+- Streams:
+ . Fixed bug #54340 (Memory corruption with user_filter). (Nikita)
+
+- XML:
+ . Fixed bug #79971 (special character is breaking the path in xml function).
+ (CVE-2021-21707) (cmb)
+
+21 Oct 2021, PHP 7.4.25
+
+- DOM:
+ . Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID).
+ (Viktor Volkov)
+
+- FFI:
+ . Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not
+ defined). (Dmitry)
+
+- Fileinfo:
+ . Fixed bug #78987 (High memory usage during encoding detection). (Anatol)
+
+- Filter:
+ . Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing).
+ (cmb, Nikita)
+
+- FPM:
+ . Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege
+ escalation) (CVE-2021-21703). (Jakub Zelenka)
+
+- SPL:
+ . Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free).
+ (cmb, Nikita, Tyson Andre)
+
+- Streams:
+ . Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper).
+ (cmb)
+
+- XML:
+ . Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace).
+ (Aliaksandr Bystry, cmb)
+
+- Zip:
+ . Fixed bug #81490 (ZipArchive::extractTo() may leak memory). (cmb, Remi)
+ . Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). (cmb)
+
+23 Sep 2021, PHP 7.4.24
+
+- Core:
+ . Fixed bug #81302 (Stream position after stream filter removed). (cmb)
+ . Fixed bug #81346 (Non-seekable streams don't update position after write).
+ (cmb)
+ . Fixed bug #73122 (Integer Overflow when concatenating strings). (cmb)
+
+-GD:
+ . Fixed bug #53580 (During resize gdImageCopyResampled cause colors change).
+ (cmb)
+
+- Opcache:
+ . Fixed bug #81353 (segfault with preloading and statically bound closure).
+ (Nikita)
+
+- Shmop:
+ . Fixed bug #81407 (shmop_open won't attach and causes php to crash). (cmb)
+
+- Standard:
+ . Fixed bug #71542 (disk_total_space does not work with relative paths). (cmb)
+ . Fixed bug #81400 (Unterminated string in dns_get_record() results). (cmb)
+
+- SysVMsg:
+ . Fixed bug #78819 (Heap Overflow in msg_send). (cmb)
+
+- XML:
+ . Fixed bug #81351 (xml_parse may fail, but has no error code). (cmb, Nikita)
+
+- Zip:
+ . Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination).
+ (CVE-2021-21706) (cmb)
+
+26 Aug 2021, PHP 7.4.23
+
+- Core:
+ . Fixed bug #72595 (php_output_handler_append illegal write access). (cmb)
+ . Fixed bug #66719 (Weird behaviour when using get_called_class() with
+ call_user_func()). (Nikita)
+ . Fixed bug #81305 (Built-in Webserver Drops Requests With "Upgrade" Header).
+ (cmb)
+
+- BCMath:
+ . Fixed bug #78238 (BCMath returns "-0"). (cmb)
+
+- CGI:
+ . Fixed bug #80849 (HTTP Status header truncation). (cmb)
+
+- GD:
+ . Fixed bug #51498 (imagefilledellipse does not work for large circles). (cmb)
+
+- MySQLi:
+ . Fixed bug #74544 (Integer overflow in mysqli_real_escape_string()). (cmb,
+ johannes)
+
+- OpenSSL:
+ . Fixed bug #81327 (Error build openssl extension on php 7.4.22). (cmb)
+
+- PDO_ODBC:
+ . Fixed bug #81252 (PDO_ODBC doesn't account for SQL_NO_TOTAL). (cmb)
+
+- Shmop:
+ . Fixed bug #81283 (shmop can't read beyond 2147483647 bytes). (cmb, Nikita)
+
+- Standard:
+ . Fixed bug #72146 (Integer overflow on substr_replace). (cmb)
+ . Fixed bug #81265 (getimagesize returns 0 for 256px ICO images).
+ (George Dietrich)
+ . Fixed bug #74960 (Heap buffer overflow via str_repeat). (cmb, Dmitry)
+
+- Streams:
+ . Fixed bug #81294 (Segfault when removing a filter). (cmb)
+
+29 Jul 2021, PHP 7.4.22
+
+- Core:
+ . Fixed bug #81145 (copy() and stream_copy_to_stream() fail for +4GB files).
+ (cmb, Nikita)
+ . Fixed bug #81163 (incorrect handling of indirect vars in __sleep).
+ (krakjoe)
+ . Fixed bug #80728 (PHP built-in web server resets timeout when it can kill
+ the process). (Calvin Buckley)
+ . Fixed bug #73630 (Built-in Weberver - overwrite $_SERVER['request_uri']).
+ (cmb)
+ . Fixed bug #80173 (Using return value of zend_assign_to_variable() is not
+ safe). (Nikita)
+ . Fixed bug #73226 (--r[fcez] always return zero exit code). (cmb)
+
+- Intl:
+ . Fixed bug #72809 (Locale::lookup() wrong result with canonicalize option).
+ (cmb)
+ . Fixed bug #68471 (IntlDateFormatter fails for "GMT+00:00" timezone). (cmb)
+ . Fixed bug #74264 (grapheme_strrpos() broken for negative offsets). (cmb)
+
+- OpenSSL:
+ . Fixed bug #52093 (openssl_csr_sign truncates $serial). (cmb)
+
+- PCRE:
+ . Fixed bug #81101 (PCRE2 10.37 shows unexpected result). (Anatol)
+ . Fixed bug #81243 (Too much memory is allocated for preg_replace()). (cmb)
+
+- Standard:
+ . Fixed bug #81223 (flock() only locks first byte of file). (cmb)
+
+01 Jul 2021, PHP 7.4.21
+
+- Core:
+ . Fixed bug #76359 (open_basedir bypass through adding ".."). (cmb)
+ . Fixed bug #81068 (Double free in realpath_cache_clean()). (Dimitry Andric)
+ . Fixed bug #81070 (Integer underflow in memory limit comparison).
+ (Peter van Dommelen)
+ . Fixed bug #81090 (Typed property performance degradation with .= operator).
+ (Nikita)
+ . Fixed bug #81122: SSRF bypass in FILTER_VALIDATE_URL. (CVE-2021-21705) (cmb)
+
+- Bzip2:
+ . Fixed bug #81092 (fflush before stream_filter_remove corrupts stream).
+ (cmb)
+
+- OpenSSL:
+ . Fixed bug #76694 (native Windows cert verification uses CN as sever name).
+ (cmb)
+
+- PDO_Firebird:
+ . Fixed bug #76448: Stack buffer overflow in firebird_info_cb.
+ (CVE-2021-21704) (cmb)
+ . Fixed bug #76449: SIGSEGV in firebird_handle_doer. (CVE-2021-21704) (cmb)
+ . Fixed bug #76450: SIGSEGV in firebird_stmt_execute. (CVE-2021-21704) (cmb)
+ . Fixed bug #76452: Crash while parsing blob data in firebird_fetch_blob.
+ (CVE-2021-21704) (cmb)
+
+- Standard:
+ . Fixed bug #81048 (phpinfo(INFO_VARIABLES) "Array to string conversion").
+ (cmb)
+
+03 Jun 2021, PHP 7.4.20
+
+- Core:
+ . Fixed bug #80929 (Method name corruption related to repeated calls to
+ call_user_func_array). (twosee)
+ . Fixed bug #80960 (opendir() warning wrong info when failed on Windows).
+ (cmb)
+ . Fixed bug #67792 (HTTP Authorization schemes are treated as case-sensitive).
+ (cmb)
+ . Fixed bug #80972 (Memory exhaustion on invalid string offset). (girgias)
+
+- FPM:
+ . Fixed bug #65800 (Events port mechanism). (psumbera)
+
+- FTP:
+ . Fixed bug #80901 (Info leak in ftp extension). (cmb)
+ . Fixed bug #79100 (Wrong FTP error messages). (cmb)
+
+- GD:
+ . Fixed bug #81032 (GD install is affected by external libgd installation).
+ (Flavio Heleno, cmb)
+
+- MBString:
+ . Fixed bug #81011 (mb_convert_encoding removes references from arrays). (cmb)
+
+- ODBC:
+ . Fixed bug #80460 (ODBC doesn't account for SQL_NO_TOTAL indicator). (cmb)
+
+- PDO_MySQL:
+ . Fixed bug #81037 (PDO discards error message text from prepared
+ statement). (Kamil Tekiela)
+
+- PDO_ODBC:
+ . Fixed bug #44643 (bound parameters ignore explicit type definitions). (cmb)
+
+- pgsql:
+ . Fixed php_pgsql_fd_cast() wrt. php_stream_can_cast(). (cmb)
+
+- SPL:
+ . Fixed bug #80933 (SplFileObject::DROP_NEW_LINE is broken for NUL and CR).
+ (cmb, Nikita)
+
+- Opcache:
+ . Fixed bug #80900 (switch statement behavior inside function). (twosee)
+ . Fixed bug #81015 (Opcache optimization assumes wrong part of ternary
+ operator in if-condition). (Nikita)
+
+- XMLReader:
+ . Fixed bug #73246 (XMLReader: encoding length not checked). (cmb)
+
+- Zip:
+ . Fixed bug #80863 (ZipArchive::extractTo() ignores references). (cmb)
+
+06 May 2021, PHP 7.4.19
+
+- PDO_pgsql:
+ . Reverted bug fix for #80892 (PDO::PARAM_INT is treated the same as
+ PDO::PARAM_STR). (Matteo)
+
+
+29 Apr 2021, PHP 7.4.18
+
+- Core:
+ . Fixed bug #80781 (Error handler that throws ErrorException infinite loop).
+ (Nikita)
+ . Fixed bug #75776 (Flushing streams with compression filter is broken). (cmb)
+
+- Dba:
+ . Fixed bug #80817 (dba_popen() may cause segfault during RSHUTDOWN). (cmb)
+
+- DOM:
+ . Fixed bug #66783 (UAF when appending DOMDocument to element). (cmb)
+
+- FPM:
+ . Fixed bug #80024 (Duplication of info about inherited socket after pool
+ removing). (Jakub Zelenka)
+
+- FTP:
+ . Fixed bug #80880 (SSL_read on shutdown, ftp/proc_open). (cmb, Jakub
+ Zelenka)
+
+- Imap:
+ . Fixed bug #80710 (imap_mail_compose() header injection). (cmb, Stas)
+
+- Intl:
+ . Fixed bug #80763 (msgfmt_format() does not accept DateTime references).
+ (cmb)
+
+- LibXML:
+ . Fixed bug #51903 (simplexml_load_file() doesn't use HTTP headers). (cmb)
+ . Fixed bug #73533 (Invalid memory access in php_libxml_xmlCheckUTF8). (cmb)
+
+- MySQLnd:
+ . Fixed bug #80713 (SegFault when disabling ATTR_EMULATE_PREPARES and
+ MySQL 8.0). (Nikita)
+ . Fixed bug #80837 (Calling stmt_store_result after fetch doesn't throw an
+ error). (Kamil Tekiela)
+
+- Opcache:
+ . Fixed bug #80805 (create simple class and get error in opcache.so). (Nikita)
+ . Fixed bug #80950 (Variables become null in if statements). (Nikita)
+
+- Pcntl:
+ . Fixed bug #79812 (Potential integer overflow in pcntl_exec()). (cmb)
+
+- PCRE:
+ . Fixed bug #80866 (preg_split ignores limit flag when pattern with \K has
+ 0-width fullstring match). (Kamil Tekiela)
+
+- PDO_ODBC:
+ . Fixed bug #80783 (PDO ODBC truncates BLOB records at every 256th byte).
+ (cmb)
+
+- PDO_pgsql:
+ . Fixed bug #80892 (PDO::PARAM_INT is treated the same as PDO::PARAM_STR).
+ (Matteo)
+
+- phpdbg:
+ . Fixed bug #80757 (Exit code is 0 when could not open file). (Felipe)
+
+- Session:
+ . Fixed bug #80774 (session_name() problem with backslash). (cmb)
+ . Fixed bug #80889 (Cannot set save handler when save_handler is invalid).
+ (cmb)
+
+- SOAP:
+ . Fixed bug #69668 (SOAP special XML characters in namespace URIs not
+ encoded). (cmb)
+
+- Standard:
+ . Fixed bug #78719 (http wrapper silently ignores long Location headers).
+ (cmb)
+ . Fixed bug #80771 (phpinfo(INFO_CREDITS) displays nothing in CLI). (cmb)
+ . Fixed bug #80838 (HTTP wrapper waits for HTTP 1 response after HTTP 101).
+ (manuelm)
+ . Fixed bug #80915 (Taking a reference to $_SERVER hides its values from
+ phpinfo()). (Rowan Tommins)
+
+04 Mar 2021, php 7.4.16
+
+- Core:
+ . Fixed #80706 (mail(): Headers after Bcc headers may be ignored). (cmb)
+
+- MySQLnd:
+ . Fixed bug #78680 (mysqlnd's mysql_clear_password does not transmit
+ null-terminated password). (Daniel Black)
+
+- MySQLi:
+ . Fixed bug #74779 (x() and y() truncating floats to integers). (cmb)
+
+- OPcache:
+ . Fixed bug #80682 (opcache doesn't honour pcre.jit option). (Remi)
+
+- OpenSSL:
+ . Fixed bug #80747 (Providing RSA key size < 512 generates key that crash
+ PHP). (Nikita)
+
+- Phar:
+ . Fixed bug #75850 (Unclear error message wrt. __halt_compiler() w/o
+ semicolon) (cmb)
+ . Fixed bug #70091 (Phar does not mark UTF-8 filenames in ZIP archives). (cmb)
+ . Fixed bug #53467 (Phar cannot compress large archives). (cmb, lserni)
+
+- SPL:
+ . Fixed bug#80719 (Iterating after failed ArrayObject::setIteratorClass()
+ causes Segmentation fault). (Nikita)
+
+- Standard:
+ . Fixed bug #80654 (file_get_contents() maxlen fails above (2**31)-1 bytes).
+ (cmb)
+
+- Zip:
+ . Fixed bug #80648 (Fix for bug 79296 should be based on runtime version).
+ (cmb, Remi)
+
+04 Feb 2021, PHP 7.4.15
+
+- Core:
+ . Fixed bug #80523 (bogus parse error on >4GB source code). (Nikita)
+ . Fixed bug #80384 (filter buffers entire read until file closed). (Adam
+ Seitz, cmb)
+
+- Curl:
+ . Fixed bug #80595 (Resetting POSTFIELDS to empty array breaks request). (cmb)
+
+- Date:
+ . Fixed bug #80376 (last day of the month causes runway cpu usage. (Derick)
+
+- MySQLi:
+ . Fixed bug #67983 (mysqlnd with MYSQLI_OPT_INT_AND_FLOAT_NATIVE fails to
+ interpret bit columns). (Nikita)
+ . Fixed bug #64638 (Fetching resultsets from stored procedure with cursor
+ fails). (Nikita)
+ . Fixed bug #72862 (segfault using prepared statements on stored procedures
+ that use a cursor). (Nikita)
+ . Fixed bug #77935 (Crash in mysqlnd_fetch_stmt_row_cursor when calling an SP
+ with a cursor). (Nikita)
+
+- Phar:
+ . Fixed bug #77565 (Incorrect locator detection in ZIP-based phars). (cmb)
+ . Fixed bug #69279 (Compressed ZIP Phar extractTo() creates garbage files).
+ (cmb)
+
+07 Jan 2021, PHP 7.4.14
+
+- Core:
+ . Fixed bug #74558 (Can't rebind closure returned by Closure::fromCallable()).
+ (cmb)
+ . Fixed bug #80345 (PHPIZE configuration has outdated PHP_RELEASE_VERSION).
+ (cmb)
+ . Fixed bug #72964 (White space not unfolded for CC/Bcc headers). (cmb)
+ . Fixed bug #80362 (Running dtrace scripts can cause php to crash).
+ (al at coralnet dot name)
+ . Fixed bug #80393 (Build of PHP extension fails due to configuration gap
+ with libtool). (kir dot morozov at gmail dot com)
+ . Fixed bug #80402 (configure filtering out -lpthread). (Nikita)
+ . Fixed bug #77069 (stream filter loses final block of data). (cmb)
+
+- Fileinfo:
+ . Fixed bug #77961 (finfo_open crafted magic parsing SIGABRT). (cmb)
+
+- FPM:
+ . Fixed bug #69625 (FPM returns 200 status on request without
+ SCRIPT_FILENAME env). (Jakub Zelenka)
+
+- Intl:
+ . Fixed bug #80425 (MessageFormatAdapter::getArgTypeList redefined). (Nikita)
+
+- OpenSSL:
+ . Fixed bug #80368 (OpenSSL extension fails to build against LibreSSL due to
+ lack of OCB support). (Nikita)
+
+- Phar:
+ . Fixed bug #73809 (Phar Zip parse crash - mmap fail). (cmb)
+ . Fixed bug #75102 (`PharData` says invalid checksum for valid tar). (cmb)
+ . Fixed bug #77322 (PharData::addEmptyDir('/') Possible integer overflow).
+ (cmb)
+
+- PDO MySQL:
+ . Fixed bug #80458 (PDOStatement::fetchAll() throws for upsert queries).
+ (Kamil Tekiela)
+ . Fixed bug #63185 (nextRowset() ignores MySQL errors with native prepared
+ statements). (Nikita)
+ . Fixed bug #78152 (PDO::exec() - Bad error handling with multiple commands).
+ (Nikita)
+ . Fixed bug #70066 (Unexpected "Cannot execute queries while other unbuffered
+ queries"). (Nikita)
+ . Fixed bug #71145 (Multiple statements in init command triggers unbuffered
+ query error). (Nikita)
+ . Fixed bug #76815 (PDOStatement cannot be GCed/closeCursor-ed when a
+ PROCEDURE resultset SIGNAL). (Nikita)
+
+- Standard:
+ . Fixed bug #77423 (FILTER_VALIDATE_URL accepts URLs with invalid userinfo).
+ (CVE-2020-7071) (cmb)
+ . Fixed bug #80366 (Return Value of zend_fstat() not Checked). (sagpant, cmb)
+ . Fixed bug #80411 (References to null-serialized object break serialize()).
+ (Nikita)
+
+- Tidy:
+ . Fixed bug #77594 (ob_tidyhandler is never reset). (cmb)
+
+- Zlib:
+ . Fixed #48725 (Support for flushing in zlib stream). (cmb)
+
+26 Nov 2020, PHP 7.4.13
+
+- Core:
+ . Fixed bug #80280 (ADD_EXTENSION_DEP() fails for ext/standard and ext/date).
+ (cmb)
+ . Fixed bug #80258 (Windows Deduplication Enabled, randon permission errors).
+ (cmb)
+
+- COM:
+ . Fixed bug #62474 (com_event_sink crashes on certain arguments). (cmb)
+
+- DOM:
+ . Fixed bug #80268 (loadHTML() truncates at NUL bytes). (cmb)
+
+- FFI:
+ . Fixed bug #79177 (FFI doesn't handle well PHP exceptions within callback).
+ (cmb, Dmitry, Nikita)
+
+- IMAP:
+ . Fixed bug #64076 (imap_sort() does not return FALSE on failure). (cmb)
+ . Fixed bug #76618 (segfault on imap_reopen). (girgias)
+ . Fixed bug #80239 (imap_rfc822_write_address() leaks memory). (cmb)
+ . Fixed minor regression caused by fixing bug #80220. (cmb)
+ . Fixed bug #80242 (imap_mail_compose() segfaults for multipart with rfc822).
+ (cmb)
+
+- MySQLi:
+ . Fixed bug #79375 (mysqli_store_result does not report error from lock wait
+ timeout). (Kamil Tekiela, Nikita)
+ . Fixed bug #76525 (mysqli::commit does not throw if MYSQLI_REPORT_ERROR
+ enabled and mysqlnd used). (Kamil Tekiela)
+ . Fixed bug #72413 (mysqlnd segfault (fetch_row second parameter
+ typemismatch)). (Kamil Tekiela)
+
+- ODBC:
+ . Fixed bug #44618 (Fetching may rely on uninitialized data). (cmb)
+
+- Opcache:
+ . Fixed bug #79643 (PHP with Opcache crashes when a file with specific name
+ is included). (twosee)
+ . Fixed run-time binding of preloaded dynamically declared function. (Dmitry)
+
+- OpenSSL:
+ . Fixed bug #79983 (openssl_encrypt / openssl_decrypt fail with OCB mode).
+ (Nikita)
+
+- PDO MySQL:
+ . Fixed bug #66528 (No PDOException or errorCode if database becomes
+ unavailable before PDO::commit). (Nikita)
+ . Fixed bug #65825 (PDOStatement::fetch() does not throw exception on broken
+ server connection). (Nikita)
+
+- SNMP:
+ . Fixed bug #70461 (disable md5 code when it is not supported in net-snmp).
+ (Alexander Bergmann, cmb)
+
+- Standard:
+ . Fixed bug #80266 (parse_url silently drops port number 0). (cmb, Nikita)
+
+29 Oct 2020, PHP 7.4.12
+
+- Core:
+ . Fixed bug #80061 (Copying large files may have suboptimal performance).
+ (cmb)
+ . Fixed bug #79423 (copy command is limited to size of file it can copy).
+ (cmb)
+ . Fixed bug #80126 (Covariant return types failing compilation). (Nikita)
+ . Fixed bug #80186 (Segfault when iterating over FFI object). (Nikita)
+
+- Calendar:
+ . Fixed bug #80185 (jdtounix() fails after 2037). (cmb)
+
+- IMAP:
+ . Fixed bug #80213 (imap_mail_compose() segfaults on certain $bodies). (cmb)
+ . Fixed bug #80215 (imap_mail_compose() may modify by-val parameters). (cmb)
+ . Fixed bug #80220 (imap_mail_compose() may leak memory). (cmb)
+ . Fixed bug #80223 (imap_mail_compose() leaks envelope on malformed bodies).
+ (cmb)
+ . Fixed bug #80216 (imap_mail_compose() does not validate types/encodings).
+ (cmb)
+ . Fixed bug #80226 (imap_sort() leaks sortpgm memory). (cmb)
+
+- MySQLnd:
+ . Fixed bug #80115 (mysqlnd.debug doesn't recognize absolute paths with
+ slashes). (cmb)
+ . Fixed bug #80107 (mysqli_query() fails for ~16 MB long query when
+ compression is enabled). (Nikita)
+
+- ODBC:
+ . Fixed bug #78470 (odbc_specialcolumns() no longer accepts $nullable). (cmb)
+ . Fixed bug #80147 (BINARY strings may not be properly zero-terminated).
+ (cmb)
+ . Fixed bug #80150 (Failure to fetch error message). (cmb)
+ . Fixed bug #80152 (odbc_execute() moves internal pointer of $params). (cmb)
+ . Fixed bug #46050 (odbc_next_result corrupts prepared resource). (cmb)
+
+- OPcache:
+ . Fixed bug #80083 (Optimizer pass 6 removes variables used for ibm_db2 data
+ binding). (Nikita)
+ . Fixed bug #80194 (Assertion failure during block assembly of unreachable
+ free with leading nop). (Nikita)
+
+- PCRE:
+ . Updated to PCRE 10.35. (cmb)
+ . Fixed bug #80118 (Erroneous whitespace match with JIT only). (cmb)
+
+- PDO_ODBC:
+ . Fixed bug #67465 (NULL Pointer dereference in odbc_handle_preparer). (cmb)
+
+- Standard:
+ . Fixed bug #80114 (parse_url does not accept URLs with port 0). (cmb, twosee)
+ . Fixed bug #76943 (Inconsistent stream_wrapper_restore() errors). (cmb)
+ . Fixed bug #76735 (Incorrect message in fopen on invalid mode). (cmb)
+
+- Tidy:
+ . Fixed bug #77040 (tidyNode::isHtml() is completely broken). (cmb)
+
+01 Oct 2020, PHP 7.4.11
+
+- Core:
+ . Fixed bug #79979 (passing value to by-ref param via CUFA crashes). (cmb,
+ Nikita)
+ . Fixed bug #80037 (Typed property must not be accessed before initialization
+ when __get() declared). (Nikita)
+ . Fixed bug #80048 (Bug #69100 has not been fixed for Windows). (cmb)
+ . Fixed bug #80049 (Memleak when coercing integers to string via variadic
+ argument). (Nikita)
+ . Fixed bug #79699 (PHP parses encoded cookie names so malicious `__Host-`
+ cookies can be sent). (CVE-2020-7070) (Stas)
+
+- Calendar:
+ . Fixed bug #80007 (Potential type confusion in unixtojd() parameter parsing).
+ (Andy Postnikov)
+
+- COM:
+ . Fixed bug #64130 (COM obj parameters passed by reference are not updated).
+ (cmb)
+
+- OPcache:
+ . Fixed bug #80002 (calc free space for new interned string is wrong).
+ (t-matsuno)
+ . Fixed bug #80046 (FREE for SWITCH_STRING optimized away). (Nikita)
+ . Fixed bug #79825 (opcache.file_cache causes SIGSEGV when custom opcode
+ handlers changed). (SammyK)
+
+- OpenSSL:
+ . Fixed bug #79601 (Wrong ciphertext/tag in AES-CCM encryption for a 12
+ bytes IV). (CVE-2020-7069) (Jakub Zelenka)
+
+- PDO:
+ . Fixed bug #80027 (Terrible performance using $query->fetch on queries with
+ many bind parameters). (Matteo)
+
+- SOAP:
+ . Fixed bug #47021 (SoapClient stumbles over WSDL delivered with
+ "Transfer-Encoding: chunked"). (Matteo)
+
+- Standard:
+ . Fixed bug #79986 (str_ireplace bug with diacritics characters). (cmb)
+ . Fixed bug #80077 (getmxrr test bug). (Rainer Jung)
+ . Fixed bug #72941 (Modifying bucket->data by-ref has no effect any longer).
+ (cmb)
+ . Fixed bug #80067 (Omitting the port in bindto setting errors). (cmb)
+
+03 Sep 2020, PHP 7.4.10
+
+- Core:
+ . Fixed bug #79884 (PHP_CONFIG_FILE_PATH is meaningless). (cmb)
+ . Fixed bug #77932 (File extensions are case-sensitive). (cmb)
+ . Fixed bug #79806 (realpath() erroneously resolves link to link). (cmb)
+ . Fixed bug #79895 (PHP_CHECK_GCC_ARG does not allow flags with equal sign).
+ (Santiago M. Mola)
+ . Fixed bug #79919 (Stack use-after-scope in define()). (cmb)
+ . Fixed bug #79934 (CRLF-only line in heredoc causes parsing error).
+ (Pieter van den Ham)
+ . Fixed bug #79947 (Memory leak on invalid offset type in compound
+ assignment). (Nikita)
+
+- COM:
+ . Fixed bug #48585 (com_load_typelib holds reference, fails on second call).
+ (cmb)
+
+- Exif:
+ . Fixed bug #75785 (Many errors from exif_read_data).
+ (Níckolas Daniel da Silva)
+
+- Gettext:
+ . Fixed bug #70574 (Tests fail due to relying on Linux fallback behavior for
+ gettext()). (Florian Engelhardt)
+
+- LDAP:
+ . Fixed memory leaks. (ptomulik)
+
+- OPcache:
+ . Fixed bug #73060 (php failed with error after temp folder cleaned up).
+ (cmb)
+ . Fixed bug #79917 (File cache segfault with a static variable in inherited
+ method). (Nikita)
+
+- PDO:
+ . Fixed bug #64705 (errorInfo property of PDOException is null when
+ PDO::__construct() fails). (Ahmed Abdou)
+
+- Session:
+ . Fixed bug #79724 (Return type does not match in ext/session/mod_mm.c).
+ (Nikita)
+
+- Standard:
+ . Fixed bug #79930 (array_merge_recursive() crashes when called with array
+ with single reference). (Nikita)
+ . Fixed bug #79944 (getmxrr always returns true on Alpine linux). (Nikita)
+ . Fixed bug #79951 (Memory leak in str_replace of empty string). (Nikita)
+
+- XML:
+ . Fixed bug #79922 (Crash after multiple calls to xml_parser_free()). (cmb)
+
+06 Aug 2020, PHP 7.4.9
+
+- Apache:
+ . Fixed bug #79030 (Upgrade apache2handler's php_apache_sapi_get_request_time
+ to return usec). (Herbert256)
+
+- COM:
+ . Fixed bug #63208 (BSTR to PHP string conversion not binary safe). (cmb)
+ . Fixed bug #63527 (DCOM does not work with Username, Password parameter).
+ (cmb)
+
+- Core:
+ . Fixed bug #79877 (getimagesize function silently truncates after a null
+ byte) (cmb)
+ . Fixed bug #79740 (serialize() and unserialize() methods can not be called
+ statically). (Nikita)
+ . Fixed bug #79783 (Segfault in php_str_replace_common). (Nikita)
+ . Fixed bug #79778 (Assertion failure if dumping closure with unresolved
+ static variable). (Nikita)
+ . Fixed bug #79779 (Assertion failure when assigning property of string
+ offset by reference). (Nikita)
+ . Fixed bug #79792 (HT iterators not removed if empty array is destroyed).
+ (Nikita)
+ . Fixed bug #78598 (Changing array during undef index RW error segfaults).
+ (Nikita)
+ . Fixed bug #79784 (Use after free if changing array during undef var during
+ array write fetch). (Nikita)
+ . Fixed bug #79793 (Use after free if string used in undefined index warning
+ is changed). (Nikita)
+ . Fixed bug #79862 (Public non-static property in child should take priority
+ over private static). (Nikita)
+
+- Fileinfo:
+ . Fixed bug #79756 (finfo_file crash (FILEINFO_MIME)). (cmb)
+
+- FTP:
+ . Fixed bug #55857 (ftp_size on large files). (cmb)
+
+- Mbstring:
+ . Fixed bug #79787 (mb_strimwidth does not trim string). (XXiang)
+
+- OpenSSL:
+ . Fixed bug #79881 (Memory leak in openssl_pkey_get_public()). (Nikita)
+
+- Phar:
+ . Fixed bug #79797 (Use of freed hash key in the phar_parse_zipfile
+ function). (CVE-2020-7068) (cmb)
+
+- Reflection:
+ . Fixed bug #79487 (::getStaticProperties() ignores property modifications).
+ (cmb, Nikita)
+ . Fixed bug #69804 (::getStaticPropertyValue() throws on protected props).
+ (cmb, Nikita)
+ . Fixed bug #79820 (Use after free when type duplicated into
+ ReflectionProperty gets resolved). (Christopher Broadbent)
+
+- Standard:
+ . Fixed bug #70362 (Can't copy() large 'data://' with open_basedir). (cmb)
+ . Fixed bug #78008 (dns_check_record() always return true on Alpine).
+ (Andy Postnikov)
+ . Fixed bug #79839 (array_walk() does not respect property types). (Nikita)
+
+09 Jul 2020, PHP 7.4.8
+
+- Core:
+ . Fixed bug #79595 (zend_init_fpu() alters FPU precision). (cmb, Nikita)
+ . Fixed bug #79650 (php-win.exe 100% cpu lockup). (cmb)
+ . Fixed bug #79668 (get_defined_functions(true) may miss functions). (cmb,
+ Nikita)
+ . Fixed bug #79683 (Fake reflection scope affects __toString()). (Nikita)
+ . Fixed possibly unsupported timercmp() usage. (cmb)
+
+- Exif:
+ . Fixed bug #79687 (Sony picture - PHP Warning - Make, Model, MakerNotes).
+ (cmb)
+
+- Fileinfo:
+ . Fixed bug #79681 (mime_content_type/finfo returning incorrect mimetype).
+ (cmb)
+
+- Filter:
+ . Fixed bug #73527 (Invalid memory access in php_filter_strip). (cmb)
+
+- GD:
+ . Fixed bug #79676 (imagescale adds black border with IMG_BICUBIC). (cmb)
+
+- OpenSSL:
+ . Fixed bug #62890 (default_socket_timeout=-1 causes connection to timeout).
+ (cmb)
+
+- PDO SQLite:
+ . Fixed bug #79664 (PDOStatement::getColumnMeta fails on empty result set).
+ (cmb)
+
+- phpdbg:
+ . Fixed bug #73926 (phpdbg will not accept input on restart execution). (cmb)
+ . Fixed bug #73927 (phpdbg fails with windows error prompt at "watch array").
+ (cmb)
+ . Fixed several mostly Windows related phpdbg bugs. (cmb)
+
+- SPL:
+ . Fixed bug #79710 (Reproducible segfault in error_handler during GC
+ involved an SplFileObject). (Nikita)
+
+- Standard:
+ . Fixed bug #74267 (segfault with streams and invalid data). (cmb)
+ . Fixed bug #79579 (ZTS build of PHP 7.3.17 doesn't handle ERANGE for
+ posix_getgrgid and others). (Böszörményi Zoltán)
+
+11 Jun 2020, PHP 7.4.7
+
+- Core:
+ . Fixed bug #79599 (coredump in set_error_handler). (Laruence)
+ . Fixed bug #79566 (Private SHM is not private on Windows). (cmb)
+ . Fixed bug #79489 (.user.ini does not inherit). (cmb)
+ . Fixed bug #79600 (Regression in 7.4.6 when yielding an array based
+ generator). (Nikita)
+ . Fixed bug #79657 ("yield from" hangs when invalid value encountered).
+ (Nikita)
+
+- FFI:
+ . Fixed bug #79571 (FFI: var_dumping unions may segfault). (cmb)
+
+- GD:
+ . Fixed bug #79615 (Wrong GIF header written in GD GIFEncode). (sageptr, cmb)
+
+- MySQLnd:
+ . Fixed bug #79596 (MySQL FLOAT truncates to int some locales). (cmb)
+
+- Opcache:
+ . Fixed bug #79588 (Boolean opcache settings ignore on/off values). (cmb)
+ . Fixed bug #79548 (Preloading segfault with inherited method using static
+ variable). (Nikita)
+ . Fixed bug #79603 (RTD collision with opcache). (Nikita)
+
+- Standard:
+ . Fixed bug #79561 (dns_get_record() fails with DNS_ALL). (cmb)
+
+14 May 2020, PHP 7.4.6
+
+- Core:
+ . Fixed bug #79536 (zend_clear_exception prevent exception's destructor to be
+ called). (Laruence)
+ . Fixed bug #78434 (Generator yields no items after valid() call). (Nikita)
+ . Fixed bug #79477 (casting object into array creates references). (Nikita)
+ . Fixed bug #79514 (Memory leaks while including unexistent file). (cmb,
+ Nikita)
+
+- DOM:
+ . Fixed bug #78221 (DOMNode::normalize() doesn't remove empty text nodes).
+ (cmb)
+
+- EXIF:
+ . Fixed bug #79336 (ext/exif/tests/bug79046.phpt fails on Big endian arch).
+ (Nikita)
+
+- FCGI:
+ . Fixed bug #79491 (Search for .user.ini extends up to root dir). (cmb)
+
+- MBString:
+ . Fixed bug #79441 (Segfault in mb_chr() if internal encoding is unsupported).
+ (Girgias)
+
+- OpenSSL:
+ . Fixed bug #79497 (stream_socket_client() throws an unknown error sometimes
+ with <1s timeout). (Joe Cai)
+
+- PCRE:
+ . Upgraded to PCRE2 10.34. (cmb)
+
+- Phar:
+ . Fixed bug #79503 (Memory leak on duplicate metadata). (cmb)
+
+- SimpleXML:
+ . Fixed bug #79528 (Different object of the same xml between 7.4.5 and
+ 7.4.4). (cmb)
+
+- SPL:
+ . Fixed bug #69264 (__debugInfo() ignored while extending SPL classes). (cmb)
+ . Fixed bug #67369 (ArrayObject serialization drops the iterator class).
+ (Alex Dowad)
+
+- Standard:
+ . Fixed bug #79468 (SIGSEGV when closing stream handle with a stream filter
+ appended). (dinosaur)
+ . Fixed bug #79447 (Serializing uninitialized typed properties with __sleep
+ should not throw). (nicolas-grekas)
+
+16 Apr 2020, PHP 7.4.5
+
+- Core:
+ . Fixed bug #79364 (When copy empty array, next key is unspecified). (cmb)
+ . Fixed bug #78210 (Invalid pointer address). (cmb, Nikita)
+
+- CURL:
+ . Fixed bug #79199 (curl_copy_handle() memory leak). (cmb)
+
+- Date:
+ . Fixed bug #79396 (DateTime hour incorrect during DST jump forward). (Nate
+ Brunette)
+ . Fixed bug #74940 (DateTimeZone loose comparison always true). (cmb)
+
+- FPM:
+ . Implement request #77062 (Allow numeric [UG]ID in FPM listen.{owner,group})
+ (Andre Nathan)
+
+- Iconv:
+ . Fixed bug #79200 (Some iconv functions cut Windows-1258). (cmb)
+
+- OPcache:
+ . Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).
+ (Dmitry)
+
+- Session:
+ . Fixed bug #79413 (session_create_id() fails for active sessions). (cmb)
+
+- Shmop:
+ . Fixed bug #79427 (Integer Overflow in shmop_open()). (cmb)
+
+- SimpleXML:
+ . Fixed bug #61597 (SXE properties may lack attributes and content). (cmb)
+
+- SOAP:
+ . Fixed bug #79357 (SOAP request segfaults when any request parameter is
+ missing). (Nikita)
+
+- Spl:
+ . Fixed bug #75673 (SplStack::unserialize() behavior). (cmb)
+ . Fixed bug #79393 (Null coalescing operator failing with SplFixedArray).
+ (cmb)
+
+- Standard:
+ . Fixed bug #79330 (shell_exec() silently truncates after a null byte). (stas)
+ . Fixed bug #79465 (OOB Read in urldecode()). (CVE-2020-7067) (stas)
+ . Fixed bug #79410 (system() swallows last chunk if it is exactly 4095 bytes
+ without newline). (Christian Schneider)
+
+- Zip:
+ . Fixed Bug #79296 (ZipArchive::open fails on empty file). (Remi)
+ . Fixed bug #79424 (php_zip_glob uses gl_pathc after call to globfree).
+ (Max Rees)
+
+19 Mar 2020, PHP 7.4.4
+
+- Core:
+ . Fixed bug #79244 (php crashes during parsing INI file). (Laruence)
+ . Fixed bug #63206 (restore_error_handler does not restore previous errors
+ mask). (Mark Plomer)
+
+- COM:
+ . Fixed bug #66322 (COMPersistHelper::SaveToFile can save to wrong location).
+ (cmb)
+ . Fixed bug #79242 (COM error constants don't match com_exception codes on
+ x86). (cmb)
+ . Fixed bug #79247 (Garbage collecting variant objects segfaults). (cmb)
+ . Fixed bug #79248 (Traversing empty VT_ARRAY throws com_exception). (cmb)
+ . Fixed bug #79299 (com_print_typeinfo prints duplicate variables). (Litiano
+ Moura)
+ . Fixed bug #79332 (php_istreams are never freed). (cmb)
+ . Fixed bug #79333 (com_print_typeinfo() leaks memory). (cmb)
+
+- CURL:
+ . Fixed bug #79019 (Copied cURL handles upload empty file). (cmb)
+ . Fixed bug #79013 (Content-Length missing when posting a curlFile with
+ curl). (cmb)
+
+- DOM:
+ . Fixed bug #77569: (Write Access Violation in DomImplementation). (Nikita,
+ cmb)
+ . Fixed bug #79271 (DOMDocumentType::$childNodes is NULL). (cmb)
+
+- Enchant:
+ . Fixed bug #79311 (enchant_dict_suggest() fails on big endian architecture).
+ (cmb)
+
+- EXIF:
+ . Fixed bug #79282 (Use-of-uninitialized-value in exif). (CVE-2020-7064)
+ (Nikita)
+
+- Fileinfo:
+ . Fixed bug #79283 (Segfault in libmagic patch contains a buffer
+ overflow). (cmb)
+
+- FPM:
+ . Fixed bug #77653 (operator displayed instead of the real error message).
+ (Jakub Zelenka)
+ . Fixed bug #79014 (PHP-FPM & Primary script unknown). (Jakub Zelenka)
+
+- MBstring:
+ . Fixed bug #79371 (mb_strtolower (UTF-32LE): stack-buffer-overflow at
+ php_unicode_tolower_full). (CVE-2020-7065) (cmb)
+
+- MySQLi:
+ . Fixed bug #64032 (mysqli reports different client_version). (cmb)
+
+- MySQLnd:
+ . Implemented FR #79275 (Support auth_plugin_caching_sha2_password on
+ Windows). (cmb)
+
+- Opcache:
+ . Fixed bug #79252 (preloading causes php-fpm to segfault during exit).
+ (Nikita)
+
+- PCRE:
+ . Fixed bug #79188 (Memory corruption in preg_replace/preg_replace_callback
+ and unicode). (Nikita)
+ . Fixed bug #79241 (Segmentation fault on preg_match()). (Nikita)
+ . Fixed bug #79257 (Duplicate named groups (?J) prefer last alternative even
+ if not matched). (Nikita)
+
+- PDO_ODBC:
+ . Fixed bug #79038 (PDOStatement::nextRowset() leaks column values). (cmb)
+
+- Reflection:
+ . Fixed bug #79062 (Property with heredoc default value returns false for
+ getDocComment). (Nikita)
+
+- SQLite3:
+ . Fixed bug #79294 (::columnType() may fail after SQLite3Stmt::reset()). (cmb)
+
+- Standard:
+ . Fixed bug #79329 (get_headers() silently truncates after a null byte).
+ (CVE-2020-7066) (cmb)
+ . Fixed bug #79254 (getenv() w/o arguments not showing changes). (cmb)
+ . Fixed bug #79265 (Improper injection of Host header when using fopen for
+ http requests). (Miguel Xavier Penha Neto)
+
+- Zip:
+ . Fixed bug #79315 (ZipArchive::addFile doesn't honor start/length
+ parameters). (Remi)
+
+20 Feb 2020, PHP 7.4.3
+
+- Core:
+ . Fixed bug #79146 (cscript can fail to run on some systems). (clarodeus)
+ . Fixed bug #79155 (Property nullability lost when using multiple property
+ definition). (Nikita)
+ . Fixed bug #78323 (Code 0 is returned on invalid options). (Ivan Mikheykin)
+ . Fixed bug #78989 (Delayed variance check involving trait segfaults).
+ (Nikita)
+ . Fixed bug #79174 (cookie values with spaces fail to round-trip). (cmb)
+ . Fixed bug #76047 (Use-after-free when accessing already destructed
+ backtrace arguments). (Nikita)
+
+- CURL:
+ . Fixed bug #79078 (Hypothetical use-after-free in curl_multi_add_handle()).
+ (cmb)
+
+- FFI:
+ . Fixed bug #79096 (FFI Struct Segfault). (cmb)
+
+- IMAP:
+ . Fixed bug #79112 (IMAP extension can't find OpenSSL libraries at configure
+ time). (Nikita)
+
+- Intl:
+ . Fixed bug #79212 (NumberFormatter::format() may detect wrong type). (cmb)
+
+- Libxml:
+ . Fixed bug #79191 (Error in SoapClient ctor disables DOMDocument::save()).
+ (Nikita, cmb)
+
+- MBString:
+ . Fixed bug #79149 (SEGV in mb_convert_encoding with non-string encodings).
+ (cmb)
+
+- MySQLi:
+ . Fixed bug #78666 (Properties may emit a warning on var_dump()). (kocsismate)
+
+- MySQLnd:
+ . Fixed bug #79084 (mysqlnd may fetch wrong column indexes with MYSQLI_BOTH).
+ (cmb)
+ . Fixed bug #79011 (MySQL caching_sha2_password Access denied for password
+ with more than 20 chars). (Nikita)
+
+- Opcache:
+ . Fixed bug #79114 (Eval class during preload causes class to be only half
+ available). (Laruence)
+ . Fixed bug #79128 (Preloading segfaults if preload_user is used). (Nikita)
+ . Fixed bug #79193 (Incorrect type inference for self::$field =& $field).
+ (Nikita)
+
+- OpenSSL:
+ . Fixed bug #79145 (openssl memory leak). (cmb, Nikita)
+
+- Phar:
+ . Fixed bug #79082 (Files added to tar with Phar::buildFromIterator have
+ all-access permissions). (CVE-2020-7063) (stas)
+ . Fixed bug #79171 (heap-buffer-overflow in phar_extract_file).
+ (CVE-2020-7061) (cmb)
+ . Fixed bug #76584 (PharFileInfo::decompress not working). (cmb)
+
+- Reflection:
+ . Fixed bug #79115 (ReflectionClass::isCloneable call reflected class
+ __destruct). (Nikita)
+
+- Session:
+ . Fixed bug #79221 (Null Pointer Dereference in PHP Session Upload Progress).
+ (CVE-2020-7062) (stas)
+
+- Standard:
+ . Fixed bug #78902 (Memory leak when using stream_filter_append). (liudaixiao)
+ . Fixed bug #78969 (PASSWORD_DEFAULT should match PASSWORD_BCRYPT instead of being null). (kocsismate)
+
+- Testing:
+ . Fixed bug #78090 (bug45161.phpt takes forever to finish). (cmb)
+
+- XSL:
+ . Fixed bug #70078 (XSL callbacks with nodes as parameter leak memory). (cmb)
+
+- Zip:
+ . Add ZipArchive::CM_LZMA2 and ZipArchive::CM_XZ constants (since libzip 1.6.0). (Remi)
+ . Add ZipArchive::RDONLY (since libzip 1.0.0). (Remi)
+ . Add ZipArchive::ER_* missing constants. (Remi)
+ . Add ZipArchive::LIBZIP_VERSION constant. (Remi)
+ . Fixed bug #73119 (Wrong return for ZipArchive::addEmptyDir Method). (Remi)
+
+23 Jan 2020, PHP 7.4.2
+
+- Core:
+ . Preloading support on Windows has been disabled. (Nikita)
+ . Fixed bug #79022 (class_exists returns True for classes that are not ready
+ to be used). (Laruence)
+ . Fixed bug #78929 (plus signs in cookie values are converted to spaces).
+ (Alexey Kachalin)
+ . Fixed bug #78973 (Destructor during CV freeing causes segfault if opline
+ never saved). (Nikita)
+ . Fixed bug #78776 (Abstract method implementation from trait does not check
+ "static"). (Nikita)
+ . Fixed bug #78999 (Cycle leak when using function result as temporary).
+ (Dmitry)
+ . Fixed bug #79008 (General performance regression with PHP 7.4 on Windows).
+ (cmb)
+ . Fixed bug #79002 (Serializing uninitialized typed properties with __sleep
+ makes unserialize throw). (Nikita)
+
+- CURL:
+ . Fixed bug #79033 (Curl timeout error with specific url and post). (cmb)
+ . Fixed bug #79063 (curl openssl does not respect PKG_CONFIG_PATH). (Nikita)
+
+- Date:
+ . Fixed bug #79015 (undefined-behavior in php_date.c). (cmb)
+
+- DBA:
+ . Fixed bug #78808 ([LMDB] MDB_MAP_FULL: Environment mapsize limit reached).
+ (cmb)
+
+- Exif:
+ . Fixed bug #79046 (NaN to int cast undefined behavior in exif). (Nikita)
+
+- Fileinfo:
+ . Fixed bug #74170 (locale information change after mime_content_type).
+ (Sergei Turchanov)
+
+- GD:
+ . Fixed bug #79067 (gdTransformAffineCopy() may use unitialized values). (cmb)
+ . Fixed bug #79068 (gdTransformAffineCopy() changes interpolation method).
+ (cmb)
+
+- Libxml:
+ . Fixed bug #79029 (Use After Free's in XMLReader / XMLWriter). (Laruence)
+
+- OPcache:
+ . Fixed bug #78961 (erroneous optimization of re-assigned $GLOBALS). (Dmitry)
+ . Fixed bug #78950 (Preloading trait method with static variables). (Nikita)
+ . Fixed bug #78903 (Conflict in RTD key for closures results in crash).
+ (Nikita)
+ . Fixed bug #78986 (Opcache segfaults when inheriting ctor from immutable
+ into mutable class). (Nikita)
+ . Fixed bug #79040 (Warning Opcode handlers are unusable due to ASLR). (cmb)
+ . Fixed bug #79055 (Typed property become unknown with OPcache file cache).
+ (Nikita)
+
+- Pcntl:
+ . Fixed bug #78402 (Converting null to string in error message is bad DX).
+ (SATŌ Kentarō)
+
+- PDO_PgSQL:
+ . Fixed bug #78983 (pdo_pgsql config.w32 cannot find libpq-fe.h). (SATŌ
+ Kentarō)
+ . Fixed bug #78980 (pgsqlGetNotify() overlooks dead connection). (SATŌ
+ Kentarō)
+ . Fixed bug #78982 (pdo_pgsql returns dead persistent connection). (SATŌ
+ Kentarō)
+
+- Session:
+ . Fixed bug #79031 (Session unserialization problem). (Nikita)
+
+- Shmop:
+ . Fixed bug #78538 (shmop memory leak). (cmb)
+
+- Sqlite3:
+ . Fixed bug #79056 (sqlite does not respect PKG_CONFIG_PATH during
+ compilation). (Nikita)
+
+- Spl:
+ . Fixed bug #78976 (SplFileObject::fputcsv returns -1 on failure). (cmb)
+
+- Standard:
+ . Fixed bug #79000 (Non-blocking socket stream reports EAGAIN as error).
+ (Nikita)
+ . Fixed bug #54298 (Using empty additional_headers adding extraneous CRLF).
+ (cmb)
+
+18 Dec 2019, PHP 7.4.1
+
+- Core:
+ . Fixed bug #78810 (RW fetches do not throw "uninitialized property"
+ exception). (Nikita)
+ . Fixed bug #78868 (Calling __autoload() with incorrect EG(fake_scope) value).
+ (Antony Dovgal, Dmitry)
+ . Fixed bug #78296 (is_file fails to detect file). (cmb)
+ . Fixed bug #78883 (fgets(STDIN) fails on Windows). (cmb)
+ . Fixed bug #78898 (call_user_func(['parent', ...]) fails while other
+ succeed). (Nikita)
+ . Fixed bug #78904 (Uninitialized property triggers __get()). (Nikita)
+ . Fixed bug #78926 (Segmentation fault on Symfony cache:clear). (Nikita)
+
+- GD:
+ . Fixed bug #78849 (GD build broken with -D SIGNED_COMPARE_SLOW). (cmb)
+ . Fixed bug #78923 (Artifacts when convoluting image with transparency).
+ (wilson chen)
+
+- FPM:
+ . Fixed bug #76601 (Partially working php-fpm ater incomplete reload).
+ (Maksim Nikulin)
+ . Fixed bug #78889 (php-fpm service fails to start). (Jakub Zelenka)
+ . Fixed bug #78916 (php-fpm 7.4.0 don't send mail via mail()).
+ (Jakub Zelenka)
+
+- Intl:
+ . Implemented FR #78912 (INTL Support for accounting format). (cmb)
+
+- Mysqlnd:
+ . Fixed bug #78823 (ZLIB_LIBS not added to EXTRA_LIBS). (Arjen de Korte)
+
+- OPcache:
+ . Fixed $x = (bool)$x; with opcache (should emit undeclared variable notice).
+ (Tyson Andre)
+ . Fixed bug #78935 (Preloading removes classes that have dependencies).
+ (Nikita, Dmitry)
+
+- PCRE:
+ . Fixed bug #78853 (preg_match() may return integer > 1). (cmb)
+
+- Reflection:
+ . Fixed bug #78895 (Reflection detects abstract non-static class as abstract
+ static. IS_IMPLICIT_ABSTRACT is not longer used). (Dmitry)
+
+- Standard:
+ . Fixed bug #77638 (var_export'ing certain class instances segfaults). (cmb)
+ . Fixed bug #78840 (imploding $GLOBALS crashes). (cmb)
+ . Fixed bug #78833 (Integer overflow in pack causes out-of-bound access).
+ (cmb)
+ . Fixed bug #78814 (strip_tags allows / in tag name => whitelist bypass).
+ (cmb)
+
+28 Nov 2019, PHP 7.4.0
+
+- Core:
+ . Implemented RFC: Deprecate curly brace syntax for accessing array elements
+ and string offsets.
+ https://wiki.php.net/rfc/deprecate_curly_braces_array_access (Andrey Gromov)
+ . Implemented RFC: Deprecations for PHP 7.4.
+ https://wiki.php.net/rfc/deprecations_php_7_4 (Kalle, Nikita)
+ . Fixed bug #52752 (Crash when lexing). (Nikita)
+ . Fixed bug #60677 (CGI doesn't properly validate shebang line contains #!).
+ (Nikita)
+ . Fixed bug #71030 (Self-assignment in list() may have inconsistent behavior).
+ (Nikita)
+ . Fixed bug #72530 (Use After Free in GC with Certain Destructors). (Nikita)
+ . Fixed bug #75921 (Inconsistent: No warning in some cases when stdObj is
+ created on the fly). (David Walker)
+ . Implemented FR #76148 (Add array_key_exists() to the list of specially
+ compiled functions). (Majkl578)
+ . Fixed bug #76430 (__METHOD__ inconsistent outside of method).
+ (Ryan McCullagh, Nikita)
+ . Fixed bug #76451 (Aliases during inheritance type checks affected by
+ opcache). (Nikita)
+ . Implemented FR #77230 (Support custom CFLAGS and LDFLAGS from environment).
+ (cmb)
+ . Fixed bug #77345 (Stack Overflow caused by circular reference in garbage
+ collection). (Alexandru Patranescu, Nikita, Dmitry)
+ . Fixed bug #77812 (Interactive mode does not support PHP 7.3-style heredoc).
+ (cmb, Nikita)
+ . Fixed bug #77877 (call_user_func() passes $this to static methods).
+ (Dmitry)
+ . Fixed bug #78066 (PHP eats the first byte of a program that comes from
+ process substitution). (Nikita)
+ . Fixed bug #78151 (Segfault caused by indirect expressions in PHP 7.4a1).
+ (Nikita)
+ . Fixed bug #78154 (SEND_VAR_NO_REF does not always send reference). (Nikita)
+ . Fixed bug #78182 (Segmentation fault during by-reference property
+ assignment). (Nikita)
+ . Fixed bug #78212 (Segfault in built-in webserver). (cmb)
+ . Fixed bug #78220 (Can't access OneDrive folder). (cmb, ab)
+ . Fixed bug #78226 (Unexpected __set behavior with typed properties). (Nikita)
+ . Fixed bug #78239 (Deprecation notice during string conversion converted to
+ exception hangs). (Nikita)
+ . Fixed bug #78335 (Static properties/variables containing cycles report as
+ leak). (Nikita)
+ . Fixed bug #78340 (Include of stream wrapper not reading whole file).
+ (Nikita)
+ . Fixed bug #78344 (Segmentation fault on zend_check_protected). (Nikita)
+ . Fixed bug #78356 (Array returned from ArrayAccess is incorrectly unpacked
+ as argument). (Nikita)
+ . Fixed bug #78379 (Cast to object confuses GC, causes crash). (Dmitry)
+ . Fixed bug #78386 (fstat mode has unexpected value on PHP 7.4). (cmb)
+ . Fixed bug #78396 (Second file_put_contents in Shutdown hangs script).
+ (Nikita)
+ . Fixed bug #78406 (Broken file includes with user-defined stream filters).
+ (Nikita)
+ . Fixed bug #78438 (Corruption when __unserializing deeply nested structures).
+ (cmb, Nikita)
+ . Fixed bug #78441 (Parse error due to heredoc identifier followed by digit).
+ (cmb)
+ . Fixed bug #78454 (Consecutive numeric separators cause OOM error).
+ (Theodore Brown)
+ . Fixed bug #78460 (PEAR installation failure). (Peter Kokot, L. Declercq)
+ . Fixed bug #78531 (Crash when using undefined variable as object). (Dmitry)
+ . Fixed bug #78535 (auto_detect_line_endings value not parsed as bool).
+ (bugreportuser)
+ . Fixed bug #78604 (token_get_all() does not properly tokenize FOOstat modifies $dbc->affected_rows).
+ (Derick)
+ . Fixed bug #76809 (SSL settings aren't respected when persistent connections
+ are used). (fabiomsouto)
+ . Fixed bug #78179 (MariaDB server version incorrectly detected). (cmb)
+ . Fixed bug #78213 (Empty row pocket). (cmb)
+
+- MySQLnd:
+ . Fixed connect_attr issues and added the _server_host connection attribute.
+ (Qianqian Bu)
+ . Fixed bug #60594 (mysqlnd exposes 160 lines of stats in phpinfo). (PeeHaa)
+
+- ODBC:
+ . Fixed bug #78473 (odbc_close() closes arbitrary resources). (cmb)
+
+- Opcache:
+ . Implemented preloading RFC: https://wiki.php.net/rfc/preload. (Dmitry)
+ . Add opcache.preload_user INI directive. (Dmitry)
+ . Added new INI directive opcache.cache_id (Windows only). (cmb)
+ . Fixed bug #78106 (Path resolution fails if opcache disabled during request).
+ (Nikita)
+ . Fixed bug #78175 (Preloading segfaults at preload time and at runtime).
+ (Dmitry)
+ . Fixed bug #78202 (Opcache stats for cache hits are capped at 32bit NUM).
+ (cmb)
+ . Fixed bug #78271 (Invalid result of if-else). (Nikita)
+ . Fixed bug #78341 (Failure to detect smart branch in DFA pass). (Nikita)
+ . Fixed bug #78376 (Incorrect preloading of constant static properties).
+ (Dmitry)
+ . Fixed bug #78429 (opcache_compile_file(__FILE__); segfaults). (cmb)
+ . Fixed bug #78512 (Cannot make preload work). (Dmitry)
+ . Fixed bug #78514 (Preloading segfaults with inherited typed property).
+ (Nikita)
+ . Fixed bug #78654 (Incorrectly computed opcache checksum on files with
+ non-ascii characters). (mhagstrand)
+
+- OpenSSL:
+ . Added TLS 1.3 support to streams including new tlsv1.3 stream.
+ (Codarren Velvindron, Jakub Zelenka)
+ . Added openssl_x509_verify function. (Ben Scholzen)
+ . openssl_random_pseudo_bytes() now throws in error conditions.
+ (Sammy Kaye Powers)
+ . Changed the default config path (Windows only). (cmb)
+ . Fixed bug #78231 (Segmentation fault upon stream_socket_accept of exported
+ socket-to-stream). (Nikita)
+ . Fixed bug #78391 (Assertion failure in openssl_random_pseudo_bytes).
+ (Nikita)
+ . Fixed bug #78775 (TLS issues from HTTP request affecting other encrypted
+ connections). (Nikita)
+
+- Pcntl:
+ . Fixed bug #77335 (PHP is preventing SIGALRM from specifying SA_RESTART).
+ (Nikita)
+
+- PCRE:
+ . Implemented FR #77094 (Support flags in preg_replace_callback). (Nikita)
+ . Fixed bug #72685 (Repeated UTF-8 validation of same string in UTF-8 mode).
+ (Nikita)
+ . Fixed bug #73948 (Preg_match_all should return NULLs on trailing optional
+ capture groups).
+ . Fixed bug #78338 (Array cross-border reading in PCRE). (cmb)
+ . Fixed bug #78349 (Bundled pcre2 library missing LICENCE file). (Peter Kokot)
+
+- PDO:
+ . Implemented FR #71885 (Allow escaping question mark placeholders).
+ https://wiki.php.net/rfc/pdo_escape_placeholders (Matteo)
+ . Fixed bug #77849 (Disable cloning of PDO handle/connection objects).
+ (camporter)
+ . Implemented FR #78033 (PDO - support username & password specified in
+ DSN). (sjon)
+
+- PDO_Firebird:
+ . Implemented FR #65690 (PDO_Firebird should also support dialect 1).
+ (Simonov Denis)
+ . Implemented FR #77863 (PDO firebird support type Boolean in input
+ parameters). (Simonov Denis)
+
+- PDO_MySQL:
+ . Fixed bug #41997 (SP call yields additional empty result set). (cmb)
+ . Fixed bug #78623 (Regression caused by "SP call yields additional empty
+ result set"). (cmb)
+
+- PDO_OCI:
+ . Support Oracle Database tracing attributes ACTION, MODULE,
+ CLIENT_INFO, and CLIENT_IDENTIFIER. (Cameron Porter)
+ . Implemented FR #76908 (PDO_OCI getColumnMeta() not implemented).
+ (Valentin Collet, Chris Jones, Remi)
+
+- PDO_SQLite:
+ . Implemented sqlite_stmt_readonly in PDO_SQLite. (BohwaZ)
+ . Raised requirements to SQLite 3.5.0. (cmb)
+ . Fixed bug #78192 (SegFault when reuse statement after schema has changed).
+ (Vincent Quatrevieux)
+ . Fixed bug #78348 (Remove -lrt from pdo_sqlite.so). (Peter Kokot)
+
+- Phar:
+ . Fixed bug #77919 (Potential UAF in Phar RSHUTDOWN). (cmb)
+
+- phpdbg:
+ . Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel)
+ . Fixed bug #76801 (too many open files). (alekitto)
+ . Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints).
+ (krakjoe)
+ . Fixed bug #77805 (phpdbg build fails when readline is shared). (krakjoe)
+
+- Recode:
+ . Unbundled the recode extension. (cmb)
+
+- Reflection:
+ . Fixed bug #76737 (Unserialized reflection objects are broken, they
+ shouldn't be serializable). (Nikita)
+ . Fixed bug #78263 (\ReflectionReference::fromArrayElement() returns null
+ while item is a reference). (Nikita)
+ . Fixed bug #78410 (Cannot "manually" unserialize class that is final and
+ extends an internal one). (Nikita)
+ . Fixed bug #78697 (ReflectionClass::implementsInterface - inaccurate error
+ message with traits). (villfa)
+ . Fixed bug #78774 (ReflectionNamedType on Typed Properties Crash). (Nikita)
+
+- Session:
+ . Fixed bug #78624 (session_gc return value for user defined session
+ handlers). (bshaffer)
+
+- SimpleXML:
+ . Implemented FR #65215 (SimpleXMLElement could register as implementing
+ Countable). (LeSuisse)
+ . Fixed bug #75245 (Don't set content of elements with only whitespaces).
+ (eriklundin)
+
+- Sockets:
+ . Fixed bug #67619 (Validate length on socket_write). (thiagooak)
+ . Fixed bug #78665 (Multicasting may leak memory). (cmb)
+
+- sodium:
+ . Fixed bug #77646 (sign_detached() strings not terminated). (Frank)
+ . Fixed bug #78510 (Partially uninitialized buffer returned by
+ sodium_crypto_generichash_init()). (Frank Denis, cmb)
+ . Fixed bug #78516 (password_hash(): Memory cost is not in allowed range).
+ (cmb, Nikita)
+
+- SPL:
+ . Fixed bug #77518 (SeekableIterator::seek() should accept 'int' typehint as
+ documented). (Nikita)
+ . Fixed bug #78409 (Segfault when creating instance of ArrayIterator without
+ constructor). (Nikita)
+ . Fixed bug #78436 (Missing addref in SplPriorityQueue EXTR_BOTH mode).
+ (Nikita)
+ . Fixed bug #78456 (Segfault when serializing SplDoublyLinkedList). (Nikita)
+
+- SQLite3:
+ . Unbundled libsqlite. (cmb)
+ . Raised requirements to SQLite 3.7.4. (cmb)
+ . Forbid (un)serialization of SQLite3, SQLite3Stmt and SQLite3Result. (cmb)
+ . Added support for the SQLite @name notation. (cmb, BohwaZ)
+ . Added SQLite3Stmt::getSQL() to retrieve the SQL of the statement. (Bohwaz)
+ . Implement FR ##70950 (Make SQLite3 Online Backup API available). (BohwaZ)
+
+- Standard:
+ . Implemented password hashing registry RFC:
+ https://wiki.php.net/rfc/password_registry. (Sara)
+ . Implemented RFC where password_hash() has argon2i(d) implementations from
+ ext/sodium when PHP is built without libargon:
+ https://wiki.php.net/rfc/sodium.argon.hash (Sara)
+ . Implemented FR #38301 (field enclosure behavior in fputcsv). (cmb)
+ . Implemented FR #51496 (fgetcsv should take empty string as an escape). (cmb)
+ . Fixed bug #73535 (php_sockop_write() returns 0 on error, can be used to
+ trigger Denial of Service). (Nikita)
+ . Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with
+ stream_socket_client). (Ville Hukkamäki)
+ . Fixed bug #76859 (stream_get_line skips data if used with data-generating
+ filter). (kkopachev)
+ . Implemented FR #77377 (No way to handle CTRL+C in Windows). (Anatol)
+ . Fixed bug #77930 (stream_copy_to_stream should use mmap more often).
+ (Nikita)
+ . Implemented FR #78177 (Make proc_open accept command array). (Nikita)
+ . Fixed bug #78208 (password_needs_rehash() with an unknown algo should always
+ return true). (Sara)
+ . Fixed bug #78241 (touch() does not handle dates after 2038 in PHP 64-bit). (cmb)
+ . Fixed bug #78282 (atime and mtime mismatch). (cmb)
+ . Fixed bug #78326 (improper memory deallocation on stream_get_contents()
+ with fixed length buffer). (Albert Casademont)
+ . Fixed bug #78346 (strip_tags no longer handling nested php tags). (cmb)
+ . Fixed bug #78506 (Error in a php_user_filter::filter() is not reported).
+ (Nikita)
+ . Fixed bug #78549 (Stack overflow due to nested serialized input). (Nikita)
+ . Fixed bug #78759 (array_search in $GLOBALS). (Nikita)
+
+- Testing:
+ . Fixed bug #78684 (PCRE bug72463_2 test is sending emails on Linux). (cmb)
+
+- Tidy:
+ . Added TIDY_TAG_* constants for HTML5 elements. (cmb)
+ . Fixed bug #76736 (wrong reflection for tidy_get_head, tidy_get_html,
+ tidy_get_root, and tidy_getopt) (tandre)
+
+- WDDX:
+ . Deprecated and unbundled the WDDX extension. (cmb)
+
+- Zip:
+ . Fixed bug #78641 (addGlob can modify given remove_path value). (cmb)
+
+21 Nov 2019, PHP 7.3.12
+
+- Core:
+ . Fixed bug #78658 (Memory corruption using Closure::bindTo). (Nikita)
+ . Fixed bug #78656 (Parse errors classified as highest log-level). (Erik
+ Lundin)
+ . Fixed bug #78752 (Segfault if GC triggered while generator stack frame is
+ being destroyed). (Nikita)
+ . Fixed bug #78689 (Closure::fromCallable() doesn't handle
+ [Closure, '__invoke']). (Nikita)
+
+- COM:
+ . Fixed bug #78694 (Appending to a variant array causes segfault). (cmb)
+
+- Date:
+ . Fixed bug #70153 (\DateInterval incorrectly unserialized). (Maksim Iakunin)
+ . Fixed bug #78751 (Serialising DatePeriod converts DateTimeImmutable). (cmb)
+
+- Iconv:
+ . Fixed bug #78642 (Wrong libiconv version displayed). (gedas at martynas,
+ cmb).
+
+- OpCache:
+ . Fixed bug #78654 (Incorrectly computed opcache checksum on files with
+ non-ascii characters). (mhagstrand)
+ . Fixed bug #78747 (OpCache corrupts custom extension result). (Nikita)
+
+- OpenSSL:
+ . Fixed bug #78775 (TLS issues from HTTP request affecting other encrypted
+ connections). (Nikita)
+
+- Reflection:
+ . Fixed bug #78697 (ReflectionClass::ImplementsInterface - inaccurate error
+ message with traits). (villfa)
+
+- Sockets:
+ . Fixed bug #78665 (Multicasting may leak memory). (cmb)
+
+24 Oct 2019, PHP 7.3.11
+
+- Core:
+ . Fixed bug #78535 (auto_detect_line_endings value not parsed as bool).
+ (bugreportuser)
+ . Fixed bug #78620 (Out of memory error). (cmb, Nikita)
+
+- Exif :
+ . Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7)
+ (Kalle)
+
+- FPM:
+ . Fixed bug #78599 (env_path_info underflow in fpm_main.c can lead to RCE).
+ (CVE-2019-11043) (Jakub Zelenka)
+ . Fixed bug #78413 (request_terminate_timeout does not take effect after
+ fastcgi_finish_request). (Sergei Turchanov)
+
+- MBString:
+ . Fixed bug #78633 (Heap buffer overflow (read) in mb_eregi). (cmb)
+ . Fixed bug #78579 (mb_decode_numericentity: args number inconsistency).
+ (cmb)
+ . Fixed bug #78609 (mb_check_encoding() no longer supports stringable
+ objects). (cmb)
+
+- MySQLi:
+ . Fixed bug #76809 (SSL settings aren't respected when persistent connections
+ are used). (fabiomsouto)
+
+- Mysqlnd:
+ . Fixed bug #78525 (Memory leak in pdo when reusing native prepared
+ statements). (Nikita)
+
+- PCRE:
+ . Fixed bug #78272 (calling preg_match() before pcntl_fork() will freeze
+ child process). (Nikita)
+
+- PDO_MySQL:
+ . Fixed bug #78623 (Regression caused by "SP call yields additional empty
+ result set"). (cmb)
+
+- Session:
+ . Fixed bug #78624 (session_gc return value for user defined session
+ handlers). (bshaffer)
+
+- Standard:
+ . Fixed bug #76342 (file_get_contents waits twice specified timeout).
+ (Thomas Calvet)
+ . Fixed bug #78612 (strtr leaks memory when integer keys are used and the
+ subject string shorter). (Nikita)
+ . Fixed bug #76859 (stream_get_line skips data if used with data-generating
+ filter). (kkopachev)
+
+- Zip:
+ . Fixed bug #78641 (addGlob can modify given remove_path value). (cmb)
+
+26 Sep 2019, PHP 7.3.10
+
+- Core:
+ . Fixed bug #78220 (Can't access OneDrive folder). (cmb, ab)
+ . Fixed bug #77922 (Double release of doc comment on inherited shadow
+ property). (Nikita)
+ . Fixed bug #78441 (Parse error due to heredoc identifier followed by digit).
+ (cmb)
+ . Fixed bug #77812 (Interactive mode does not support PHP 7.3-style heredoc).
+ (cmb, Nikita)
+
+- FastCGI:
+ . Fixed bug #78469 (FastCGI on_accept hook is not called when using named
+ pipes on Windows). (Sergei Turchanov)
+
+- FPM:
+ . Fixed bug #78334 (fpm log prefix message includes wrong stdout/stderr
+ notation). (Tsuyoshi Sadakata)
+
+- Intl:
+ . Ensure IDNA2003 rules are used with idn_to_ascii() and idn_to_utf8()
+ when requested. (Sara)
+
+- MBString:
+ . Fixed bug #78559 (Heap buffer overflow in mb_eregi). (cmb)
+
+- MySQLnd:
+ . Fixed connect_attr issues and added the _server_host connection attribute.
+ (Qianqian Bu)
+
+- ODBC:
+ . Fixed bug #78473 (odbc_close() closes arbitrary resources). (cmb)
+
+- PDO_MySQL:
+ . Fixed bug #41997 (SP call yields additional empty result set). (cmb)
+
+- sodium:
+ . Fixed bug #78510 (Partially uninitialized buffer returned by
+ sodium_crypto_generichash_init()). (Frank Denis, cmb)
+
+29 Aug 2019, PHP 7.3.9
+
+- Core:
+ . Fixed bug #78363 (Buffer overflow in zendparse). (Nikita)
+ . Fixed bug #78379 (Cast to object confuses GC, causes crash). (Dmitry)
+ . Fixed bug #78412 (Generator incorrectly reports non-releasable $this as GC
+ child). (Nikita)
+
+- Curl:
+ . Fixed bug #77946 (Bad cURL resources returned by curl_multi_info_read()).
+ (Abyr Valg)
+
+- Exif:
+ . Fixed bug #78333 (Exif crash (bus error) due to wrong alignment and
+ invalid cast). (Nikita)
+
+- FPM:
+ . Fixed bug #77185 (Use-after-free in FPM master event handling).
+ (Maksim Nikulin)
+
+- Iconv:
+ . Fixed bug #78342 (Bus error in configure test for iconv //IGNORE). (Rainer
+ Jung)
+
+- LiteSpeed:
+ . Updated to LiteSpeed SAPI V7.5 (Fixed clean shutdown). (George Wang)
+
+- MBString:
+ . Fixed bug #78380 (Oniguruma 6.9.3 fixes CVEs). (CVE-2019-13224) (Stas)
+
+- MySQLnd:
+ . Fixed bug #78179 (MariaDB server version incorrectly detected). (cmb)
+ . Fixed bug #78213 (Empty row pocket). (cmb)
+
+- Opcache:
+ . Fixed bug #77191 (Assertion failure in dce_live_ranges() when silencing is
+ used). (Nikita)
+
+- Standard:
+ . Fixed bug #69100 (Bus error from stream_copy_to_stream (file -> SSL stream)
+ with invalid length). (Nikita)
+ . Fixed bug #78282 (atime and mtime mismatch). (cmb)
+ . Fixed bug #78326 (improper memory deallocation on stream_get_contents()
+ with fixed length buffer). (Albert Casademont)
+ . Fixed bug #78346 (strip_tags no longer handling nested php tags). (cmb)
+
+01 Aug 2019, PHP 7.3.8
+
+- Core:
+ . Added syslog.filter=raw option. (Erik Lundin)
+ . Fixed bug #78212 (Segfault in built-in webserver). (cmb)
+
+- Date:
+ . Fixed bug #69044 (discrepency between time and microtime). (krakjoe)
+ . Updated timelib to 2018.02. (Derick)
+
+- 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)
+
+- FTP:
+ . Fixed bug #78039 (FTP with SSL memory leak). (Nikita)
+
+- Libxml:
+ . Fixed bug #78279 (libxml_disable_entity_loader settings is shared between
+ requests (cgi-fcgi)). (Nikita)
+
+- LiteSpeed:
+ . Updated to LiteSpeed SAPI V7.4.3 (increased response header count limit from
+ 100 to 1000, added crash handler to cleanly shutdown PHP request, added
+ CloudLinux mod_lsapi mode). (George Wang)
+ . Fixed bug #76058 (After "POST data can't be buffered", using php://input
+ makes huge tmp files). (George Wang)
+
+- Openssl:
+ . Fixed bug #78231 (Segmentation fault upon stream_socket_accept of exported
+ socket-to-stream). (Nikita)
+
+- Opcache:
+ . Fixed bug #78189 (file cache strips last character of uname hash). (cmb)
+ . Fixed bug #78202 (Opcache stats for cache hits are capped at 32bit NUM).
+ (cmb)
+ . Fixed bug #78271 (Invalid result of if-else). (Nikita)
+ . Fixed bug #78291 (opcache_get_configuration doesn't list all directives).
+ (Andrew Collington)
+ . Fixed bug #78341 (Failure to detect smart branch in DFA pass). (Nikita)
+
+- PCRE:
+ . Fixed bug #78197 (PCRE2 version check in configure fails for "##.##-xxx"
+ version strings). (pgnet, Peter Kokot)
+ . Fixed bug #78338 (Array cross-border reading in PCRE). (cmb)
+
+- PDO_Sqlite:
+ . Fixed bug #78192 (SegFault when reuse statement after schema has changed).
+ (Vincent Quatrevieux)
+
+- Phar:
+ . Fixed bug #77919 (Potential UAF in Phar RSHUTDOWN). (cmb)
+
+- Phpdbg:
+ . Fixed bug #78297 (Include unexistent file memory leak). (Nikita)
+
+- SQLite:
+ . Upgraded to SQLite 3.28.0. (cmb)
+
+- Standard:
+ . Fixed bug #78241 (touch() does not handle dates after 2038 in PHP 64-bit). (cmb)
+ . Fixed bug #78269 (password_hash uses weak options for argon2). (Remi)
+
+04 Jul 2019, PHP 7.3.7
+
+- Core:
+ . Fixed bug #76980 (Interface gets skipped if autoloader throws an exception).
+ (Nikita)
+
+- DOM:
+ . Fixed bug #78025 (segfault when accessing properties of DOMDocumentType).
+ (cmb)
+
+- MySQLi:
+ . Fixed bug #77956 (When mysqli.allow_local_infile = Off, use a meaningful
+ error message). (Sjon Hortensius)
+ . Fixed bug #38546 (bindParam incorrect processing of bool types).
+ (camporter)
+
+- MySQLnd:
+ . Fixed bug #77955 (Random segmentation fault in mysqlnd from php-fpm).
+ (Nikita)
+
+- Opcache:
+ . Fixed bug #78015 (Incorrect evaluation of expressions involving partials
+ arrays in SCCP). (Nikita)
+ . Fixed bug #78106 (Path resolution fails if opcache disabled during request).
+ (Nikita)
+
+- OpenSSL:
+ . Fixed bug #78079 (openssl_encrypt_ccm.phpt fails with OpenSSL 1.1.1c).
+ (Jakub Zelenka)
+
+- phpdbg:
+ . Fixed bug #78050 (SegFault phpdbg + opcache on include file twice).
+ (Nikita)
+
+- Sockets:
+ . Fixed bug #78038 (Socket_select fails when resource array contains
+ references). (Nikita)
+
+- Sodium:
+ . Fixed bug #78114 (segfault when calling sodium_* functions from eval). (cmb)
+
+- Standard:
+ . Fixed bug #77135 (Extract with EXTR_SKIP should skip $this).
+ (Craig Duncan, Dmitry)
+ . Fixed bug #77937 (preg_match failed). (cmb, Anatol)
+
+- Zip:
+ . Fixed bug #76345 (zip.h not found). (Michael Maroszek)
+
+30 May 2019, PHP 7.3.6
+
+- cURL:
+ . Implemented FR #72189 (Add missing CURL_VERSION_* constants). (Javier
+ Spagnoletti)
+
+- Date:
+ . Fixed bug #77909 (DatePeriod::__construct() with invalid recurrence count
+ value). (Ignace Nyamagana Butera)
+
+- EXIF:
+ . Fixed bug #77988 (heap-buffer-overflow on php_jpg_get16).
+ (CVE-2019-11040) (Stas)
+
+- FPM:
+ . Fixed bug #77934 (php-fpm kill -USR2 not working). (Jakub Zelenka)
+ . Fixed bug #77921 (static.php.net doesn't work anymore). (Peter Kokot)
+
+- GD:
+ . Fixed bug #77943 (imageantialias($image, false); does not work). (cmb)
+ . 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)
+
+- JSON:
+ . Fixed bug #77843 (Use after free with json serializer). (Nikita)
+
+- Opcache:
+ . Fixed possible crashes, because of inconsistent PCRE cache and opcache
+ SHM reset. (Alexey Kalinin, Dmitry)
+
+- PDO_MySQL:
+ . Fixed bug #77944 (Wrong meta pdo_type for bigint on LLP64). (cmb)
+
+- Reflection:
+ . Fixed bug #75186 (Inconsistent reflection of Closure:::__invoke()). (Nikita)
+
+- Session:
+ . Fixed bug #77911 (Wrong warning for session.sid_bits_per_character). (cmb)
+
+- SOAP:
+ . Fixed bug #77945 (Segmentation fault when constructing SoapClient with
+ WSDL_CACHE_BOTH). (Nikita)
+
+- SPL:
+ . Fixed bug #77024 (SplFileObject::__toString() may return array). (Craig
+ Duncan)
+
+- SQLite:
+ . Fixed bug #77967 (Bypassing open_basedir restrictions via file uris). (Stas)
+
+- Standard:
+ . Fixed bug #77931 (Warning for array_map mentions wrong type). (Nikita)
+ . Fixed bug #78003 (strip_tags output change since PHP 7.3). (cmb)
+
+02 May 2019, PHP 7.3.5
+
+- Core:
+ . Fixed bug #77903 (ArrayIterator stops iterating after offsetSet call).
+ (Nikita)
+
+- CLI:
+ . Fixed bug #77794 (Incorrect Date header format in built-in server).
+ (kelunik)
+
+- EXIF
+ . Fixed bug #77950 (Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG).
+ (CVE-2019-11036) (Stas)
+
+- Interbase:
+ . Fixed bug #72175 (Impossibility of creating multiple connections to
+ Interbase with php 7.x). (Nikita)
+
+- Intl:
+ . Fixed bug #77895 (IntlDateFormatter::create fails in strict mode if $locale
+ = null). (Nikita)
+
+- LDAP:
+ . Fixed bug #77869 (Core dump when using server controls) (mcmic)
+
+- Mail
+ . Fixed bug #77821 (Potential heap corruption in TSendMail()). (cmb)
+
+- mbstring:
+ . Implemented FR #72777 (Implement regex stack limits for mbregex functions).
+ (Yasuo Ohgaki, Stas)
+
+- MySQLi:
+ . Fixed bug #77773 (Unbuffered queries leak memory - MySQLi / mysqlnd).
+ (Nikita)
+
+- PCRE:
+ . Fixed bug #77827 (preg_match does not ignore \r in regex flags). (requinix,
+ cmb)
+
+- PDO:
+ . Fixed bug #77849 (Disable cloning of PDO handle/connection objects).
+ (camporter)
+
+- phpdbg:
+ . Fixed bug #76801 (too many open files). (alekitto)
+ . Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints).
+ (krakjoe)
+ . Fixed bug #77805 (phpdbg build fails when readline is shared). (krakjoe)
+
+- Reflection:
+ . Fixed bug #77772 (ReflectionClass::getMethods(null) doesn't work). (Nikita)
+ . Fixed bug #77882 (Different behavior: always calls destructor). (Nikita)
+
+- Standard:
+ . Fixed bug #77793 (Segmentation fault in extract() when overwriting
+ reference with itself). (Nikita)
+ . Fixed bug #77844 (Crash due to null pointer in parse_ini_string with
+ INI_SCANNER_TYPED). (Nikita)
+ . Fixed bug #77853 (Inconsistent substr_compare behaviour with empty
+ haystack). (Nikita)
+
+04 Apr 2019, PHP 7.3.4
+
+- Core:
+ . Fixed bug #77738 (Nullptr deref in zend_compile_expr). (Laruence)
+ . Fixed bug #77660 (Segmentation fault on break 2147483648). (Laruence)
+ . Fixed bug #77652 (Anonymous classes can lose their interface information).
+ (Nikita)
+ . Fixed bug #77345 (Stack Overflow caused by circular reference in garbage
+ collection). (Alexandru Patranescu, Nikita, Dmitry)
+ . Fixed bug #76956 (Wrong value for 'syslog.filter' documented in php.ini).
+ (cmb)
+
+- Apache2Handler:
+ . Fixed bug #77648 (BOM in sapi/apache2handler/php_functions.c). (cmb)
+
+- Bcmath:
+ . Fixed bug #77742 (bcpow() implementation related to gcc compiler
+ optimization). (Nikita)
+
+- CLI Server:
+ . Fixed bug #77722 (Incorrect IP set to $_SERVER['REMOTE_ADDR'] on the
+ localhost). (Nikita)
+
+- COM:
+ . Fixed bug #77578 (Crash when php unload). (cmb)
+
+- 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)
+
+- FPM:
+ . Fixed bug #77677 (FPM fails to build on AIX due to missing WCOREDUMP).
+ (Kevin Adler)
+
+- GD:
+ . Fixed bug #77700 (Writing truecolor images as GIF ignores interlace flag).
+ (cmb)
+
+- MySQLi:
+ . Fixed bug #77597 (mysqli_fetch_field hangs scripts). (Nikita)
+
+- Opcache:
+ . Fixed bug #77743 (Incorrect pi node insertion for jmpznz with identical
+ successors). (Nikita)
+
+- PCRE:
+ . Fixed bug #76127 (preg_split does not raise an error on invalid UTF-8).
+ (Nikita)
+
+- Phar:
+ . Fixed bug #77697 (Crash on Big_Endian platform). (Laruence)
+
+- phpdbg:
+ . Fixed bug #77767 (phpdbg break cmd aliases listed in help do not match
+ actual aliases). (Miriam Lauter)
+
+- sodium:
+ . Fixed bug #77646 (sign_detached() strings not terminated). (Frank)
+
+- SQLite3:
+ . Added sqlite3.defensive INI directive. (BohwaZ)
+
+- Standard:
+ . Fixed bug #77664 (Segmentation fault when using undefined constant in
+ custom wrapper). (Laruence)
+ . Fixed bug #77669 (Crash in extract() when overwriting extracted array).
+ (Nikita)
+ . Fixed bug #76717 (var_export() does not create a parsable value for
+ PHP_INT_MIN). (Nikita)
+ . Fixed bug #77765 (FTP stream wrapper should set the directory as
+ executable). (Vlad Temian)
+
+07 Mar 2019, PHP 7.3.3
+
+- Core:
+ . Fixed bug #77589 (Core dump using parse_ini_string with numeric sections).
+ (Laruence)
+ . Fixed bug #77329 (Buffer Overflow via overly long Error Messages).
+ (Dmitry)
+ . Fixed bug #77494 (Disabling class causes segfault on member access).
+ (Dmitry)
+ . Fixed bug #77498 (Custom extension Segmentation fault when declare static
+ property). (Nikita)
+ . Fixed bug #77530 (PHP crashes when parsing `(2)::class`). (Ekin)
+ . Fixed bug #77546 (iptcembed broken function). (gdegoulet)
+ . Fixed bug #77630 (rename() across the device may allow unwanted access
+ during processing). (Stas)
+
+- COM:
+ . Fixed bug #77621 (Already defined constants are not properly reported).
+ (cmb)
+ . Fixed bug #77626 (Persistence confusion in php_com_import_typelib()). (cmb)
+
+- 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)
+
+- Mbstring:
+ . Fixed bug #77514 (mb_ereg_replace() with trailing backslash adds null byte).
+ (Nikita)
+
+- MySQL
+ . Disabled LOCAL INFILE by default, can be enabled using php.ini directive
+ mysqli.allow_local_infile for mysqli, or PDO::MYSQL_ATTR_LOCAL_INFILE
+ attribute for pdo_mysql. (Darek Slusarczyk)
+
+- OpenSSL:
+ . Fixed bug #77390 (feof might hang on TLS streams in case of fragmented TLS
+ records). (Abyl Valg, Jakub Zelenka)
+
+- PDO_OCI:
+ . Support Oracle Database tracing attributes ACTION, MODULE,
+ CLIENT_INFO, and CLIENT_IDENTIFIER. (Cameron Porter)
+
+- PHAR:
+ . Fixed bug #77396 (Null Pointer Dereference in phar_create_or_parse_filename).
+ (bishop)
+ . Fixed bug #77586 (phar_tar_writeheaders_int() buffer overflow). (bishop)
+
+- phpdbg:
+ . Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel)
+
+- SPL:
+ . Fixed bug #51068 (DirectoryIterator glob:// don't support current path
+ relative queries). (Ahmed Abdou)
+ . Fixed bug #77431 (openFile() silently truncates after a null byte). (cmb)
+
+- Standard:
+ . Fixed bug #77552 (Unintialized php_stream_statbuf in stat functions).
+ (John Stevenson)
+ . Fixed bug #77612 (setcookie() sets incorrect SameSite header if all of its
+ options filled). (Nikita)
+
+07 Feb 2019, PHP 7.3.2
+
+- Core:
+ . Fixed bug #77369 (memcpy with negative length via crafted DNS response). (Stas)
+ . Fixed bug #77387 (Recursion detection broken when printing GLOBALS).
+ (Laruence)
+ . Fixed bug #77376 ("undefined function" message no longer includes
+ namespace). (Laruence)
+ . Fixed bug #77357 (base64_encode / base64_decode doest not work on nested
+ VM). (Nikita)
+ . Fixed bug #77339 (__callStatic may get incorrect arguments). (Dmitry)
+ . Fixed bug #77317 (__DIR__, __FILE__, realpath() reveal physical path for
+ subst virtual drive). (Anatol)
+ . Fixed bug #77263 (Segfault when using 2 RecursiveFilterIterator). (Dmitry)
+ . Fixed bug #77447 (PHP 7.3 built with ASAN crashes in
+ zend_cpu_supports_avx2). (Nikita)
+ . Fixed bug #77484 (Zend engine crashes when calling realpath in invalid
+ working dir). (Anatol)
+
+- Curl:
+ . Fixed bug #76675 (Segfault with H2 server push). (Pedro Magalhães)
+
+- Fileinfo:
+ . Fixed bug #77346 (webm files incorrectly detected as
+ application/octet-stream). (Anatol)
+
+- FPM:
+ . Fixed bug #77430 (php-fpm crashes with Main process exited, code=dumped,
+ status=11/SEGV). (Jakub Zelenka)
+
+- GD:
+ . Fixed bug #73281 (imagescale(…, IMG_BILINEAR_FIXED) can cause black border).
+ (cmb)
+ . Fixed bug #73614 (gdImageFilledArc() doesn't properly draw pies). (cmb)
+ . Fixed bug #77272 (imagescale() may return image resource on failure). (cmb)
+ . Fixed bug #77391 (1bpp BMPs may fail to be loaded). (Romain Déoux, cmb)
+ . Fixed bug #77479 (imagewbmp() segfaults with very large images). (cmb)
+
+- ldap:
+ . Fixed bug #77440 (ldap_bind using ldaps or ldap_start_tls()=exception in
+ libcrypto-1_1-x64.dll). (Anatol)
+
+- Mbstring:
+ . Fixed bug #77428 (mb_ereg_replace() doesn't replace a substitution
+ variable). (Nikita)
+ . Fixed bug #77454 (mb_scrub() silently truncates after a null byte).
+ (64796c6e69 at gmail dot com)
+
+- MySQLnd:
+ . Fixed bug #77308 (Unbuffered queries memory leak). (Dmitry)
+ . Fixed bug #75684 (In mysqlnd_ext_plugin.h the plugin methods family has
+ no external visibility). (Anatol)
+
+- Opcache:
+ . Fixed bug #77266 (Assertion failed in dce_live_ranges). (Laruence)
+ . Fixed bug #77257 (value of variable assigned in a switch() construct gets
+ lost). (Nikita)
+ . Fixed bug #77434 (php-fpm workers are segfaulting in zend_gc_addre).
+ (Nikita)
+ . Fixed bug #77361 (configure fails on 64-bit AIX when opcache enabled).
+ (Kevin Adler)
+ . Fixed bug #77287 (Opcache literal compaction is incompatible with EXT
+ opcodes). (Nikita)
+
+- PCRE:
+ . Fixed bug #77338 (get_browser with empty string). (Nikita)
+
+- PDO:
+ . Fixed bug #77273 (array_walk_recursive corrupts value types leading to PDO
+ failure). (Nikita)
+
+- PDO MySQL:
+ . Fixed bug #77289 (PDO MySQL segfaults with persistent connection).
+ (Lauri Kenttä)
+
+- SOAP:
+ . Fixed bug #77410 (Segmentation Fault when executing method with an empty
+ parameter). (Nikita)
+
+- Sockets:
+ . Fixed bug #76839 (socket_recvfrom may return an invalid 'from' address
+ on MacOS). (Michael Meyer)
+
+- SPL:
+ . Fixed bug #77298 (segfault occurs when add property to unserialized empty
+ ArrayObject). (jhdxr)
+
+- Standard:
+ . Fixed bug #77395 (segfault about array_multisort). (Laruence)
+ . Fixed bug #77439 (parse_str segfaults when inserting item into existing
+ array). (Nikita)
+
+10 Jan 2019, PHP 7.3.1
+
+- Core:
+ . Fixed bug #76654 (Build failure on Mac OS X on 32-bit Intel). (Ryandesign)
+ . Fixed bug #71041 (zend_signal_startup() needs ZEND_API).
+ (Valentin V. Bartenev)
+ . Fixed bug #76046 (PHP generates "FE_FREE" opcode on the wrong line).
+ (Nikita)
+ . Fixed bug #77291 (magic methods inherited from a trait may be ignored).
+ (cmb)
+
+- CURL:
+ . Fixed bug #77264 (curl_getinfo returning microseconds, not seconds).
+ (Pierrick)
+
+- COM:
+ . Fixed bug #77177 (Serializing or unserializing COM objects crashes). (cmb)
+
+- Exif:
+ . Fixed bug #77184 (Unsigned rational numbers are written out as signed
+ rationals). (Colin Basnett)
+
+- GD:
+ . Fixed bug #77195 (Incorrect error handling of imagecreatefromjpeg()). (cmb)
+ . Fixed bug #77198 (auto cropping has insufficient precision). (cmb)
+ . Fixed bug #77200 (imagecropauto(…, GD_CROP_SIDES) crops left but not right).
+ (cmb)
+ . 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)
+
+- MBString:
+ . Fixed bug #77367 (Negative size parameter in mb_split). (Stas)
+ . 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)
+
+- OCI8:
+ . Fixed bug #76804 (oci_pconnect with OCI_CRED_EXT not working). (KoenigsKind)
+ . Added oci_set_call_timeout() for call timeouts.
+ . Added oci_set_db_operation() for the DBOP end-to-end-tracing attribute.
+
+- Opcache:
+ . Fixed bug #77215 (CFG assertion failure on multiple finalizing switch
+ frees in one block). (Nikita)
+ . Fixed bug #77275 (OPcache optimization problem for ArrayAccess->offsetGet).
+ (Nikita)
+
+- PCRE:
+ . Fixed bug #77193 (Infinite loop in preg_replace_callback). (Anatol)
+
+- PDO:
+ . Handle invalid index passed to PDOStatement::fetchColumn() as error. (Sergei
+ Morozov)
+
+- Phar:
+ . Fixed bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext). (Stas)
+
+- Soap:
+ . Fixed bug #77088 (Segfault when using SoapClient with null options).
+ (Laruence)
+
+- Sockets:
+ . Fixed bug #77136 (Unsupported IPV6_RECVPKTINFO constants on macOS).
+ (Mizunashi Mana)
+
+- Sodium:
+ . Fixed bug #77297 (SodiumException segfaults on PHP 7.3). (Nikita, Scott)
+
+- SPL:
+ . Fixed bug #77359 (spl_autoload causes segfault). (Lauri Kenttä)
+ . Fixed bug #77360 (class_uses causes segfault). (Lauri Kenttä)
+
+- SQLite3:
+ . Fixed bug #77051 (Issue with re-binding on SQLite3). (BohwaZ)
+
+- 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)
+
+06 Dec 2018, PHP 7.3.0
+
+- Core:
+ . Improved PHP GC. (Dmitry, Nikita)
+ . Redesigned the old ext_skel program written in PHP, run:
+ 'php ext_skel.php' for all options. This means there are no dependencies,
+ thus making it work on Windows out of the box. (Kalle)
+ . Removed support for BeOS. (Kalle)
+ . Add PHP_VERSION to phpinfo() . (github/MattJeevas)
+ . Add net_get_interfaces(). (Sara, Joe, Anatol)
+ . Added gc_status(). (Benjamin Eberlei)
+ . Implemented flexible heredoc and nowdoc syntax, per
+ RFC https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes.
+ (Thomas Punt)
+ . Added support for references in list() and array destructuring, per
+ RFC https://wiki.php.net/rfc/list_reference_assignment.
+ (David Walker)
+ . Improved effectiveness of ZEND_SECURE_ZERO for NetBSD and systems
+ without native similar feature. (devnexen)
+ . Added syslog.facility and syslog.ident INI entries for customizing syslog
+ logging. (Philip Prindeville)
+ . Fixed bug #75683 (Memory leak in zend_register_functions() in ZTS mode).
+ (Dmitry)
+ . Fixed bug #75031 (support append mode in temp/memory streams). (adsr)
+ . Fixed bug #74860 (Uncaught exceptions not being formatted properly when
+ error_log set to "syslog"). (Philip Prindeville)
+ . Fixed bug #75220 (Segfault when calling is_callable on parent).
+ (andrewnester)
+ . Fixed bug #69954 (broken links and unused config items in distributed ini
+ files). (petk)
+ . Fixed bug #74922 (Composed class has fatal error with duplicate, equal const
+ properties). (pmmaga)
+ . Fixed bug #63911 (identical trait methods raise errors during composition).
+ (pmmaga)
+ . Fixed bug #75677 (Clang ignores fastcall calling convention on variadic
+ function). (Li-Wen Hsu)
+ . Fixed bug #54043 (Remove inconsitency of internal exceptions and user
+ defined exceptions). (Nikita)
+ . Fixed bug #53033 (Mathematical operations convert objects to integers).
+ (Nikita)
+ . Fixed bug #73108 (Internal class cast handler uses integer instead of
+ float). (Nikita)
+ . Fixed bug #75765 (Fatal error instead of Error exception when base class is
+ not found). (Timur Ibragimov)
+ . Fixed bug #76198 (Wording: "iterable" is not a scalar type). (Levi Morrison)
+ . Fixed bug #76137 (config.guess/config.sub do not recognize RISC-V). (cmb)
+ . Fixed bug #76427 (Segfault in zend_objects_store_put). (Laruence)
+ . Fixed bug #76422 (ftruncate fails on files > 2GB). (Anatol)
+ . Fixed bug #76509 (Inherited static properties can be desynchronized from
+ their parent by ref). (Nikita)
+ . Fixed bug #76439 (Changed behaviour in unclosed HereDoc). (Nikita, tpunt)
+ . Fixed bug #63217 (Constant numeric strings become integers when used as
+ ArrayAccess offset). (Rudi Theunissen, Dmitry)
+ . Fixed bug #33502 (Some nullary functions don't check the number of
+ arguments). (cmb)
+ . Fixed bug #76392 (Error relocating sapi/cli/php: unsupported relocation
+ type 37). (Peter Kokot)
+ . The declaration and use of case-insensitive constants has been deprecated.
+ (Nikita)
+ . Added syslog.filter INI entry for syslog filtering. (Philip Prindeville)
+ . Fixed bug #76667 (Segfault with divide-assign op and __get + __set).
+ (Laruence)
+ . Fixed bug #76030 (RE2C_FLAGS rarely honoured) (Cristian Rodríguez)
+ . Fixed broken zend_read_static_property (Laruence)
+ . Fixed bug #76773 (Traits used on the parent are ignored for child classes).
+ (daverandom)
+ . Fixed bug #76767 (‘asm’ operand has impossible constraints in zend_operators.h).
+ (ondrej)
+ . Fixed bug #76752 (Crash in ZEND_COALESCE_SPEC_TMP_HANDLER - assertion in
+ _get_zval_ptr_tmp failed). (Laruence)
+ . Fixed bug #76820 (Z_COPYABLE invalid definition). (mvdwerve, cmb)
+ . Fixed bug #76510 (file_exists() stopped working for phar://). (cmb)
+ . Fixed bug #76869 (Incorrect bypassing protected method accessibilty check).
+ (Dmitry)
+ . Fixed bug #72635 (Undefined class used by class constant in constexpr
+ generates fatal error). (Nikita)
+ . Fixed bug #76947 (file_put_contents() blocks the directory of the file
+ (__DIR__)). (Anatol)
+ . Fixed bug #76979 (define() error message does not mention resources as
+ valid values). (Michael Moravec)
+ . Fixed bug #76825 (Undefined symbols ___cpuid_count). (Laruence, cmb)
+ . Fixed bug #77110 (undefined symbol zend_string_equal_val in C++ build).
+ (Remi)
+
+- BCMath:
+ . Implemented FR #67855 (No way to get current scale in use). (Chris Wright,
+ cmb)
+ . Fixed bug #66364 (BCMath bcmul ignores scale parameter). (cmb)
+ . Fixed bug #75164 (split_bc_num() is pointless). (cmb)
+ . Fixed bug #75169 (BCMath errors/warnings bypass PHP's error handling). (cmb)
+
+- CLI:
+ . Fixed bug #44217 (Output after stdout/stderr closed cause immediate exit
+ with status 0). (Robert Lu)
+ . Fixed bug #77111 (php-win.exe corrupts unicode symbols from cli
+ parameters). (Anatol)
+
+- cURL:
+ . Expose curl constants from curl 7.50 to 7.61. (Pierrick)
+ . Fixed bug #74125 (Fixed finding CURL on systems with multiarch support).
+ (cebe)
+
+- Date:
+ . Implemented FR #74668: Add DateTime::createFromImmutable() method.
+ (majkl578, Rican7)
+ . Fixed bug #75222 (DateInterval microseconds property always 0). (jhdxr)
+ . Fixed bug #68406 (calling var_dump on a DateTimeZone object modifies it).
+ (jhdxr)
+ . Fixed bug #76131 (mismatch arginfo for date_create). (carusogabriel)
+ . Updated timelib to 2018.01RC1 to address several bugs:
+ . Fixed bug #75577 (DateTime::createFromFormat does not accept 'v' format
+ specifier). (Derick)
+ . Fixed bug #75642 (Wrap around behaviour for microseconds is not working).
+ (Derick)
+
+- DBA:
+ . Fixed bug #75264 (compiler warnings emitted). (petk)
+
+- DOM:
+ . Fixed bug #76285 (DOMDocument::formatOutput attribute sometimes ignored).
+ (Andrew Nester, Laruence, Anatol)
+
+- Fileinfo:
+ . Fixed bug #77095 (slowness regression in 7.2/7.3 (compared to 7.1)).
+ (Anatol)
+
+- Filter:
+ . Added the 'add_slashes' sanitization mode (FILTER_SANITIZE_ADD_SLASHES).
+ (Kalle)
+
+- FPM:
+ . Added fpm_get_status function. (Till Backhaus)
+ . Fixed bug #62596 (getallheaders() missing with PHP-FPM). (Remi)
+ . Fixed bug #69031 (Long messages into stdout/stderr are truncated
+ incorrectly) - added new log related FPM configuration options:
+ log_limit, log_buffering and decorate_workers_output. (Jakub Zelenka)
+
+- ftp:
+ . Fixed bug #77151 (ftp_close(): SSL_read on shutdown). (Remi)
+
+- GD:
+ . Added support for WebP in imagecreatefromstring(). (Andreas Treichel, cmb)
+
+- GMP:
+ . Export internal structures and accessor helpers for GMP object. (Sara)
+ . Added gmp_binomial(n, k). (Nikita)
+ . Added gmp_lcm(a, b). (Nikita)
+ . Added gmp_perfect_power(a). (Nikita)
+ . Added gmp_kronecker(a, b). (Nikita)
+
+- iconv:
+ . Fixed bug #53891 (iconv_mime_encode() fails to Q-encode UTF-8 string). (cmb)
+ . Fixed bug #77147 (Fixing 60494 ignored ICONV_MIME_DECODE_CONTINUE_ON_ERROR).
+ (cmb)
+
+- IMAP:
+ . Fixed bug #77020 (null pointer dereference in imap_mail). (cmb)
+ . Fixed bug #77153 (imap_open allows to run arbitrary shell commands via
+ mailbox parameter). (Stas)
+
+- Interbase:
+ . Fixed bug #75453 (Incorrect reflection for ibase_[p]connect). (villfa)
+ . Fixed bug #76443 (php+php_interbase.dll crash on module_shutdown). (Kalle)
+
+
+- intl:
+ . Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead
+ of destination). (andrewnester)
+ . Fixed bug #76829 (Incorrect validation of domain on idn_to_utf8()
+ function). (Anatol)
+
+- JSON:
+ . Added JSON_THROW_ON_ERROR flag. (Andrea)
+
+- LDAP:
+ . Added ldap_exop_refresh helper for EXOP REFRESH operation with dds overlay.
+ (Come)
+ . Added full support for sending and parsing ldap controls. (Come)
+ . Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros). (dzuelke)
+
+- libxml2:
+ . Fixed bug #75871 (use pkg-config where available). (pmmaga)
+
+- 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)
+
+- MBstring:
+ . Updated to Oniguruma 6.9.0. (cmb)
+ . Fixed bug #65544 (mb title case conversion-first word in quotation isn't
+ capitalized). (Nikita)
+ . Fixed bug #71298 (MB_CASE_TITLE misbehaves with curled apostrophe/quote).
+ (Nikita)
+ . Fixed bug #73528 (Crash in zif_mb_send_mail). (Nikita)
+ . Fixed bug #74929 (mbstring functions version 7.1.1 are slow compared to 5.3
+ on Windows). (Nikita)
+ . Fixed bug #76319 (mb_strtolower with invalid UTF-8 causes segmentation
+ fault). (Nikita)
+ . Fixed bug #76574 (use of undeclared identifiers INT_MAX and LONG_MAX). (cmb)
+ . Fixed bug #76594 (Bus Error due to unaligned access in zend_ini.c
+ OnUpdateLong). (cmb, Nikita)
+ . Fixed bug #76706 (mbstring.http_output_conv_mimetypes is ignored). (cmb)
+ . Fixed bug #76958 (Broken UTF7-IMAP conversion). (Nikita)
+ . Fixed bug #77025 (mb_strpos throws Unknown encoding or conversion error).
+ (Nikita)
+ . Fixed bug #77165 (mb_check_encoding crashes when argument given an empty
+ array). (Nikita)
+
+- Mysqlnd:
+ . Fixed bug #76386 (Prepared Statement formatter truncates fractional seconds
+ from date/time column). (Victor Csiky)
+
+- ODBC:
+ . Removed support for ODBCRouter. (Kalle)
+ . Removed support for Birdstep. (Kalle)
+ . Fixed bug #77079 (odbc_fetch_object has incorrect type signature).
+ (Jon Allen)
+
+- Opcache:
+ . Fixed bug #76466 (Loop variable confusion). (Dmitry, Laruence, Nikita)
+ . Fixed bug #76463 (var has array key type but not value type). (Laruence)
+ . Fixed bug #76446 (zend_variables.c:73: zend_string_destroy: Assertion
+ `!(zval_gc_flags((str)->gc)). (Nikita, Laruence)
+ . Fixed bug #76711 (OPcache enabled triggers false-positive "Illegal string
+ offset"). (Dmitry)
+ . Fixed bug #77058 (Type inference in opcache causes side effects). (Nikita)
+ . Fixed bug #77092 (array_diff_key() - segmentation fault). (Nikita)
+
+- OpenSSL:
+ . Added openssl_pkey_derive function. (Jim Zubov)
+ . Add min_proto_version and max_proto_version ssl stream options as well as
+ related constants for possible TLS protocol values. (Jakub Zelenka)
+
+- PCRE:
+ . Implemented https://wiki.php.net/rfc/pcre2-migration. (Anatol, Dmitry)
+ . Upgrade PCRE2 to 10.32. (Anatol)
+ . Fixed bug #75355 (preg_quote() does not quote # control character).
+ (Michael Moravec)
+ . Fixed bug #76512 (\w no longer includes unicode characters). (cmb)
+ . Fixed bug #76514 (Regression in preg_match makes it fail with
+ PREG_JIT_STACKLIMIT_ERROR). (Anatol)
+ . Fixed bug #76909 (preg_match difference between 7.3 and < 7.3). (Anatol)
+
+- PDO_DBlib:
+ . Implemented FR #69592 (allow 0-column rowsets to be skipped automatically).
+ (fandrieu)
+ . Expose TDS version as \PDO::DBLIB_ATTR_TDS_VERSION attribute on \PDO
+ instance. (fandrieu)
+ . Treat DATETIME2 columns like DATETIME. (fandrieu)
+ . Fixed bug #74243 (allow locales.conf to drive datetime format). (fandrieu)
+
+- PDO_Firebird:
+ . Fixed bug #74462 (PDO_Firebird returns only NULLs for results with boolean
+ for FIREBIRD >= 3.0). (Dorin Marcoci)
+
+- PDO_OCI:
+ . Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized
+ before PHP-FPM sets it up). (Ingmar Runge)
+
+- PDO SQLite
+ . Add support for additional open flags
+
+- pgsql:
+ . Added new error constants for pg_result_error(): PGSQL_DIAG_SCHEMA_NAME,
+ PGSQL_DIAG_TABLE_NAME, PGSQL_DIAG_COLUMN_NAME, PGSQL_DIAG_DATATYPE_NAME,
+ PGSQL_DIAG_CONSTRAINT_NAME and PGSQL_DIAG_SEVERITY_NONLOCALIZED. (Kalle)
+ . Fixed bug #77047 (pg_convert has a broken regex for the 'TIME WITHOUT
+ TIMEZONE' data type). (Andy Gajetzki)
+
+- phar:
+ . Fixed bug #74991 (include_path has a 4096 char limit in some cases).
+ (bwbroersma)
+ . Fixed bug #65414 (deal with leading slash when adding files correctly).
+ (bishopb)
+
+- readline:
+ . Added completion_append_character and completion_suppress_append options
+ to readline_info() if linked against libreadline. (krageon)
+
+- Session:
+ . Fixed bug #74941 (session fails to start after having headers sent).
+ (morozov)
+
+- SimpleXML:
+ . Fixed bug #54973 (SimpleXML casts integers wrong). (Nikita)
+ . Fixed bug #76712 (Assignment of empty string creates extraneous text node).
+ (cmb)
+
+- Sockets:
+ . Fixed bug #67619 (Validate length on socket_write). (thiagooak)
+
+- SOAP:
+ . Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders).
+ (villfa)
+ . Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is
+ used). (Anton Artamonov)
+ . Fixed bug #50675 (SoapClient can't handle object references correctly).
+ (Cameron Porter)
+ . Fixed bug #76348 (WSDL_CACHE_MEMORY causes Segmentation fault). (cmb)
+ . Fixed bug #77141 (Signedness issue in SOAP when precision=-1). (cmb)
+
+- SPL:
+ . Fixed bug #74977 (Appending AppendIterator leads to segfault).
+ (Andrew Nester)
+ . Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach
+ loop). (jhdxr)
+ . Fixed bug #74372 (autoloading file with syntax error uses next autoloader,
+ may hide parse error). (Nikita)
+ . Fixed bug #75878 (RecursiveTreeIterator::setPostfix has wrong signature).
+ (cmb)
+ . Fixed bug #74519 (strange behavior of AppendIterator). (jhdxr)
+ . Fixed bug #76131 (mismatch arginfo for splarray constructor).
+ (carusogabriel)
+
+- SQLite3:
+ . Updated bundled libsqlite to 3.24.0. (cmb)
+
+- Standard:
+ . Added is_countable() function. (Gabriel Caruso)
+ . Added support for the SameSite cookie directive, including an alternative
+ signature for setcookie(), setrawcookie() and session_set_cookie_params().
+ (Frederik Bosch, pmmaga)
+ . Remove superfluous warnings from inet_ntop()/inet_pton(). (daverandom)
+ . Fixed bug #75916 (DNS_CAA record results contain garbage). (Mike,
+ Philip Sharp)
+ . Fixed unserialize(), to disable creation of unsupported data structures
+ through manually crafted strings. (Dmitry)
+ . Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator
+ that getrandom() is missing). (sarciszewski)
+ . Fixed bug #74719 (fopen() should accept NULL as context). (Alexander Holman)
+ . Fixed bug #69948 (path/domain are not sanitized in setcookie). (cmb)
+ . Fixed bug #75996 (incorrect url in header for mt_rand). (tatarbj)
+ . Added hrtime() function, to get high resolution time. (welting)
+ . Fixed bug #48016 (stdClass::__setState is not defined although var_export()
+ uses it). (Andrea)
+ . Fixed bug #76136 (stream_socket_get_name should enclose IPv6 in brackets).
+ (seliver)
+ . Fixed bug #76688 (Disallow excessive parameters after options array).
+ (pmmaga)
+ . Fixed bug #76713 (Segmentation fault caused by property corruption).
+ (Laruence)
+ . Fixed bug #76755 (setcookie does not accept "double" type for expire time).
+ (Laruence)
+ . Fixed bug #76674 (improve array_* failure messages exposing what was passed
+ instead of an array). (carusogabriel)
+ . Fixed bug #76803 (ftruncate changes file pointer). (Anatol)
+ . Fixed bug #76818 (Memory corruption and segfault). (Remi)
+ . Fixed bug #77081 (ftruncate() changes seek pointer in c mode). (cmb, Anatol)
+
+- Testing:
+ . Implemented FR #62055 (Make run-tests.php support --CGI-- sections). (cmb)
+
+- Tidy:
+ . Support using tidyp instead of tidy. (devnexen)
+ . Fixed bug #74707 (Tidy has incorrect ReflectionFunction param counts for
+ functions taking tidy). (Gabriel Caruso)
+ . Fixed arginfo for tidy::__construct(). (Tyson Andre)
+
+- Tokenizer:
+ . Fixed bug #76437 (token_get_all with TOKEN_PARSE flag fails to recognise
+ close tag). (Laruence)
+ . Fixed bug #75218 (Change remaining uncatchable fatal errors for parsing
+ into ParseError). (Nikita)
+ . Fixed bug #76538 (token_get_all with TOKEN_PARSE flag fails to recognise
+ close tag with newline). (Nikita)
+ . Fixed bug #76991 (Incorrect tokenization of multiple invalid flexible
+ heredoc strings). (Nikita)
+
+- XML:
+ . Fixed bug #71592 (External entity processing never fails). (cmb)
+
+- Zlib:
+ . Added zlib/level context option for compress.zlib wrapper. (Sara)
diff --git a/7.4.27/win/nghttp2.dll b/7.4.27/win/nghttp2.dll
new file mode 100644
index 0000000..cff8509
Binary files /dev/null and b/7.4.27/win/nghttp2.dll differ
diff --git a/7.4.27/win/phar.phar.bat b/7.4.27/win/phar.phar.bat
new file mode 100644
index 0000000..aac3f76
--- /dev/null
+++ b/7.4.27/win/phar.phar.bat
@@ -0,0 +1 @@
+"%~dp0php.exe" "%~dp0pharcommand.phar" %*
diff --git a/7.4.27/win/pharcommand.phar b/7.4.27/win/pharcommand.phar
new file mode 100644
index 0000000..5c18293
Binary files /dev/null and b/7.4.27/win/pharcommand.phar differ
diff --git a/7.4.27/win/php-cgi.exe b/7.4.27/win/php-cgi.exe
new file mode 100644
index 0000000..36ae60f
Binary files /dev/null and b/7.4.27/win/php-cgi.exe differ
diff --git a/7.4.27/win/php-win.exe b/7.4.27/win/php-win.exe
new file mode 100644
index 0000000..99d1b41
Binary files /dev/null and b/7.4.27/win/php-win.exe differ
diff --git a/7.4.27/win/php.ini b/7.4.27/win/php.ini
index 6382e80..752758b 100644
--- a/7.4.27/win/php.ini
+++ b/7.4.27/win/php.ini
@@ -758,7 +758,7 @@ user_dir =
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
-;extension_dir = "ext"
+extension_dir = "ext"
; Directory where the temporary files should be placed.
; Defaults to the system default (see sys_get_temp_dir)
diff --git a/7.4.27/win/php7apache2_4.dll b/7.4.27/win/php7apache2_4.dll
new file mode 100644
index 0000000..591ab9b
Binary files /dev/null and b/7.4.27/win/php7apache2_4.dll differ
diff --git a/7.4.27/win/php7embed.lib b/7.4.27/win/php7embed.lib
new file mode 100644
index 0000000..ddd1a3b
Binary files /dev/null and b/7.4.27/win/php7embed.lib differ
diff --git a/7.4.27/win/php7phpdbg.dll b/7.4.27/win/php7phpdbg.dll
new file mode 100644
index 0000000..048e1c0
Binary files /dev/null and b/7.4.27/win/php7phpdbg.dll differ
diff --git a/7.4.27/win/phpdbg.exe b/7.4.27/win/phpdbg.exe
new file mode 100644
index 0000000..accfa0f
Binary files /dev/null and b/7.4.27/win/phpdbg.exe differ
diff --git a/7.4.27/win/readme-redist-bins.txt b/7.4.27/win/readme-redist-bins.txt
new file mode 100644
index 0000000..797619a
--- /dev/null
+++ b/7.4.27/win/readme-redist-bins.txt
@@ -0,0 +1,668 @@
+ 1. libmagic (ext/fileinfo) see ext/fileinfo/libmagic/LICENSE
+ 2. libmbfl (ext/mbstring) see ext/mbstring/libmbfl/LICENSE
+ 3. pcre2lib (ext/pcre)
+ 4. ext/standard crypt
+ 5. ext/standard crypt's blowfish implementation
+ 6. ext/standard/rand
+ 7. ext/standard/scanf
+ 8. ext/standard/strnatcmp.c
+ 9. ext/standard/uuencode
+10. libxmlrpc ext/xmlrpc
+11. main/snprintf.c
+12. main/strlcat
+13. main/strlcpy
+14. libgd (ext/gd)
+15. ext/phar portions of tar implementations
+16. ext/phar/zip.c portion extracted from libzip
+17. libbcmath (ext/bcmath) see ext/bcmath/libbcmath/LICENSE
+18. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP
+
+
+3. pcre2lib (ext/pcre)
+
+PCRE2 LICENCE
+-------------
+
+PCRE2 is a library of functions to support regular expressions whose syntax
+and semantics are as close as possible to those of the Perl 5 language.
+
+Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD"
+licence, as specified below, with one exemption for certain binary
+redistributions. The documentation for PCRE2, supplied in the "doc" directory,
+is distributed under the same terms as the software itself. The data in the
+testdata directory is not copyrighted and is in the public domain.
+
+The basic library functions are written in C and are freestanding. Also
+included in the distribution is a just-in-time compiler that can be used to
+optimize pattern matching. This is an optional feature that can be omitted when
+the library is built.
+
+
+THE BASIC LIBRARY FUNCTIONS
+---------------------------
+
+Written by: Philip Hazel
+Email local part: ph10
+Email domain: cam.ac.uk
+
+University of Cambridge Computing Service,
+Cambridge, England.
+
+Copyright (c) 1997-2019 University of Cambridge
+All rights reserved.
+
+
+PCRE2 JUST-IN-TIME COMPILATION SUPPORT
+--------------------------------------
+
+Written by: Zoltan Herczeg
+Email local part: hzmester
+Email domain: freemail.hu
+
+Copyright(c) 2010-2019 Zoltan Herczeg
+All rights reserved.
+
+
+STACK-LESS JUST-IN-TIME COMPILER
+--------------------------------
+
+Written by: Zoltan Herczeg
+Email local part: hzmester
+Email domain: freemail.hu
+
+Copyright(c) 2009-2019 Zoltan Herczeg
+All rights reserved.
+
+
+THE "BSD" LICENCE
+-----------------
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notices,
+ this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notices, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of the University of Cambridge nor the names of any
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+
+EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES
+------------------------------------------
+
+The second condition in the BSD licence (covering binary redistributions) does
+not apply all the way down a chain of software. If binary package A includes
+PCRE2, it must respect the condition, but if package B is software that
+includes package A, the condition is not imposed on package B unless it uses
+PCRE2 independently.
+
+End
+
+
+4. ext/standard crypt
+
+FreeSec: libcrypt for NetBSD
+
+Copyright (c) 1994 David Burren
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. Neither the name of the author nor the names of other contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+
+5. ext/standard crypt's blowfish implementation
+
+The crypt_blowfish homepage is:
+
+http://www.openwall.com/crypt/
+
+This code comes from John the Ripper password cracker, with reentrant
+and crypt(3) interfaces added, but optimizations specific to password
+cracking removed.
+
+Written by Solar Designer in 1998-2011.
+No copyright is claimed, and the software is hereby placed in the public
+domain. In case this attempt to disclaim copyright and place the software
+in the public domain is deemed null and void, then the software is
+Copyright (c) 1998-2011 Solar Designer and it is hereby released to the
+general public under the following terms:
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted.
+
+There's ABSOLUTELY NO WARRANTY, express or implied.
+
+It is my intent that you should be able to use this on your system,
+as part of a software package, or anywhere else to improve security,
+ensure compatibility, or for any other purpose. I would appreciate
+it if you give credit where it is due and keep your modifications in
+the public domain as well, but I don't require that in order to let
+you place this code and any modifications you make under a license
+of your choice.
+
+This implementation is mostly compatible with OpenBSD's bcrypt.c (prefix
+"$2a$") by Niels Provos , and uses some of his
+ideas. The password hashing algorithm was designed by David Mazieres
+. For more information on the level of compatibility,
+please refer to the comments in BF_set_key() and to the crypt(3) man page
+included in the crypt_blowfish tarball.
+
+There's a paper on the algorithm that explains its design decisions:
+
+http://www.usenix.org/events/usenix99/provos.html
+
+Some of the tricks in BF_ROUND might be inspired by Eric Young's
+Blowfish library (I can't be sure if I would think of something if I
+hadn't seen his code).
+
+
+6. ext/standard/rand
+
+The following php_mt_...() functions are based on a C++ class MTRand by
+Richard J. Wagner. For more information see the web page at
+http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html
+
+Mersenne Twister random number generator -- a C++ class MTRand
+Based on code by Makoto Matsumoto, Takuji Nishimura, and Shawn Cokus
+Richard J. Wagner v1.0 15 May 2003 rjwagner@writeme.com
+
+The Mersenne Twister is an algorithm for generating random numbers. It
+was designed with consideration of the flaws in various other generators.
+The period, 2^19937-1, and the order of equidistribution, 623 dimensions,
+are far greater. The generator is also fast; it avoids multiplication and
+division, and it benefits from caches and pipelines. For more information
+see the inventors' web page at http://www.math.keio.ac.jp/~matumoto/emt.html
+
+Reference
+M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally
+Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on
+Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.
+
+Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
+Copyright (C) 2000 - 2003, Richard J. Wagner
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+3. The names of its contributors may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+7. ext/standard/scanf
+
+scanf.c --
+
+This file contains the base code which implements sscanf and by extension
+fscanf. Original code is from TCL8.3.0 and bears the following copyright:
+
+This software is copyrighted by the Regents of the University of
+California, Sun Microsystems, Inc., Scriptics Corporation,
+and other parties. The following terms apply to all files associated
+with the software unless explicitly disclaimed in individual files.
+
+The authors hereby grant permission to use, copy, modify, distribute,
+and license this software and its documentation for any purpose, provided
+that existing copyright notices are retained in all copies and that this
+notice is included verbatim in any distributions. No written agreement,
+license, or royalty fee is required for any of the authorized uses.
+Modifications to this software may be copyrighted by their authors
+and need not follow the licensing terms described here, provided that
+the new terms are clearly indicated on the first page of each file where
+they apply.
+
+IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
+FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
+DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE
+IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
+NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
+MODIFICATIONS.
+
+GOVERNMENT USE: If you are acquiring this software on behalf of the
+U.S. government, the Government shall have only "Restricted Rights"
+in the software and related documentation as defined in the Federal
+Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you
+are acquiring the software on behalf of the Department of Defense, the
+software shall be classified as "Commercial Computer Software" and the
+Government shall have only "Restricted Rights" as defined in Clause
+252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the
+authors grant the U.S. Government and others acting in its behalf
+permission to use and distribute the software in accordance with the
+terms specified in this license.
+
+
+8. ext/standard/strnatcmp.c
+
+strnatcmp.c -- Perform 'natural order' comparisons of strings in C.
+Copyright (C) 2000 by Martin Pool
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+
+9. ext/standard/uuencode
+
+Portions of this code are based on Berkeley's uuencode/uudecode
+implementation.
+
+Copyright (c) 1983, 1993
+The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+This product includes software developed by the University of
+California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+
+10. libxmlrpc ext/xmlrpc
+
+Copyright 2000 Epinions, Inc.
+
+Subject to the following 3 conditions, Epinions, Inc. permits you, free
+of charge, to (a) use, copy, distribute, modify, perform and display this
+software and associated documentation files (the "Software"), and (b)
+permit others to whom the Software is furnished to do so as well.
+
+1) The above copyright notice and this permission notice shall be included
+without modification in all copies or substantial portions of the
+Software.
+
+2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF
+ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY
+IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE OR NONINFRINGEMENT.
+
+3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
+SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT
+OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING
+NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+
+11. main/snprintf.c
+
+Copyright (c) 2002, 2006 Todd C. Miller
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Sponsored in part by the Defense Advanced Research Projects
+Agency (DARPA) and Air Force Research Laboratory, Air Force
+Materiel Command, USAF, under agreement number F39502-99-1-0512.
+
+main/spprintf
+Copyright (c) 1995-1998 The Apache Group. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+3. All advertising materials mentioning features or use of this
+ software must display the following acknowledgment:
+ "This product includes software developed by the Apache Group
+ for use in the Apache HTTP server project (http://www.apache.org/)."
+
+4. The names "Apache Server" and "Apache Group" must not be used to
+ endorse or promote products derived from this software without
+ prior written permission.
+
+5. Redistributions of any form whatsoever must retain the following
+ acknowledgment:
+ "This product includes software developed by the Apache Group
+ for use in the Apache HTTP server project (http://www.apache.org/)."
+
+THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
+EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR
+ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+====================================================================
+
+This software consists of voluntary contributions made by many
+individuals on behalf of the Apache Group and was originally based
+on public domain software written at the National Center for
+Supercomputing Applications, University of Illinois, Urbana-Champaign.
+For more information on the Apache Group and the Apache HTTP server
+project, please see .
+
+This code is based on, and used with the permission of, the
+SIO stdio-replacement strx_* functions by Panos Tsirigotis
+ for xinetd.
+
+
+12. main/strlcat
+13. main/strlcpy
+
+Copyright (c) 1998 Todd C. Miller
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+14. libgd (ext/gd)
+
+* Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ 2002, 2003, 2004 by Cold Spring Harbor Laboratory. Funded under
+ Grant P41-RR02188 by the National Institutes of Health.
+
+* Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2004 by Boutell.Com, Inc.
+
+* Portions relating to GD2 format copyright 1999, 2000, 2001, 2002,
+ 2003, 2004 Philip Warner.
+
+* Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003,
+ 2004 Greg Roelofs.
+
+* Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002,
+ 2003, 2004 John Ellson (ellson@graphviz.org).
+
+* Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John
+ Ellson (ellson@graphviz.org).
+
+* Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+ Pierre-Alain Joye (pierre@libgd.org).
+
+* Portions relating to JPEG and to color quantization copyright
+ 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas
+ G. Lane. This software is based in part on the work of the
+ Independent JPEG Group. See the file README-JPEG.TXT for more
+ information.
+
+* Portions relating to GIF compression copyright 1989 by Jef
+ Poskanzer and David Rowley, with modifications for thread safety
+ by Thomas Boutell.
+
+* Portions relating to GIF decompression copyright 1990, 1991, 1993
+ by David Koblas, with modifications for thread safety by Thomas
+ Boutell.
+
+* Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004
+ Maurice Szmurlo and Johan Van den Brande.
+
+* Portions relating to GIF animations copyright 2004 Jaakko Hyvätti
+ (jaakko.hyvatti@iki.fi)
+
+Permission has been granted to copy, distribute and modify gd in
+any context without fee, including a commercial application,
+provided that this notice is present in user-accessible supporting
+documentation.
+
+This does not affect your ownership of the derived work itself,
+and the intent is to assure proper credit for the authors of gd,
+not to interfere with your productive use of gd. If you have
+questions, ask. "Derived works" includes all programs that utilize
+the library. Credit must be given in user-accessible
+documentation.
+
+This software is provided "AS IS." The copyright holders disclaim
+all warranties, either express or implied, including but not
+limited to implied warranties of merchantability and fitness for a
+particular purpose, with respect to this code and accompanying
+documentation.
+
+Although their code does not appear in the current release, the
+authors wish to thank David Koblas, David Rowley, and Hutchison
+Avenue Software Corporation for their prior contributions.
+
+END OF COPYRIGHT STATEMENT
+
+
+15. ext/phar portions of tar implementations
+
+portions of tar implementations in ext/phar - phar_tar_octal() are based on an
+implementation by Tim Kientzle from libarchive, licensed with this license:
+
+ Copyright (c) 2003-2007 Tim Kientzle
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+16. ext/phar/zip.c portion extracted from libzip
+
+zip_dirent.c -- read directory entry (local or central), clean dirent
+Copyright (C) 1999, 2003, 2004, 2005 Dieter Baron and Thomas Klausner
+
+This function is part of libzip, a library to manipulate ZIP archives.
+The authors can be contacted at
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+3. The names of the authors may not be used to endorse or promote
+ products derived from this software without specific prior
+ written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+18. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP
+
+The OpenLDAP Public License
+ Version 2.8, 17 August 2003
+
+Redistribution and use of this software and associated documentation
+("Software"), with or without modification, are permitted provided
+that the following conditions are met:
+
+1. Redistributions in source form must retain copyright statements
+ and notices,
+
+2. Redistributions in binary form must reproduce applicable copyright
+ statements and notices, this list of conditions, and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution, and
+
+3. Redistributions must contain a verbatim copy of this document.
+
+The OpenLDAP Foundation may revise this license from time to time.
+Each revision is distinguished by a version number. You may use
+this Software under terms of this license revision or under the
+terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
+CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
+OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+The names of the authors and copyright holders must not be used in
+advertising or otherwise to promote the sale, use or other dealing
+in this Software without specific, written prior permission. Title
+to copyright in this Software shall at all times remain with copyright
+holders.
+
+OpenLDAP is a registered trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
+California, USA. All Rights Reserved. Permission to copy and
+distribute verbatim copies of this document is granted.
diff --git a/7.4.27/win/sasl2/saslANONYMOUS.dll b/7.4.27/win/sasl2/saslANONYMOUS.dll
new file mode 100644
index 0000000..902210b
Binary files /dev/null and b/7.4.27/win/sasl2/saslANONYMOUS.dll differ
diff --git a/7.4.27/win/sasl2/saslCRAMMD5.dll b/7.4.27/win/sasl2/saslCRAMMD5.dll
new file mode 100644
index 0000000..22fea4d
Binary files /dev/null and b/7.4.27/win/sasl2/saslCRAMMD5.dll differ
diff --git a/7.4.27/win/sasl2/saslDIGESTMD5.dll b/7.4.27/win/sasl2/saslDIGESTMD5.dll
new file mode 100644
index 0000000..5dc8b56
Binary files /dev/null and b/7.4.27/win/sasl2/saslDIGESTMD5.dll differ
diff --git a/7.4.27/win/sasl2/saslLOGIN.dll b/7.4.27/win/sasl2/saslLOGIN.dll
new file mode 100644
index 0000000..cb9040b
Binary files /dev/null and b/7.4.27/win/sasl2/saslLOGIN.dll differ
diff --git a/7.4.27/win/sasl2/saslNTLM.dll b/7.4.27/win/sasl2/saslNTLM.dll
new file mode 100644
index 0000000..9b2f4d8
Binary files /dev/null and b/7.4.27/win/sasl2/saslNTLM.dll differ
diff --git a/7.4.27/win/sasl2/saslOTP.dll b/7.4.27/win/sasl2/saslOTP.dll
new file mode 100644
index 0000000..075b60e
Binary files /dev/null and b/7.4.27/win/sasl2/saslOTP.dll differ
diff --git a/7.4.27/win/sasl2/saslPLAIN.dll b/7.4.27/win/sasl2/saslPLAIN.dll
new file mode 100644
index 0000000..d8967a3
Binary files /dev/null and b/7.4.27/win/sasl2/saslPLAIN.dll differ
diff --git a/7.4.27/win/sasl2/saslSASLDB.dll b/7.4.27/win/sasl2/saslSASLDB.dll
new file mode 100644
index 0000000..7451bef
Binary files /dev/null and b/7.4.27/win/sasl2/saslSASLDB.dll differ
diff --git a/7.4.27/win/sasl2/saslSCRAM.dll b/7.4.27/win/sasl2/saslSCRAM.dll
new file mode 100644
index 0000000..5c279f8
Binary files /dev/null and b/7.4.27/win/sasl2/saslSCRAM.dll differ
diff --git a/7.4.27/win/sasl2/saslSQLITE.dll b/7.4.27/win/sasl2/saslSQLITE.dll
new file mode 100644
index 0000000..c290d26
Binary files /dev/null and b/7.4.27/win/sasl2/saslSQLITE.dll differ
diff --git a/7.4.27/win/snapshot.txt b/7.4.27/win/snapshot.txt
new file mode 100644
index 0000000..765216f
--- /dev/null
+++ b/7.4.27/win/snapshot.txt
@@ -0,0 +1,142 @@
+This snapshot was automatically generated on
+Tue, 14 Dec 2021 20:51:35 +0000
+
+Version: 7.4.27
+Branch: HEAD
+Build: C:\php-snap-build\php74\vc15\x64\obj\Release_TS
+
+Built-in Extensions
+===========================
+Core
+bcmath
+calendar
+ctype
+date
+filter
+hash
+iconv
+json
+SPL
+pcre
+readline
+Reflection
+session
+standard
+mysqlnd
+tokenizer
+zip
+zlib
+libxml
+dom
+PDO
+openssl
+SimpleXML
+xml
+wddx
+xmlreader
+xmlwriter
+curl
+ftp
+sqlite3
+Phar
+mbstring
+mysqli
+
+
+Dependency information:
+Module: php7ts.dll
+===========================
+ imagehlp.dll
+
+Module: php_curl.dll
+===========================
+ libcrypto-1_1-x64.dll
+ libssl-1_1-x64.dll
+ libssh2.dll
+ nghttp2.dll
+
+Module: libssl-1_1-x64.dll
+===========================
+ libcrypto-1_1-x64.dll
+
+Module: libssh2.dll
+===========================
+ libcrypto-1_1-x64.dll
+
+Module: php_enchant.dll
+===========================
+ libenchant.dll
+
+Module: libenchant.dll
+===========================
+ glib-2.dll
+ gmodule-2.dll
+
+Module: gmodule-2.dll
+===========================
+ glib-2.dll
+
+Module: php_ftp.dll
+===========================
+ libcrypto-1_1-x64.dll
+ libssl-1_1-x64.dll
+
+Module: php_intl.dll
+===========================
+ icuuc66.dll
+ icuin66.dll
+ icuio66.dll
+
+Module: icuuc66.dll
+===========================
+ icudt66.dll
+
+Module: icuin66.dll
+===========================
+ icuuc66.dll
+
+Module: icuio66.dll
+===========================
+ icuuc66.dll
+ icuin66.dll
+
+Module: php_ldap.dll
+===========================
+ libsasl.dll
+ libcrypto-1_1-x64.dll
+ libssl-1_1-x64.dll
+
+Module: php_openssl.dll
+===========================
+ libcrypto-1_1-x64.dll
+ libssl-1_1-x64.dll
+
+Module: php_pgsql.dll
+===========================
+ libpq.dll
+
+Module: libpq.dll
+===========================
+ libssl-1_1-x64.dll
+ libcrypto-1_1-x64.dll
+
+Module: php_snmp.dll
+===========================
+ libcrypto-1_1-x64.dll
+
+Module: php_sodium.dll
+===========================
+ libsodium.dll
+
+Module: php_sqlite3.dll
+===========================
+ libsqlite3.dll
+
+Module: php_pdo_pgsql.dll
+===========================
+ libpq.dll
+
+Module: php_pdo_sqlite.dll
+===========================
+ libsqlite3.dll
+