You can now indent closing label, and the runtime will remove that level of indentation from all lines in the string (great for quoting SQL statements without looking weird!)
You can now put things after the closing label on the same line
WARNING: If you have heredocs that contain the closing label, fix them before upgrading!
End result: heredoc/nowdoc are just as useful and way less ugly.
Warning when using "continue" in a switch (which behaves identically to "break")
Numeric strings will no longer be cast to numbers when calling offsetGet on an object implementing ArrayAccess ($foo['123'] will now call offsetGet('123') rather than offsetGet(123) )
If you were using assigning by reference to split static property assignment between parent and child classes, that no longer works
Cleanup around references return by array/prop access
You can't unpack arguments from a Traversable returning non-integer array keys
Cleanup/BC Breaks #2
ext_skel is now (completely re)written in PHP
Automatic conversion exceptions for e.g. DateTime no longer populate error_get_last()
TypeError and Reflection now use "int" and "bool" rather than "integer" and "boolean"
compact() on an undefined variable now genrates a Notice
getimagesize() etc.: image/x-ms-bmp -> image/bmp
stream_socket_get_name() now raps IPv6 addresses in []
IMAP/POP3/NNTP SSH/RSH login turned off by default
SPL's autoloader now stops on the first exception rather than trying to load everything and chaining exceptions
Deprecations
Defining case-insensitive constants (via third param in define()); using constants case-insensitively is already deprecated
Calling assert() inside a namespace (due to engine weirdness)
Searching strings for a non-string (ASCII codepoint) needle