E_ALL now includes E_STRICT level
errors in the error_reporting configuration directive.
SNMP now has an OOP API.
Functions now return FALSE on every error condition including SNMP-related
(no such instance, end of MIB, etc). Thus, in particular, breaks previous behavior
of get/walk functions returning an empty string on SNMP-related errors.
Multi OID get/getnext/set queries are now supported.
Dropped UCD-SNMP compatibility code, consider upgrading to net-snmp v5.3+, Net-SNMP v5.4+ is
required for Windows version.
In sake of adding support for IPv6 DNS name resolution of
remote SNMP agent (peer) is done by extension now, not by Net-SNMP library anymore.
crypt() now has Blowfish and extended DES support, and
crypt() features are now 100% portable. PHP has its own
internal crypt implementation which drops into place when support for
crypt or crypt_r is not found.
getopt() now accepts "long options" on all platforms.
Optional values and = as a separator for short options
are now supported.
fopen() has a new mode option (n),
which passes O_NONBLOCK to the underlying
open() system call. Note that this mode is not currently
supported on Windows.
The mhash extension have moved to PECL, but the
Hash extension have been modified to support
mhash if PHP is compiled with --with-mhash. Note that the
Hash extension does not require the mhash library to be available whether or
not the mhash emulation is enabled.
Improved memory manager and increased default memory limit.
The new memory manager allocates less memory and works faster than the
previous incarnation. It allocates memory from the system in large blocks,
and then manages the heap by itself. The memory_limit value in php.ini is
checked, not for each emalloc() call (as before), but for actual blocks
requested from the system. This means that memory_limit is far more
accurate than it used to be, since the old memory manager didn't calculate
all the memory overhead used by the malloc library.
Thanks to this new-found accuracy memory usage may appear to have increased,
although actually it has not. To accommodate this apparent increase, the
default memory_limit setting was also increased - from 8 to 16 megabytes.
Added support for constructors in interfaces to force constructor signature
checks in implementations.
Starting with PHP 5.2.0, interfaces can have constructors. However, if you choose
to declare a constructor in an interface, each class implementing that interface
MUST include a constructor with a signature matching that of the base interface
constructor. By 'signature' we mean the parameter and return type definitions,
including any type hints and including whether the data is passed by reference
or by value.