minetest / contentdb

A content database for Minetest mods, games, and more
https://content.minetest.net
GNU Affero General Public License v3.0
92 stars 45 forks source link

Flag games / mods that are likely to be affected by API incompatibilities #362

Closed erlehmann closed 2 years ago

erlehmann commented 2 years ago

Problem

Minetest introduces deliberate incompatibilities in releases.

ContentDB allows games to have no upper bound for Minetest version.

Together, this means that some games/mods are likely affected by API incompatibilities.

Solutions

ContentDB should warn visually on the web page and via a field in the API response if a game or mod is likely to be outdated.

This could happen by searching the Lua code for a function that has been updated in an incompatible way, then flagging mods that have not been updated since the incompatibility has been introduced.

For example, a mod that uses minetest.dynamic_add_media() and was last published before MInetest 5.4 is likely to be broken in Minetest 5.5

Alternatives

I suggested to the Minetest core developers to not introduce incompatibilities, but they assert it would be too much work.

rubenwardy commented 2 years ago

I don't want to implement this, please report any games that are broken

There are much more important things to do in terms of automating detection of broken mods and games. For example, we don't even run the mods/games in a clean Minetest install as part of the approval process