Java 21, Version 0.51.0, and a Few Words on Our Data
By Hammer
We’ve got a new release on the way, and it’s a big one. This is shaping up to be one of the largest and most exciting releases we’ve put out in a while, and there are a couple of things worth getting in front of players before it lands.
How big? We have over 300 pull requests across all the programs since our last release, along with some genuinely major feature items, including the return of the Planetary System Editor and the introduction of FrankenMek construction. When the release drops it’ll have full release notes covering everything, and there is a lot to cover. But there are two things I want to talk about ahead of time: our move to Java 21, and a broader conversation about MegaMek’s data and how it relates to canon.
Moving to Java 21 with Version 0.51.0
Back in the State of the Universe in January, we said we’d be moving to Java 21 sometime this year. Here it is. The upcoming release will require Java 21 to run.
Why 0.51.0 and not 0.50.13?
You’ll notice the version number jumped. This isn’t 0.50.13, it’s 0.51.0, and that’s intentional. When we move up the version of Java we run on, we also increment the version number to mark it as a major change. The jump from 0.49 to 0.50 was our move to Java 17, and the jump to 0.51 is our move to Java 21. If you ever want a quick read on whether a release changed our Java requirement, the version number will tell you.
This is NOT a Milestone
I need to stress this one: 0.51.0 is not a Milestone release. It still has to go through the same Milestone criteria as any other release before it earns that designation. A new Java requirement doesn’t change how we qualify a Milestone. Treat 0.51.0 as a Development release until we say otherwise.
What about Java 25?
We are testing Java 25, but understand that it is not officially supported. If you like running on the bleeding edge, you’re welcome to grab it, but if you hit bugs or issues our standard response will be to ask you to drop back to Java 21. That said, we’d still appreciate any feedback you have along the way.
Updating to Java 21 ahead of the release
If you want to get ahead of this, you can update to Java 21 right now. The process is just like the update we did from Java 11 to Java 17, so the existing instructions apply. See our Updating to Adoptium (Eclipse Temurin Open Source Java) guide.
MegaMek Data and Canonicity
The full release notes will cover the features. But the thing I really want to talk about in this post is data, and specifically how it relates to canon.
The new startup window
Starting with this release, you’ll see a new window when you launch the programs. It lays out our licensing information and states right up front that the MegaMek suite, which includes MekBay, is an unofficial, fan-created implementation of the BattleTech tabletop game. It also states plainly that the suite is not a canon source of BattleTech material and shouldn’t be treated as official lore.
This isn’t only about the canonicity conversation below. Part of it is a straightforward requirement of Microsoft’s Game Content Usage Rules: we’re required to keep our license, and the fact that we operate under it, front and center for players on a regular and consistent basis. That’s why you’ll see this with every release. You read it, click Acknowledge, and move on. There’s a “Do not bother” checkbox if you’d rather not see it on future launches, but a new release will bring it back, by design.
Click image to view full size
Now, the obvious question is going to be: how does accepting this affect me? And I’ll be honest about the subtext here, because in this day and age a new window asking you to accept something is going to draw suspicion. Given the current state of the world and how people look at things online, plenty of folks are going to assume there’s something nefarious behind it. There isn’t.
The short answer is that nothing has changed. We are not suddenly collecting data, and nothing new has quietly appeared in the license with this release. The license is exactly what it has always been. All we’re doing is displaying it, putting it directly in front of you and making it clear and up front that we’re unofficial and fan-made. Nothing behind the scenes has changed.
What you’re acknowledging
Clicking Acknowledge confirms you’ve read and understood the licensing terms and our unofficial status. In plain language, here’s what the window lays out:
- We’re unofficial: the suite is a fan-created implementation of the BattleTech tabletop game published by Catalyst Game Labs, and it is not affiliated with, endorsed by, or licensed by The Topps Company, Catalyst Game Labs, or Microsoft.
- We’re not a canon source of BattleTech material, and shouldn’t be treated as official lore.
- Our source code is open source, licensed under GPLv3.
- Our game data, artwork, and other non-code assets are licensed under CC-BY-NC-4.0.
- The suite was created under Microsoft’s Game Content Usage Rules.
The window also points you to our wiki for more about the project and our guidelines, and to our Discord if you need help or want to get involved. It carries the usual trademark notices too: MechWarrior, BattleMech, ‘Mech, and AeroTech are registered trademarks of The Topps Company, Inc.; Catalyst Game Labs and its logo are trademarks of InMediaRes Productions, LLC; and MechWarrior is © Microsoft Corporation.
Canon and official, and why we’re neither
So what does all of this actually mean?
We strive to be a faithful recreation of the BattleTech rules. We work hard to make sure units line up with the Technical Readouts, that the systems data in MekHQ is as close as possible, and that the statistics for weapons match what’s published. But over the last few months we’ve noticed players increasingly approaching the projects as if everything in them is canon, and as if we ourselves are an official source, treating anything that appears in MegaMek, MegaMekLab, MekHQ, or MekBay as both canon and officially sanctioned simply because it’s there.
It’s worth pausing on those two words, because they don’t mean the same thing.
Canon is the established, agreed-upon version of the BattleTech universe: the sum of the approved material that defines the setting. It’s decided by the people who own and license BattleTech, through what they publish and what they rule on. In practical terms, that means the sourcebooks, novels, and official rulings put out by Catalyst Game Labs. If it isn’t in an official publication, it isn’t canon. (Sarna has a thorough write-up if you want to go deeper.)
And while we’re at it: canon, with one N, is the universe. A cannon, with two, is the thing you bolt onto a ‘Mech to ruin someone’s day. We deal in plenty of both around here, so please try not to confuse them.
Official is a different idea. It’s about who made something and whether it carries the sanction of the IP holders. Official material is produced or endorsed by the people who own and license BattleTech. We are not those people. MegaMek is a fan project, built by volunteers under Microsoft’s Game Content Usage Rules, with no official affiliation or endorsement. That makes us unofficial by definition.
So the two ideas sit close together but apart. Canon is about the content: is this part of the real BattleTech universe? Official is about the source: does this carry the authority of the IP holders? MegaMek is neither a canon source nor an official one. We work hard to faithfully reproduce canon, but reproducing it doesn’t make the reproduction canon, and it doesn’t make us official.
Here’s the reality. On the MekHQ side in particular, in order to make StratCon and AtB work and to create the feeling of a living, playable universe, we’ve written a fair amount of content ourselves. Internally on the dev team, we refer to this as “inspired by canon.” We draw it as close to the real thing as we reasonably can, but to be blunt about it, it is effectively fan fiction. There is nothing in the programs that becomes canon simply because it’s in the programs. Canon is determined by the official sourcebooks as published by Catalyst Game Labs.
So we ask players to remember: we are unofficial. We will endeavor to be as close to canon as we reasonably can. But ultimately we are a fan-created implementation of the universe. If you see something in MekBay, MekHQ, or MegaMek, we’ve done our best to keep it close to canon, but there will be times when we’ve made a mistake and our data is simply wrong, and there will be times when we’ve added fluff or color to a planet, a unit, or a news story to give it a stronger sense of place. None of what we write is canon unless it’s officially published.
We’re bringing all of this up because of something we want to avoid: players in other communities saying “but MegaMek says…” as though we were an authority on canon. We’re not. If you find something in our data that’s wrong or incorrect, please open an issue report on the MegaMek Data tracker, tell us what the canon source is, and we’ll look at fixing it.
Telling canon from non-canon in the unit selector
To help with all of this, the unit selector now lets you filter by canon status and by whether a unit has a published record sheet. Both are tri-state checkboxes, not simple on/off toggles, so each one cycles through three modes: no filter, show only the matches, or show only the non-matches. For “Canon only,” that means you can list every unit, only canon units, or only non-canon ones. “Has published Record Sheet” works the same way for units with an official published record sheet. Between them, you can dial in exactly the pool of units you want to work from.
It’s worth explaining how we decide what’s canon, because it isn’t a flag we set on each unit by hand. A unit’s status is derived from its sources. If it traces back to at least one canonical sourcebook, it’s treated as canon; if it has no listed sources, or every source it lists is non-canon, it shows up as non-canon. When we can’t confirm a source is canonical, the default is to treat it as non-canon, which keeps us on the side of under-claiming rather than over-claiming. In other words, canonicity flows from the publications, and each unit inherits it from the books it came from. The unit’s readout reflects that status, so you can tell at a glance when something is non-canon.
Click images to view full size
A word on the data moratorium and MekBay
I’d also like to remind players about our data moratorium, and this is particularly relevant because of MekBay.
We’ve always held to a moratorium where, after Catalyst releases a product, we wait 60 days from the street date before we release the corresponding data. In the past this worked out naturally. We knew we’d always have more than 60 days between our releases, so we’d do the data work we needed, add it to GitHub, and it would sit in the repository until the next release. That gap easily covered the moratorium.
MekBay changes the math. Our data can now be updated almost instantaneously, and it’s not uncommon for us to refresh it every couple of days. That means we could potentially have something live on MekBay shortly after Catalyst releases it. We try to avoid that out of respect for the IP holders and to avoid undermining product sales.
That said, this isn’t as big a deal as it used to be. Catalyst used to sell record sheet books; now they work to get record sheets up on their own sites for free download as quickly as possible, and in a lot of cases we’ve actually produced those record sheets. But here’s the important distinction: the record sheets that come from the Catalyst websites are the canon sheets. The record sheets in MekBay are produced by MegaMekLab, and they are not. And it’s worth being precise about what draws that line: it’s the act of Catalyst Game Labs publishing a sheet on their official site that makes it canon, not who produced it. Even when the sheet they post is one we built, it’s Catalyst’s published version that becomes the canon sheet; the copy in MekBay, identical as it may be, is still a reproduction, not the canon source itself. What changes the moment Catalyst posts it isn’t our sheet’s status, but the fact that a canon source now exists for it to match.
This matters because it raises a fair question about which sheets count as legitimate. In an era where electronic game aides are becoming more common and more sought after, you can end up in situations where players have access to record sheets or Alpha Strike cards through MekBay before Catalyst has even updated their own sites.
Alpha Strike and the Master Unit List
I want to call out Alpha Strike specifically.
A couple of years ago we implemented the Alpha Strike conversion rules. We were incredibly fortunate to have close access to the Alpha Strike developers, to MORDEL, and to all of the available errata, as well as some access to unpublished errata, when we built our conversion tools.
The Master Unit List is the canon reference for Alpha Strike values, and it remains so. It hasn’t been updated in quite a while. There is a new Master Unit List planned, but we have no more knowledge of when that will happen than anyone else outside of Catalyst Game Labs. Our conversions are calculated directly from the published conversion rules, and backed by the developer access and errata described above, including some that wasn’t public at the time, so we’re confident in them. For anything official, though, the Master Unit List is the canon source, full stop.
So if you think there’s an error in one of our Alpha Strike cards, the first thing to do is check it against MORDEL. If our value and MORDEL agree but the Master Unit List shows something different, the error is most likely in the Master Unit List, probably because it hasn’t been updated yet. But if our value and MORDEL don’t match, that’s exactly the kind of thing we want to know about, so please open an issue for us to investigate.
Let me set one expectation clearly. If there’s a genuine error in our conversion code, measured against the published rules, we will go in and correct it without hesitation. What we will not do is change working code to reproduce outdated data. If one of our values differs from an older Master Unit List entry simply because the list hasn’t been refreshed yet, that isn’t a bug on our end, and we’re not going to break a conversion that’s correct and built to carry us forward just to match a number that has fallen behind. When the Master Unit List does get its update, we’d expect most of those gaps to close on their own.
Tournaments, tables, and who decides
What does all of this mean for players in practice? If you’re going to bring MekBay, Alpha Strike cards, or record sheets printed from MegaMekLab to a tournament, make sure it’s clear with your tournament organizer whether that’s acceptable and what is or isn’t allowed.
And I want to be fair to the people making that call. Local tournament organizers have a genuinely difficult decision here, and we respect that these can be hard ones. What we can assure them is that we endeavor to keep our sheets aligned with the canon sheets. But we also have to recognize that it is ultimately up to the tournament organizer to decide what is and isn’t allowed at their event.
This extends well beyond tournaments. It’s up to players and Game Masters to decide what is and isn’t allowed at their own tables. It is not our place to tell anyone what they can or can’t use. All we can do is provide an option that’s there if people want it.
Wrapping Up
I hope this adds some context and a bit of a lens into our data and our sources. We love this universe, and we work hard to represent it faithfully. But we’re fans building tools for fans, and the line between what’s canon and what’s ours is one we want to be honest and clear about.
But On to Something Really Exciting: The Return of the Planetary System Editor
I flagged this near the top, but it deserves a proper look, because it ties right back into everything we’ve just talked about.
This release brings the return of the Planetary System Editor, now built directly into MekHQ as a GM-facing tool, thanks to the work of our new team member, VicenteCartas. It lets a game master reshape the systems in their own campaign: planet events like ownership changes, population shifts, and HPG ratings; system details like Nadir and Zenith recharge stations; and the static planet data such as type, gravity, atmosphere, and more. Overridden systems are marked right on the interstellar map, so you can see at a glance where your campaign has diverged from the standard universe.
Here’s the part that ties back to everything above. The editor is campaign-backed, which means your edits never touch the packaged data or any custom data you’ve installed. They’re saved with your campaign and layered on top at runtime. In other words, you get to build your own “inspired by canon” corner of the universe without changing the canonical data underneath, and the editor will even remind you that your campaign overrides take precedence and can drift from the packaged data over time. It’s exactly the kind of sandbox players have asked us about for years, for alternate-universe and story-driven play.
And this is just the start. We’re planning to expand the editor over time, with the wishlist including a faction editor and the ability to physically add new planets to the system map. There’s a lot of room to grow here, and it opens the door to the living, player-shaped universe we’ve always wanted MekHQ to support.
So that’s where we are: a large release on the way, the move to Java 21, an honest reset on what our data is and isn’t, and a new tool to help you make the universe your own.
As always, the best place to talk about any of this is our Discord.
Seyla!