2025.52 Release #188 & State of the Onion

Breaking News

NixOS release of Rakudo 2025.12 is live by habere-et-dispertire

State of the Onion 2025

Many thanks to all authors for the wonderful posts in this year’s Raku Advent. I hope that you enjoyed reading them as much as I did. Particular thanks to Elizabeth Mattijsen for her Raku 2025 Review, which I refer to as State of the Onion 2025 in homage to the Larry Wall annual reports of old.

Rakudo compiler, Release #188 (2025.12)

Kudos to the Core Dev team for the release of 2025.12 in time for Christmas. Here are the release notes

On behalf of the Rakudo development team, I’m happy to announce the December 2025 release of Rakudo #188. Rakudo is an implementation of the Raku language.

New in 2025.12:

  • Improvements:

    • Improve help message wrt –optimize [04a36dd1]
    • Support Unicode 17 (up from 15) [4d62268a][1e66a50c]
    • varargs logic updates [f4cb406b][159288a3]
  • Fixes:

    • Cleanup for installing scripts on win [cd3b612c][635279c8]
    • Normalize rakudo-home path in script wrappers [ee706010]
    • Fixed several issues with loading of precompiled files from different threads [b85fb8c0][002dac33][040d145a]
    • Fix memory issue in script runner [bed55b51][2d4a8c83]
    • Make CORE.c setting build reproducibly [5154f2a1]
    • Fix bug in one(…).defined [5a742811]
  • Additions:

    • Add variable number of arguments (varargs) support to NativeCall [488783a7][61f09188][7a302e08][820a4a94]
    • Add support for pseudo-terminals (PTY) [1d6aae34][029cb9fd][1dfd3b5e] [f347d084][e246fc23][fd386dbc][81a6e768]
  • RakuAST:

    • fix issue with role composition [3e9f2527]
    • allow “constant” to be localizable [6b47541e]
    • fix subset type defaults in containers [bb4e88a2]
    • allow ≔ (2254 COLON EQUALS)as a unicode alternative for := [41a1b3cd]
    • introduce =restart RakuDoc directive [6f557f1e]
  • Internal:

    • Some refactoring around leap seconds [3b80351f][6432643b]

The following people contributed to this release:

Patrick Böker, Elizabeth Mattijsen, Will Coleda, Faye, Eric Forste, librasteve, Geoffrey Broadwell, Timo Paulssen, ab5tract, David Simon Schultz, David Schultz, rir, Daniel Green

Weeklies

Weekly Challenge #354 is available for your enjoyment.

Raku Tips ‘n Tricks

One great thing about writing this newsletter is that I learn something new every time. This week, inspired by the recents improvements to the -MSIL compiler flag, is a deeper dive into the Raku internals than usual…

use MoarVM::SIL;

if SIL() -> $SIL {
    LEAVE $SIL.exit;

    # do testing, or just show the report:
    say $SIL.report;
}

Run this code and you get the Spesh Inline Log report that the Raku MOARVM virtual machine creates as it specialises code – placing basic blocks (BBs) inline to speed up execution, like this:

Spesh Inline Log Report of Process #53115 (2025-12-29T17:56:23Z)
Executing: scum.raku

Successful inlines
--------------------------------------------------------------------------------
 2x empty-string BB(5, 90 bytes) -> BB(9)
    int-zero BB(6, 88 bytes) -> BB(11)
    write_uint32_at BB(7, 80 bytes) -> add-internal BB(178)
    signature BB(8, 46 bytes) -> sort_dispatchees BB(4)
    types BB(10, 46 bytes) -> sort_dispatchees BB(4)
    write_uint8 BB(10, 80 bytes) -> add-internal BB(178)
    definednesses BB(11, 46 bytes) -> sort_dispatchees BB(4)
    has-captures BB(14, 62 bytes) -> MATCH BB(140)
    onlyname BB(17, 46 bytes) -> MATCH BB(140)
    nominalizable BB(24, 18 bytes) -> !find_wrappee BB(80)
    CAPS BB(24, 46 bytes) -> MATCH BB(140)
    coercive BB(31, 18 bytes) -> BB(143)
...

Your contribution is welcome, please make a gist and share via the raku channel IRC or Discord.

Questions About Raku

Comments About Raku

New Raku Modules

Updated Raku Modules

Winding down

On, 2025.12 – particularly noteworthy are the upgrade to Unicode 17 and the support for NativeCall varargs. Very nice!

This is the last of 2025. I hope that the year has been good to you. Despite our polarised world, I take some solace that we can all gather around and work together on our -Ofun project.

Please keep staying safe and healthy, and keep up the good work! Even after week 49 of hopefully only 209.

Meanwhile, still: Слава Україні!  Героям слава!

~librasteve

Leave a comment