Starting with this release, we will also identify changes to the implementation or specification that can cause breakages in existing Perl 6 code. The following features have been deprecated or modified due to changes in the Perl 6 specification, and are being removed or changed as follows: * IO::File and IO::Dir will go away, and &dir now returns values of type IO::Path (which is currently the superclass of IO::File and IO::Dir). The return values of &dir will still stringify to the base name of the returned file and directory names, and you can call .path on them to obtain the full path. * Leading whitespace in rules and under :sigspace will no longer be converted to <.ws>. For existing regexes that expect this conversion, add a in front of leading whitespace to make it meta again. Scheduled for the 2012.08 release. * The ?-quantifier on captures in regexes currently binds the capture slot to a List containing either zero or one Match objects; i.e., it is equivalent to “** 0..1″. In the future, the ?-quantifier will bind the slot directly to a captured Match or to Nil. Existing code can manage the transition by changing existing ?-quantifiers to use “** 0..1″, which will continue to return a List of matches. Scheduled for the 2012.08 release, but may end up in 2012.09 . * The method Str.bytes will be removed. To get the number of codepoints in a string, use .codes instead. To get the number of bytes in a given encoding, use $str.encode($encoding).bytes . Scheduled for the 2012.08 release. * The method Str.lcfirst will be removed without replacement. Scheduled for the 2012.08 release. * The method Str.ucfirst will eventually be removed, and replaced by Str.tc. No schedule yet, depends on having tc implemented first. * ‘abs’ is currently a prefix operator, and will be changed to a normal subroutine. Scheduled for the 2012.08 release. * The integer argument to IO::Socket.recv will be interpreted as number of characters/codepoints. Scheduled for the 2012.08 release.