# Announce: Rakudo Star Release 2016.01
## A useful and usable production distribution of Perl 6
On behalf of the Rakudo and Perl 6 development teams, I'm happy to
announce
the January 2016 release of "Rakudo Star", a useful and usable
production
distribution of Perl 6. The tarball for the January 2016 release is
available
from
http://rakudo.org/downloads/star/.
This is the first post-Christmas (production) release of Rakudo Star
and
implements Perl v6.c. It comes with support for the MoarVM backend
(all module
tests pass on supported platforms).
Please note that this release of Rakudo Star is not fully functional
with the
JVM backend from the Rakudo compiler. Please use the MoarVM backend
only.
In the Perl 6 world, we make a distinction between the language
("Perl 6") and
specific implementations of the language such as "Rakudo Perl". This
Star
release includes
release
2016.01.1 of the
Rakudo
Perl 6 compiler, version
2016.01 of
MoarVM, plus various
modules, documentation, and other resources
collected from the Perl 6 community.
[release 2016.01]:
https://raw.githubusercontent.com/rakudo/rakudo/2016.01.1/docs/announce/2016.01.md
[Rakudo Perl 6 compiler]:
http://github.com/rakudo/rakudo
[MoarVM]:
http://moarvm.org/
Some of the new compiler features since the last Rakudo Star release
include:
+ Chained .grep calls on Supply fixed (RT #127297)
+ Fixed interaction with perl6-debug and precompilation that
resulted in an
endless loop
+ re-enabled warning when smart-matching against a True or False
literal
+ Fixed internal error when reporting certain type errors (RT
#127207)
+ Fixed rare "duplicate definition of symbol" errors (RT #127107)
+ Fixed interpolating of pairs with non-key strings into signatures
+ Fixed error when smart-matching Seq against a Set (RT #127166)
+ Improved error message when smart-matching against an
S///-expression
+ Fixed bad interaction between EXPORTHOW and multiple declarations
(RT #126566)
+ Fixed various issues regarding precompilation
+ Improved accuracy of Complex.sqrt
+ hyper now preserves order of results, as designed
+ Range.sum on an empty, numeric Range is now 0
+ Fixed Promise.allof() with an empty list of promises (RT #127101)
+ Improved message on premature virtual method call (RT #127097)
+ Better error message for module load failures of types that are
part of
the setting
+ Support for Readline in addition to Linenoise
+ Initial shaped array support
+ \r\n (Carriage Return/LineFeed) is now a single (synthetic)
grapheme
+ Unicode support adheres to Unicode Annex #29
+ Unicode quotes are now also allowed in regular expressions
+ Improved newline support with "use newline" and updates to
IO::Handle
+ Added List.head, List.tail, List.repeated methods
+ Str.encode now allows :replacement parameter for unencodable
sequences
+ Str.split now accepts multiple strings to split on
+ New Range.int-bounds returns first/last value for integer ranges
+ Auto-generated meta-ops vivified by referring to them, instead of
executing
+ Illegal assignment of different Numeric values now caught at
compile time
+ &nextcallee implemented, which returns the routine that
nextsame would invoke
+ Many speedups
Notable changes in modules shipped with Rakudo Star:
* Bailador: The PSGI module by default now sets p6sgi instead of
psgi
* DBIish: Many fixes
* Digest::MD5: Updated to conform to new newline handling
* doc: p6doc -l added. p6doc now works for most non-core docs with
pod
* LWP::Simple: Replace "as Int" with proper coercion type to fix
build
* Linenoise: Many fixes
* MIME::Base64: Adjust to pack being made experimental
* panda: Large number of precomp and other bug fixes. Now depends
on 6.c
* Template::Mojo: use MONKEY-SEE-NO-EVAL
* Shell::Command: removed "as"
There are some key features of Perl 6 that Rakudo Star does not yet
handle appropriately, although they will appear in upcoming
releases.
Some of the not-quite-there features include:
* advanced macros
* non-blocking I/O (in progress)
* some bits of Synopsis 9 and 11
There is an online resource at
http://perl6.org/compilers/features
that lists the known implemented and missing features of Rakudo's
backends and other Perl 6 implementations.
In many places we've tried to make Rakudo smart enough to inform the
programmer that a given feature isn't implemented, but there are
many
that we've missed. Bug reports about missing and broken features are
welcomed at
raku...@perl.org.
See
http://perl6.org/ for links to
much more information about
Perl 6, including documentation, example code, tutorials, reference
materials, specification documents, and other supporting resources.
Perl 6 tutorials are available under the "docs" directory in
the release tarball.
The development team thanks all of the contributors and sponsors for
making Rakudo Star possible. If you would like to contribute, see
http://rakudo.org/how-to-help,
ask on the
perl6-c...@perl.org
mailing list, or join us on IRC #perl6 on freenode.