The people from PHP have released a new version. I’ve downloaded it right away and installed and tested it on all my test machines and haven’t found any problem yet. This release is a major improvement in the 5.X series, which includes a large number of new features and bug fixes.

  • Support for namespaces
  • Late static binding
  • Lambda Functions and Closures
  • Syntax additions: NOWDOC, ternary short cut “?:” and jump label (limited goto), __callStatic()
  • Under the hood performance improvements
  • Optional garbage collection for cyclic references
  • Optional mysqlnd PHP native replacement for libmysql
  • Improved Windows support including VC9 and experimental X64 binaries as well as portability to other supported platforms
  • More consistent float rounding
  • Deprecation notices are now handled via E_DEPRECATED (part of E_ALL) instead of the E_STRICT error level
  • Several enhancements to enable more flexiblity in php.ini (and ini parsing in general)
  • New bundled extensions: ext/phar, ext/intl, ext/fileinfo, ext/sqlite3, ext/enchant
  • Over 140 bug fixes and improvements to PHP, in particular to: ext/openssl, ext/spl and ext/date

This release also drops several extensions and unifies the usage of internal APIs. Users should be aware of the following known backwards compatibility breaks:

  • Parameter parsing API unification will cause some functions to behave more or less strict when it comes to type juggling
  • Removed the following extensions: ext/mhash (see ext/hash), ext/msql, ext/pspell (see ext/enchant), ext/sybase (see ext/sybase_ct)
  • Moved the following extensions to PECL: ext/ming, ext/fbsql, ext/ncurses, ext/fdf
  • Removed zend.ze1_compatibility_mode

For users upgrading from PHP 5.2 there is a migration guide available here, detailing the changes between those releases and PHP 5.3.0.

For a full list of changes in PHP 5.3.0, see the ChangeLog.

For instructions on how to upgrade PHP please read: Upgrading PHP.