December 23, 2025

Globals go legit, comments go feral

Lua 5.5

Lua 5.5 makes ‘global’ official while fans bicker and meme

TLDR: Lua 5.5 adds official global variable declarations and smarter memory cleanup. Comments split between “finally!” and “no one will upgrade from 5.1,” with some pointing to ConTeXt and hopes for Fennel/Love2d as proof it could actually see real use.

Lua 5.5 just landed, and the crowd immediately split into two camps: “Finally!” and “Why bother?” The headline feature in plain English: you can now declare global variables on purpose instead of accidentally, thanks to the new global keyword. As andrewmcwatters dryly notes, “global is a reserved keyword now,” meaning folks who wrote clever global() helpers are scrambling for new names. cturtle even dropped the receipts, calling it “buried” in the docs and linking the exact page for proof (manual section).

But then came the mood swing. gsck lobbed the spiciest take of the day: Lua keeps releasing shiny versions that sit unused while the world stays stuck on 5.1. Cue the doomers predicting more fragmentation, because upgrades can break old add-ons and embedded apps. Meanwhile, the optimists showed up with confetti: parlortricks is hyped for Fennel (a Lua-flavored Lisp) and the Love2d game scene to jump aboard, and gucci-on-fleek flexed that the massive ConTeXt typesetting project has already been living on 5.5 betas—so yes, big codebases can move.

Other goodies got a shout too—more compact arrays and smoother memory cleanup (think smarter housekeeping behind the scenes). The memes? “Global is finally global,” “Press F5.5 to declare your intentions,” and “Lua devs declaring war on sneaky globals.” Drama, receipts, and a holiday release—classic internet season finale.

Key Points

  • Lua 5.5.0 was released on 22 Dec 2025, adding global variable declarations, more compact arrays, a new generational GC mode, and incremental major collections.
  • Lua versions follow x.y.z numbering; releases within a version are bug fixes and ABI/VM compatible, while different versions are not ABI compatible and may change the VM.
  • Applications and C libraries embedding Lua must be recompiled for different Lua versions; precompiled Lua programs are incompatible across versions.
  • Lua 5.4 was released on 29 Jun 2020; its current point release is 5.4.8 (4 Jun 2025) with features including generational GC and const/to-be-closed variables.
  • Earlier versions (5.3, 5.2, 5.1, 5.0, 4.0) have documented release dates, feature sets, and end-of-life statuses, with source and docs available in the download area.

Hottest takes

"global is a reserved keyword now" — andrewmcwatters
"Cannot wait for another version of Lua to sit unused basically everywhere" — gsck
"Excellent new release, now for Fennel and Love2d to update" — parlortricks
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.