I have not yet have a chance to look into the goodies but right out of the bat I noticed two changes.
1) While my profile was loading, I got an error message, where PowerShell 3 complained about a line in my profile which goes something like this:
write-host "$mounted_drive: could not be found"
At C:\Users\Adil\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:56 char:15
+ write-host "$mounted_drive: could not be found."
+ ~~~~~~~~~~~~~~~
Invalid variable reference. ':' was not followed by a valid variable name character. Consider using ${} to delimit the name.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : InvalidVariableReferenceWithDrive
PowerShell v2 never complained about that line but I like the fact that PowerShell message is clear and suggests a way to fix it. Both of the following works
write-host "$mounted_drive : could not be found" ## add a space
write-host "${mounted_drive}: could not be found" ## avoid ambiguity
2) PowerShell now auto-completes function names in my $profile when I hit "tab". From release notes, I see that some work went into "tabbing" and if you tab in the middle of a line, it does not delete the rest of the line anymore. This is a welcome usability change.