Updates

MAME Upgrades to C++20 and Slows Release Cadence for Modernization

MAME drops monthly releases and moves to C++20, with no April build; the next release lands at the end of May.

Nina Kowalski2 min read
Published
Listen to this article0:00 min
Share this article:
MAME Upgrades to C++20 and Slows Release Cadence for Modernization
Source: generationamiga.com
This article contains affiliate links, marked with a blue dot. We may earn a small commission at no extra cost to you.

After clearing the air on an April Fools' announcement, MAMEdev dropped a more consequential update on April 7: the project is moving its development standard from C++17 to C++20 and pulling back from its longstanding near-monthly release schedule.

The shift to C++20 is the headline technical change. Building MAME going forward requires GCC 11 or later, or clang 13 or later, paired with GNU libstdc++ 11 or later or libc++ 11 or later. That compiler floor unlocks language features like concepts, ranges, and expanded constexpr support, which give MAME's developers cleaner tools for abstracting the complexity underneath an emulator that documents tens of thousands of hardware configurations.

The release cadence change is the one most users will feel immediately. The team confirmed there will be no April release, and that the next build is scheduled for the end of May. The announcement put it plainly: "there will no longer be a release nearly every month." For downstream packagers and frontend authors who have scheduled their own update cycles around MAME's rhythm, that's a meaningful shift in planning.

Also folded into the announcement: MAME is dropping support for obsolete system configurations, including Windows versions below Windows 10. That consolidation is consistent with the broader modernization push and reduces the surface area the team has to test and maintain.

AI-generated illustration
AI-generated illustration

The community response has been mixed but pragmatic. Downstream packagers dealing with regression surprises from frequent monthly builds have welcomed the slower, more deliberate pace. Meanwhile, maintainers of cross-compilation workflows and hobbyist build systems on older toolchains are auditing their environments to confirm they meet the new compiler requirements.

MAME's status as the central archive for arcade hardware documentation means these decisions ripple outward quickly. RetroArch cores, Linux distribution packages, and projects like MAME4droid all track MAMEdev closely. The C++20 requirement in particular will gate which platforms can keep up with mainline, making toolchain hygiene a first-order concern for anyone building from source.

The tradeoff MAMEdev is making is explicit: slower releases in exchange for a codebase that's easier to refactor safely and a compiler baseline that reflects where the broader C++ ecosystem has been for several years. The end of May release will be the first proof of whether that bargain pays off.

Know something we missed? Have a correction or additional information?

Submit a Tip

Never miss a story.
Get Retro Game Emulation updates weekly.

The top stories delivered to your inbox.

Free forever · Unsubscribe anytime

Discussion

More Retro Game Emulation News