Rakudo compiler, Release #192 (2026.04)
2026-04-25
On behalf of the Rakudo development team, I’m pleased to announce the April 2026 release of Rakudo #192. Rakudo is an implementation of the Raku1 language.
The source tarball for this release is available from https://rakudo.org/files/rakudo. Pre-compiled archives will be available shortly.
New in 2026.04:
+ Improvements:
+ Make method not found suggestions a bit smarter [3b1201c3]
+ Overhaul QuantHash infrastructure [5bceb7ca]
+ Add a worry for using the unimplemented TEMP phaser [3b8b6d61]
+ Make .comb accept Cool values for limit [d04cb70e]
+ Check for literal value in signature with .return(-rw) [9dfe3e73]
+ Add some sanity checking on Grammar.parse [92ead2bd]
+ Add item to error message stating expected param traits [f1c18464]
Fixes:
- Fix SETTING:: prefix having literal single quotes on Windows, resolving several issues with the optimizer on Windows [1e935287][d8aeb7ee]
- Properly support coercive types on parameterized Set(Hash) [ab6efcab]
- Gate nested-name collision fix on 6.e; emulate legacy on 6.d but add deprecation warnings [3e02de0d][febd90e0][dfaf7c8b][b7f77781][6e6cd5e6][4b065164][4ee541b5][2d92f016][dc5e9452]
- bytecode validation error fix [8051244f]
- utf8-c8 fix [9dcbc23c]
- Fix .index(@needles) [1d991f95]
- Use IMPL-MAYBE-CURRY in ApplyInfix.PERFORM-BEGIN - DRY [181cbbc3]
- Fix silent no-op for
$.foo = ...on non-rw attributes [00a41881] - Make sure exits-ok shows the description if given [b18dd713]
- Fix type smiley enforcement on anonymous params in list assignment, Enforce type constraints on ano typed params in RakuAST list assignment, Enforce type smileys on anon typed params in old frontend list assignment [f7b814e7]
- Fix spurious sigspace warning for rx:s// in RakuAST frontend [26155d37]
- Fix Set(Hash).new(foo) for coercive type parameterizations [2fe33db3]
Additions:
- Add support for %*SUB-MAIN-OPTS
[4cbb9553] - Make semantics of div / mod Int only in 6.e [245d0727]
- Don't search for .pm files starting in 6.e [03f90b6c]
- Add :without-backtrace named argument to die() [577a04ae]
- Add support for %*SUB-MAIN-OPTS
RakuAST:
- Many improvements towards parity with original compiler [b776b44b][9a8b94df][04c98c02][cfe7e433][a21eeb1b][75bb957e][0228f617]
The following people contributed to this release:
Elizabeth Mattijsen, Nick Logan, Will Coleda, Richard Hainsworth, David Schultz, Timo Paulssen, Wenzel P. P. Peppmeyer, Zoltan Ness, habere-et-dispertire
This release implements 6.c and 6.d versions of the Raku specification.
6.c version of the language is available if you use the use v6.c
version pragma, otherwise 6.d is the default.
Upcoming releases in 2026 will include new functionality that is not part of 6.c or 6.d specifications, available with a lexically scoped pragma. Our goal is to ensure that anything that is tested as part of 6.c and 6.d specifications will continue to work unchanged. There may be incremental spec releases this year as well.
If you would like to contribute or get more information, visit https://raku.org, https://rakudo.org/community, or join us on IRC (#raku on Libera), the Discord, or the [email protected] mailing list.
Additionally, we invite you to make a donation to The Raku Foundation to sponsor Raku development: https://rakufoundation.org/donate (put “Raku Core Development Fund” in the ‘Purpose’ text field)
The next release of Rakudo (#193), is tentatively scheduled for 2026-05-23.
The development team appreciates feedback! If you’re using Rakudo, do get back to us. Questions, comments, suggestions for improvements, cool discoveries, incredible hacks, or any other feedback are welcome through the channels listed above.
See https://raku.org/ ↩
