Changes to INI file handling
Migrating from PHP 5.1.x to PHP 5.2.x
Migrating from PHP 5.2.x to PHP 5.3.x
PHP Manual

## Other changes

- SplFileInfo::getpathinfo() now returns information about the path name.
- SplObjectStorage now has ArrayAccess support. It is now also possible to store associative information with objects in SplObjectStorage.
- In the GD extension, there is now pixelation support available through the imagefilter() function.
- var_dump() output now includes private object properties.
- session_start() now returns `FALSE` when session startup fails.
- property_exists() now checks the existence of a property independent of accessibility (like method_exists()).
- Stream wrappers can now be used by include_path.
- The `initial` parameter for array_reduce() can now be of any type.
- The directory functions opendir(), scandir(), and dir() now use the default stream context if no explicit context is passed.
- 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.
- getimagesize() now supports icon files (.ico).
- 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.

Changes to INI file handling
Migrating from PHP 5.1.x to PHP 5.2.x
Migrating from PHP 5.2.x to PHP 5.3.x
PHP Manual