From Minetest Developer Wiki
Jump to: navigation, search

Note that not all changes made to the code between releases are listed here. Fixes to bugs that were introduced after the previous release, small internal changes, code style fixes, and changes of the like are not listed. If you want a list of every change made between releases see the commit log.

If you want to see older versions, please go to this page.


0.4.16 → 0.5.x (16 Aug)

  • Minetest now uses C++11 instead of C++03, ensure you have compatible system (Windows Vista, Debian 8, Ubuntu 16.04, Centos 7, Mac OSX 10.7...)


  • mainmenu scripting: Add get_clientmodpath API
  • Server now send incremental player list changes to client (useful for client mods)
  • Add sound pitch options
  • CavesRandomWalk: Make 'lava_depth' a mapgen parameter
  • Add Arm Inertia: arm now moves according to movement, smoothly
  • Tile material: Add 'TILE_MATERIAL_OPAQUE', use for drawtype 'NDT_NORMAL'
  • Main Menu: Allow copying directories from non-Minetest locations
  • Fog effect when camera is inside cloud
  • Mapgen: Add Carpathian mapgen
  • Add 'plantlike_rooted' drawtype
  • Chat protocol rewrite: rewrite the chat protocol to be more intelligent (use flags and fields instead of raw string message)
  • Player collisionbox: Make settable (breaks old clients)
  • Start off newly generated worlds early at sunrise, 5:15am
  • Key change menu: Expose more keys (zoom, camera, various toggle keys...)
  • Add slippery group for nodes (players/items slide)

Bug fixes and Improvements

  • rename screenW & screenH settings to screen_w & screen_h
  • Fix color codes sending for non supporting clients
  • Server can now filter color codes to discard them when sending messages to clients
  • Respawn out of bounds players in map
  • improve GUI path selection
  • Improve chat commands consistency
  • Ensure HudSetParams server command doesn't send non existing texture (fix client crash)
  • Fix console resizing when window is resized
  • Fix overlay rendering order
  • Emit liquid sound if the player walks in liquid
  • Fix for empty key/value when reading item string with wear but no metadata
  • Change the server description after a search
  • Dont search for locale folders if gettext is disabled
  • Default window size: Increase to 1024x576, aspect ratio 16:9
  • Camera: Fix wieldmesh glitch after teleporting
  • F5 debug display: Reformat and remove some information
  • GenericCAO: Fix dark model below y = 0
  • Sort box corners correctly
  • Fix player coordinate rounding in collisionMoveSimple()
  • Singleplayer: Pause game in the key change dialog
  • Fix error not printed to console when no name is provided

Client Modding

  • Create a filesystem abstraction layer for CSM and only allow accessing files that are scanned into it
  • Add flavour limits controlled by server: server can set some flavours permitting to limit client API

Server Modding

  • find_node_near: increase range
  • Add minetest.rgba function
  • Trigger on_rightclick regardless on the formspec meta field

Other / Misc

  • Update embedded jsoncpp from 0.10.6 to 1.8.0
  • Isolate various irrlicht singleton in a singleton class
  • Various code cleanups due to C++11

0.4.15 → 0.4.16

0.4.16 was released on June 3, 2017.

  • Minimum version supported is now 0.4.11


  • Add 2D sheet animations for nodes (sfan5)
  • Drop client side chat prediction. No more messages shown to chat when you talk and you are disconnected. (red-001)
  • Add particle animation, glow (sfan5)
  • Server list: add ping indicators (kilbith)
  • Server side occlusion culling (lhofhansl)
  • New custom progress bar (you can customize it with texture packs) (kilbith)
  • Implement delayed shutdown for server owners: /shutdown 60 => shutdowns in 1 min /shutdown -1 cancels it (nerzhul)
  • Add support for requesting a reconnect and changing the shutdown message to /shutdown (red-001)
  • Add a mapblock cache in MeshUpdateQueue to improve client rendering performance (celeron55)
  • Player data can now be into database. This is an important change, players to files are always supported for this release but deprecated. Files backend for players will be removed in a future release. See for compat matrix and migration steps. (nerzhul)
  • Sounds: add fading sounds (Bremaweb, krock)
  • Save automatically window size when modified. This behaviour can be disabled in client settings (nerzhul)
  • Add cancel button to password change formspec (red-001)
  • Improve pause menu with more user friendly informations and update keys dynamicly depending on your configuration (red-001)
  • Merge singleplayer & server tab on desktop clients (octacian)
  • Add /clearinv chat command (octacian)
  • Add keyword-based search to server-list and advance settings (red-001, rubenwardy)
  • Add hardware-based itemstacks and node coloring (juhdanad)
  • Undersampling which should make minetest run better on low end devices (numberZero)

Cheat fixes

  • Breath cheat is now definitively fixed. Hacked clients cannot ignore breath anymore. (nerzhul)
  • Fix node damage cheat. They are now calculated server side. Hacked clients cannot ignore node damages anymore (fire, lava, cactus...). (nerzhul)
  • Disallow dropping items while dead. (sfan5)
  • Calculate maximum interact distance from wielded tool. (sfan5)

Bug fixes and Improvements

  • Little antispam fix (nerzhul)
  • Fix a little bit fog calculations (lhofhansl)
  • Fix player deletion problem when too many objects are in a mapblock (nerzhul)
  • Better block sending priorities to send map to players (???)
  • Sneaking changes (krock, paramat, sfan5)
  • Huge ABM handling code performance improvement (nerzhul)
  • Smooth lighting for all nodes (numberZero)
  • Added mesh generation delay (numberZero)
  • PostgreSQL bugfix on blocks deletion (nerzhul)
  • Windows integration enhancements (???)
  • Wieldmesh natural orientation (kilbith)
  • Memleak fix on client disconnection (nerzhul)
  • Various performance fixes (???)
  • Fix Windows icon (adrido)
  • Fix various minor memleaks (nerzhul?)
  • Recent LuaJIT fixes (nerzhul)
  • Reduce network packet reading/writing memory usage (???)
  • Binding tab now doesn't exit game when used (sofar)
  • Light update for mapblocks (juhdanad)
  • Client: reduce fake object reactions in client event queue (nerzhul)
  • Crashfix when reading schematic calls from API in some cases (nerzhul)
  • Limit sound volume when incorrect value was set into config (???)
  • Fix Cursor lock problem when window is inactive (krock)
  • Particles are now sent to client regarding distance (huge performance improvement on particle servers) (paramat)
  • Really disable minimap when disabled in configuration (nerzhul)
  • Fix a damage bug when falling from a very high height (red-001)
  • Various documentation fixes (???)
  • Expose singlenode mapgen to menu (nerzhul)
  • Dropdown menu selection fix (red-001)
  • Tooltip display unification between tooltip[] and list[] (krock)
  • ServerActiveObjects are now removed when overtaking map limits (nerzhul, paramat)
  • Chat console height can now be set by the player. (Shara RedCat)
  • Additional option added to node highlighting drop-down. (Shara RedCat)

Client Modding

  • Introducing Client-Side modding (CSM for the initiated). You can now have local mods to read various client data and handle different client events. This new modding step is very secure, you don't have access to all standard Lua API, just a subset, to protect your computers. Mods should be installed in @user_path@/clientmods.
  • You will also have access to Client side commands, starting with a dot.
  • If you want to know more about CSM API, please look at Client Side Modding documentation
  • Added by nerzhul, red-001, bigfoot547, Dumbeldor and paly2.

Server Modding

  • Enable mod_security by default
  • Add minetest.player_exists() (rubenwardy)
  • Add player attributes backend. This permits modders to store misc player related data to core and retrieve it after player loading. The attribute save is done by core. (nerzhul)
  • Add mod metadata API permitting mods to have a standard way to write their own data. We recommend you to use this instead of your custom files backend. (nerzhul)
  • Add position & anchor attributes for formspecs (adelcoding1)
  • Add minetest.spawn_falling_node call (zaoqi)
  • Remove core.cause_crash Lua call (nerzhul)
  • Add on_flood server Lua callback sofar)
  • Add clouds API (bendeutsch)
  • Add private node meta to prevent some informations to be leaked to client (example: chest contents) (sfan5)

Other / Misc

  • Redis backend authentication support (sfan5)
  • PostgreSQL < 9.5 support (???)
  • Code refactoring (Game, Environments) (???)
  • Introduce clang-format on repository to check and reformat C++ code with our rules (~15% source code managed) (nerzhul)
  • Move external libs outside of src/ to lib/ (nerzhul)
  • Update jsoncpp embedded lib to last C++03 version (0.10.6) (nerzhul)
  • Disable leveldb on Android (Ekdohibs)
  • Implement daily gitlab package build for Debian/Ubuntu/Fedora (nerzhul)
  • Translations updates (Multiple people)

Minetest Game changes

0.4.14 → 0.4.15

0.4.15 was released on Dec 22, 2016.

No official changelog exists yet, however you can find an unofficial one here:

0.4.13 → 0.4.14

0.4.14 was released on May 15, 2016.


  • Add viewing range GUI setting (kilbith)
  • New settings tab contain all possible settings (PilzAdam)
  • WoW-style Autorun (Duane Robertson)
  • Add server side ncurses terminal (est31)
  • Add support for audio feedback if placing node failed (BlockMen)
  • New 3D Mode: Pageflip (Dalai Felinto)
  • Add Valleys mapgen (Duane Robertson)
  • Add /admin command which says who the server admin is (Splizard)
  • Add '/clearobjects quick' (kahrl)
  • Minimap: show player markers (RealBadAngel)
  • Add support for non-ASCII characters to chat console (ShadowNinja)
  • Nodebox: Allow nodeboxes to "connect" (Auke Kok)
  • Add option to disable entity selectionboxes (TriBlade9)
  • Add option to change screenshot file format (kaeza)

Bug fixes and Improvements

  • Fix object position border checking (est31)
  • Fix falling through nodes on world load (Christof Kaufmann)
  • Add environment variable MINETEST_WORLD_PATH (SmallJoker)
  • Fix crash regression when invsize formspec gets used (est31)
  • Fix GUITable selection issues with trees (kahrl)
  • Speed up and make more accurate relief mapping (RealBadAngel)
  • Add option to give every object a nametag (BlockMen)
  • Add support for limiting rotation of automatic face movement dir entities (sapier)
  • Fix wield item glitch (RealBadAngel)
  • Allow per-tiles culling (Auke Kok)
  • Mapblock mesh: Eliminate meshgen lags (RealBadAngel)
  • Fix jumping at node edge (gregorycu)
  • Restore simple settings tab and add advanced settings as dialog (BlockMen)
  • Mapblock mesh: Allow to use VBO (RealBadAngel)
  • Update menu header image (Jean-Patrick Guerrero)
  • Fix player dying on login (Ekdohibs)
  • Mainmenu: Refactor tab UI code (Rui419)
  • Fix hotbar placement on displays with low screen density (PilzAdam)
  • Mainmenu: Unify favorite servers with main serverlist (kilbith)
  • Builtin: Add basic_privs setting (rubenwardy)
  • Optimize default settings for Android build (Maksim Gamarnik)
  • Fix locked hardware buttons on Android (Maksim Gamarnik)
  • Disallow stacking items with different meta (hunterdelyx1)


  • Add /emergeblocks command and core.emerge_area() Lua API (kwolekr)
  • Add get_biome_id(biome_name) callback (Duane Robertson)
  • Added minetest.wallmounted_to_dir (Fernando Carmona Varo)
  • Allow setting chunksize in core.set_mapgen_params (kwolekr)
  • ABMs: Make catch-up behaviour optional (paramat)
  • Decoration API: Add flag for placement on liquid surface (paramat)
  • Add more ways to pass data to check_player_privs (Robert Zenz)
  • Add option to disable backface culling for models (BlockMen)
  • Schematics: Add core.place_schematic_on_vmanip API (kwolekr)
  • Add LuaSecureRandom (est31)
  • Allow craft replacements to use groups (TeTpaAka)
  • Add Lua interface to HTTPFetchRequest (Jeija)
  • Implement AreaStore serialization (ShadowNinja)
  • Add AreaStore custom ID API (ShadowNinja)
  • Add an option to colorize to respect the destination alpha (Samuel Sieb)
  • Lua_api.txt: Add warnings of l-system lighting bug (paramat)
  • Add [resize texture modifier (SmallJoker)
  • Make the inventory bar HUD take offset into account (rubenwardy)


  • Dungeongen: Remove floating frames (paramat)
  • Blob ore: Fix partial blobs (paramat)
  • Mapgen: Add 4D fractal mapgen (paramat)
  • Mgfractal: Independent offset/slice params for mandelbrot and julia (paramat)
  • Mapgen: Add global 'decorations' flag (paramat)
  • Mgv5/v7/flat/fractal: More large pseudorandom caves (paramat)
  • Mgfractal: Add 3D and 4D fractals (paramat)
  • Mgvalleys: Add Dry Riverbeds (Duane Robertson)
  • Mapgen: Spread both night and day light banks in spreadLight (kwolekr)
  • Mgv7: Decrease cliff steepness (paramat)

Other / Misc

  • Clean up threading (ShadowNinja)
  • Improve locale directory detection (est31)
  • Add new ContentParamType2 "CPT2_DEGROTATE" (est31)
  • Refactor logging (ShadowNinja)
  • Improve rollback database indexing (cheapie)
  • Mgfractal: Add documentation to conf.example and settingtypes (paramat)
  • Add the player name to dropped items (Robert Zenz)
  • Implement OSX Travis builds (Pavel Puchkin)
  • Simplify custom games packaging (Pavel Puchkin)
  • New timer design (Auke Kok)
  • Add option to not send pre v25 init packet (est31)
  • Clean up Strfnd (ShadowNinja)
  • Add (Craig Davison)
  • Mainmenu: Standardize the menu button order and sizes (SmallJoker)
  • Android: Increase player_stepheight for thicker snow nodebox (Maksim Gamarnik)

Minetest Game changes

API changes

  • A modding API was added to TNT, which allows mods to easily create explosion effects (red-001)
  • A modding API was added to doors, which allows mods to create new doors that are feature-rich (sofar)
  • A fence, wall, and fence gate API was added (sofar)
  • A give_initial_items API was added (rubenwardy)

Interface changes

  • Creative inventory now allows searching for nodes by name and description (kilbith)

Visual/Effect/Audio changes

  • Several new textures were added by many different contributors (paramat, kilbith, sofar, kevdoy, Craig Davison, Wouters)
  • Water texture alpha and water post effect color were changed (paramat)
  • Steel door sounds were added (sofar)
  • Flowers will wave when the waving plant shader is enabled (paramat)
  • Doors are now made out of a single mesh and not two half nodes (sofar)

Mapgen/Landscape changes

  • Grass can grow on sandy beaches and dunes (paramat)
  • More flowers will grow in many biomes (paramat)
  • Almost all biomes are now richer and more varied (paramat)
  • Aspen trees were added to forests (sofar)
  • Fallen logs were added (mgv5, mgv7), and mushrooms can grow on them (sofar)
  • Dirt and sand blobs may appear in sandstone (paramat)

Gameplay changes

  • Book interface was entirely rewritten to allow for proper pages and wrapping (kilbith, tenplus1, mt-modder)
  • A metal sign was added, as well as a steel ladder (kilbith)
  • mushroom spores were removed (sofar)
  • a metal (locked) trapdoor was added (sofar)
  • books can be copied in the craft grid (sofar)
  • A new permanent flame node was added, as well as "flint and steel" (paramat, kilbith)
  • Moss can grow on cobblestone if it gets wet (paramat)
  • TNT was largely rewritten and has many new effects and behaviors (red-001, sofar)
  • Stone walls were added for all cobble stone types (sofar)
  • A simple Fence gate was added (sofar)
  • The boat is now slightly faster (paramat)

0.4.12 → 0.4.13

0.4.13 was released on August 20, 2015.


  • Add camera smoothing and cinematic mode (F8) (rubenwardy)
  • Radius parameter for /deleteblocks here (SmallJoker)
  • Save creative_mode and enable_damage setting for each world in (fz72)
  • Configurable automatic texture scaling and filtering at load time. (Aaron Suen)
  • Connect rails with connect_to_raillike and shorten the codes (SmallJoker)
  • Clouds: Make cloud area radius settable in .conf (paramat)
  • Added hour:minute format to time command (LeMagnesium)
  • Add mod security (ShadowNinja)
  • Add texture overriding (rubenwardy)
  • Improved parallax mapping. Generate heightmaps on the fly. (RealBadAngel)
  • Make attached objects visible in 3rd person view (est31)
  • Remove textures vertical offset. Fix for area enabling parallax. (RealBadAngel)
  • Add minimap feature (RealBadAngel, hmmmm, est31, paramat)
  • Add new leaves style - simple (glasslike drawtype) (RealBadAngel)
  • Add ability to specify coordinates for /spawnentity (Marcin)
  • Add antialiasing UI setting (Mark Schreiber)
  • Add wielded (and CAOs) shader (RealBadAngel)
  • Add map limit config option (rubenwardy)

Bug fixes and Improvements

  • Add count based unload limit for mapblocks (est31)
  • Kick players when shutting down server or on Lua crash (nerzhul)
  • Fix relief mapping issues (RealBadAngel)
  • Improve group-based connection between raillike nodes (BlockMen)
  • Use skin font for usernames (fixes #2363) (BlockMen)
  • Fix some memory leaks on packet sending. (nerzhul)
  • Fix android build (nerzhul)
  • Fix serialization of floating point numbers (ShadowNinja)
  • Disallow object:remove() if the object is a player (Kahrl)
  • Fix wrapDegrees family of functions (Zeno)
  • Optimise MapBlockMesh related functions (gregorycu)
  • Fix minor memory leak (Android) (Zeno)
  • Fix occlusion (Miguel Almeida)
  • ClientInterface::getClientIDs doesn't need a std::list. Use a std::vector for better perfs (nerzhul)
  • Fix some rendering glitches (BlockMen)
  • Fix mapgen using unitialised height map values (Zeno)
  • Fix Android text bug (no text displaying) (Zeno)
  • Improve Clouds::render mathematics (nerzhul)
  • For usages of assert() that are meant to persist in Release builds (when NDEBUG is defined), replace those usages with persistent alternatives (Zeno)
  • Fix RUN_IN_PLACE broken due to invalid usage of assert (sapier)
  • Respect game mapgen flags and save world noise params (ngosang)
  • Don't use luaL_checkstring to read node names, it's only for arguments (ShadowNinja)
  • Heightmaps: Fix uninitialised values in mgv5/mgv6. findGroundLevel: Return -MAP_GENERATION_LIMIT if surface not found (paramat)
  • Make the dummy backend only look up blocks once (ShadowNinja)
  • Fix unitialized data when creating TOSERVER_INIT packet (nerzhul)
  • Fix memleak pointed by issue #2439. Also change bzero to memset. bzero doesn't work on windows (nerzhul)
  • Stop formspecs closing with double-click in empty area (Zeno)
  • Ensure that heightmap is initialized before use (Zeno)
  • lua_api/l_mapgen: Fix overlapping areas of minetest.generate_ores/decorations (paramat)
  • Mgv6: Fix uninitialised heightmap used by cavegen (paramat)
  • Disable double-click -> ESC translation for main menu (Zeno)
  • If player is dead, permit it to respawn, even if damages are not enabled (nerzhul)
  • Android: Fix auto-entry of server address and port in mainmenu (est31)
  • Fix various damage related bugs (client-side) (Zeno)
  • Minor bug fix (lag between damage flash and hearts updating) (Zeno)
  • Fix game minetest.conf default settings (est31)
  • Optimize minetest.get_(all)_craft_recipe(s) (gregorycu)
  • Fix composite textures with texture_min_size (Aaron Suen)
  • Protect Player::hud from concurrent modifications (nerzhul)
  • Fix minetest.get_craft_recipe function (est31)
  • Fix set_bits (kwolekr)
  • Fix usage of destroyed mutex (kwolekr)
  • Fix crash caused by null texture in GUI formspec/HUD. (Aaron Suen)
  • Fix players spawned at (0,0,0) in some rare cases instead of static_spawnpoint (nerzhul)
  • Crafting speedup (est31)
  • Fix uninitialized variabled in ConnectionEvent (nerzhul)
  • Fix a rare crash case un SendPlayerHP (nerzhul)
  • Schematics: Fix core.schematic_create() (kwolekr)
  • fix infinite spawners (obneq)
  • Disable connection timeout for singleplayer and server tabs (est31)
  • Fix mod store rating (ShadowNinja)
  • Fix sign-compare compiler warnings in mg_ore.cpp (ShadowNinja)
  • Fix player pitch and yaw not being set properly (Kevin Ott)
  • Fix fast leaves with texture_clean_transparent enabled. (Aaron Suen)
  • Fix minetest.clear_* creating new LOCAL table instead of clearing the existing one. (Tomas Brod)
  • Noise: Fix PcgRandom::randNormalDist() when range contains negative numbers (kwolekr)
  • Add a check for animation when getting an extruded mesh (Kevin Ott)
  • Stop NetworkPacket methods from producing bloated packets (Jay Arndt)
  • Replace Wieldmesh::setItem assertion that could be triggered by the server with an error (kwolekr)
  • Ensure that Map::findNodesWithMetadata() reports nodes strictly within the node-granular area (kwolekr)
  • Fix typo in WieldMesh::setItem() (kwolekr)
  • Don't crash if an item gets dropped into unloaded space (tenplus1)
  • ANDROID: Do not limit situations where fast is enabled (Zeno)
  • Fix current mod name change missed during rebase (ShadowNinja)
  • Noise: Fix interpolation at negative coordinates (kwolekr)
  • (Android) Only simulate holding down fast key if fast_move is toggled to true (Zeno)
  • dofile error reporting for syntax errors (est31)
  • Don't crash when saplings try to grow on unknown nodes (, ShadowNinja)
  • Remove unneccessary space for tab completion (Nathaniel Olsen)
  • Fix some issues with animations, and allow non-looped animations to be defined (MirceaKitsune)
  • Fix bug when craft input isn't replaced (TeTpaAka)
  • Fix string conversion error message (est31)
  • Fix bugs in mainmenu (kilbith, jp)
  • Fix single click world select (est31)
  • Shaders fixes and cleanup relief mapping code. (RealBadAngel)
  • Fix missing check for 0 in craft replacements (TeTpaAka)
  • Craftdef: Use numbers instead of iterators (est31)
  • Fix attempt to start a world when no world is selected/created (kilbith)
  • Fix endless loop since grandparent commit (est31)
  • Fix damage flash when damage disabled (kwolekr)
  • Add more robust error checking to deSerialize*String routines (kwolekr)
  • Fix minetest.get_(all)_craft_recipe(s) regression (est31)
  • Fix FSAA dropdown option reset after changing another dropdown option (kilbith)
  • Fix MSVC number conversion warning (SmallJoker)
  • Fix srp.cpp:815 leak (est31)
  • Fixed minimap memory leak (Břetislav Štec)
  • Android: Fix minor makefile bugs (est31)
  • src/network/connection.h: Fix race condition (Břetislav Štec)
  • src/environment.cpp: Fix NULL pointer dereference (Břetislav Štec)
  • Improve accuracy and safety of float serialization (kwolekr)
  • src/client.cpp: Fix mapper memory leak (Břetislav Štec)
  • src/wieldmesh.cpp: Fix mesh extrusion memory leak (Břetislav Štec)
  • Android: fix sound issue, and gitignore (est31)
  • src/client/tile.cpp: Fix reference counting (Břetislav Štec)
  • Fix "bouncy" blocks (Miner59)
  • src/util/numeric.{cpp,h}: Fix FacePositionCache data race (Břetislav Štec)
  • Fix tiling issues for PLANTLIKE and FIRELIKE with FSAA (RealBadAngel)
  • connection: Make assertions non-fatal for received data (kwolekr)
  • Fix critical vulnerabilities and bugs with NetworkPacket (kwolekr)
  • Fix BufferedPacket race condition (fixes #2983) (kwolekr)
  • Fix detection of sneaking node This fixes bug 1551 (gregorycu)
  • Fix camera updates being toggled by N key in release mode (#2762) (Kahrl)
  • Fix segfaults caused by the Environment not being initialized yet (rubenwardy)
  • Display Lua memory usage at the time of Out-of-Memory error (kwolekr)
  • Make NetworkPacket respect serialized string size limits (kwolekr)
  • Fix intlGUIEditBox leak and uninitialized value in Mapper (reported by valgrind) (Kahrl)
  • Fix Lua PcgRandom (est31)
  • Fix segfault caused by a8e238ed06ee8285ed4459e9deda3117419837f6 (Perttu Ahola)
  • Fix sneaking (fixes #665 and #3045) (BlockMen)
  • Rollback: Fail on bad precondition instead of causing assertion error (kwolekr)
  • Fix inventory replace bug (est31)
  • Fix indianred and indigo of color-string (Rui)
  • Optimizations (multiple)


  • Add mod.conf file support - allows mods to specify a mod name for now (kaeza)
  • Add find_nodes_in_area_under_air (nerzhul, Zeno)
  • Add core.register_schematic() and cache schematics on use (kwolekr)
  • Schematics: Reorganize (de)serialization and add Lua serialization API (kwolekr)
  • Add minetest.global_exists() (ShadowNinja)
  • Fix pathfinder to produce more useful paths (obneq)
  • Add core.find_nodes_with_meta() script API (kwolekr)
  • Schematics: Add per-node force placement option (kwolekr)
  • is_player() is no player-only function (est31)
  • Add code to support raillike group names (Novatux)
  • Add get and set functions for the nametag color (TeTpaAka)
  • Add minetest.register_on_punchplayer (Brandon)
  • Schematics: Fix probability values for .mts version 1 (kwolekr)
  • Add core.mkdir (ShadowNinja)
  • Add core.request_insecure_environment() (ShadowNinja)
  • Add core.get_dir_list (ShadowNinja)
  • SAPI: Accept either ARGB8 table or ColorString to specify colors (kwolekr)
  • Add some missing getter functions to the lua API (TeTpaAka)
  • Decrease minetest.after globalstep lag (HybridDog)
  • Add return list of individual counts to find_node_in_area (TeTpaAka)
  • Add minetest.register_on_player_hpchange (TeTpaAka)
  • Add list-rings (est31)
  • Add Lua errors to error dialog (rubenwardy)
  • Biome API decorations: 'spawnby' searches a 3D neighbourhood (paramat)
  • Make acc and vel deprecated in add_particle and search for acceleration and velocity instead (TeTpaAka)
  • Added get_player_velocity() method. Fixes #1176 (Elia Argentieri)
  • Allow random menu images for subgames (sfan5)
  • Document game main menu image system (est31)
  • Add AreaStore data structure (est31)
  • Actually document what minetest.is_protected should do (est31)
  • SAPI: Track last executed mod and include in error messages (kwolekr)


  • Mgv5: Remove blobgen. Remove crumble and wetness noises (paramat)
  • Biome API: Re-calculate biome at every surface in a mapchunk column (paramat)
  • Mgv6: Add heightmap. Do not make large caves that are entirely above ground (paramat)
  • Cavegen, mgv5: Cleanup code (paramat)
  • Fix memory leak in MapgenV6 (Zeno)
  • Biome API: Enable decorations
  • Mgv5/mgv7: Add desert temples if desert stone detected in mapchunk (paramat)
  • mg_decoration: Raise highest allowed deco top to max edge of voxelmanip (paramat)placed on water (paramat)
  • Mgv6: Remove addDirtGravelBlobs, replaced by blob ore in Minetest Game (paramat)
  • Mgv5/mgv7: Sprinkle dust from full_node_max.Y if chunk above is generated (paramat)
  • Mgv7: 1 up , 1 down overgeneration for chunk border continuity (paramat)
  • lua_api/l_mapgen: generate_ores/decorations: make p1, p2 optional (paramat)
  • ObjDefManager, Mapgen SAPI: Huge refactoring (kwolekr)
  • Treegen: Add pine tree. Force place trunks (paramat)
  • Mgv6: Add optional snow biomes (paramat)
  • Mgv6: Fix taiga, allow pine tree spawning on snowblocks (paramat)
  • Mgv5/v7: Add check for water for deciding biome node stability (paramat)
  • Mgv5: Fix above/below ground spawn when water level is altered (paramat)
  • Biome API: Add biome-specific river water (paramat)
  • Noise: Correct noise objects created with invalid dimensions (kwolekr)
  • Ore: Add biomes parameter (kwolekr)
  • Noise: Add noise unittests (kwolekr)
  • Mapgen v5/6/7: Cleanup node resolver and aliases (paramat)
  • Noise: Make buffer size parameters unsigned (kwolekr)
  • Mapgen v5/v7: Detect sandstone, enable sandstone brick dungeons (paramat)
  • SAPI/Noise: Add PerlinNoiseMap:getMapSlice() function (kwolekr)
  • Mgv5/v7: Fix generateBiomes biome recalculation logic Biomegen down to y = -192 for mgv5 deep oceans. Improve code (paramat)
  • Biome API, mgv7: Increase heat/humidity spreads. Improve mgv7 noise parameters (paramat)
  • Mgv6: Enable snowbiomes by default. Double biome noise spread. 3 octaves, 0.5 persistence for humidity (paramat)
  • Mgv5/mgv7: Trigger biome recalculation at underwater surfaces (paramat)
  • Minimal: Edit mapgen aliases. Use blob ore for clay, update other ores. Update simple biomes. Cleanup code (paramat)
  • Minimal: Add snow biome and jungleleaves nodes. Add mapgen aliases (paramat)
  • Biome API: Enable biome generation to lower world limit (paramat)
  • Mgv6: Don't create air gap in tundra at y = 48 in custom high terrain (paramat)
  • Biome API: Add noise defined biome blend (paramat)
  • Mapgen objects: Enable heatmap and humidmap for all biome api mapgens (paramat)
  • Mgv7: Edit noise parameters. Fewer octaves, larger spreads. (paramat)
  • Mgv5/mgv7 caves: Remove sand found in underground tunnels (paramat)
  • Biome API: Increase heat and humidity noise spreads to 1000 (paramat)
  • Cavegen: Cleanup code. Define constant for MGV7_LAVA_DEPTH (paramat)
  • Mgv7: Lower base of mountain generation to -112 and define constant (paramat)
  • Mgv7: Auto-set lowest mountain generation level (paramat)
  • Cavegen: Mgv6: No small caves entirely above ground (paramat)
  • Mgv7: Use density noise + density gradient for mountain terrain (paramat)
  • Treegen: Rename pine tree mapgen alias (paramat)
  • Biome API: Make fallback biome stone and water, disable filler (paramat)
  • Cavegen V6: Make all caves consistent with 0.4.12 stable (paramat)

Other / Misc

  • Start adding utf-8 support (est31, Ilya Zhuravlev)
  • Unit tests must be done at integration process. (nerzhul)
  • Improve FindIrrlicht.cmake module (Markus Koschany)
  • Rename --do-unittests to --run-unittests as @Zeno- and @sfan5 requested (nerzhul)
  • Clean up database API and save the local map on an interval (ShadowNinja)
  • Don't start a server for map migration (ShadowNinja)
  • Dungeongen: Optionally set ignore to be untouchable to disable floating dungeons (paramat)
  • Finer progress bar updates when initializing nodes (est31)
  • Minor cleanup: game.cpp (Zeno)
  • Add support for the PCG32 PRNG algo (and associated script APIs) (kwolekr)
  • Change filename of screenshots to something more human readable (Zeno)
  • Clean scaling pre-filter for formspec/HUD. (Aaron Suen)
  • Remove errorstream logging on password change (est31)
  • Add reason to kicked log message and use present tense (est31)
  • RotateAlongYAxis: For facedir case, return if param2 >= 4 (paramat)
  • Change lower limit of display_gamma to 1.0 (linear light) (Zeno)
  • More reliable serverlist behaviour (HybridDog)
  • Close keybind settings menu with esc (est31)
  • Disable mesh cache by default (est31)
  • Set server_announce to and respect modes when changing subgame (Sokomine)
  • Use minetest logging facilities for irrlicht log output (ShadowNinja)
  • Display an access denied message when client detects a server timeout (Kahrl)
  • Change texture pack description file name (ExcaliburZero)
  • Refactor particle code to remove the while loops (TeTpaAka)
  • MoveItemSomewhere double bugfix (est31)
  • Remove profiler.h include where it's not needed. Remove some unreachable and very old code (nerzhul)
  • Ask auth handler to create auth when a default password is set (est31)
  • Optional reconnect functionality (est31)
  • Fix documentation of dedicated_server_loop (est31)
  • Remove drivers dropdown in the settings tab (kilbith)
  • Cleanup server addparticle(spawner) by merge two identical functions. (nerzhul)
  • Precalculate mapblock relative size. This permit to remove many s16 calculs on runtime (nerzhul)
  • Android: Add githash header to spare rebuilds after new commits (est31)
  • Prepend "Lua: " before lua exceptions src/server.cpp src/emerge.cpp (Břetislav Štec)
  • Improve Script CPP API diagnostics (kwolekr)
  • Initialize random for verification key generation too (est31)
  • game.cpp: Update cached settings (est31)
  • SAPI: Disable unlockable time profiling (kwolekr)
  • Client: disable mmdb modstore (est31)

0.4.11 → 0.4.12

0.4.12 was released on February 18, 2015.

New features

  • Add player direction to debug text (yamanq)
  • Reorganized client and server tabs (kilbith)
  • Implemented DPI automatic detection on X11 (sapier)

Map generation


  • Caves check for biome nodes, only excavate stone under water level (paramat)
  • Unease caves noises, use 0.3.x parameters (paramat)
  • Blobgen after cavegen (paramat)
  • Biomegen: remove “is replaceable content” bool (paramat)


  • Increased step height on Android (sapier)
  • Increased default font_size (BlockMen)
  • Improved minetest.desktop, added German and French text to minetest.desktop (nerzhul)
  • More consistent progress bar (sapier)

Bug fixes

  • Fixed font_size under Windows (BlockMen)
  • Ignored old entities from 0.3 (Novatux)
  • Fixed FTBFS on GNU/Hurd platform (apoleon)
  • Modified Y positioning of health/breath statbars to prevent overlapping with hotbar (kwolekr)
  • Fixed memory leaks related to gettext (ShadowNinja)
  • Give full breath after death (SmallJoker)
  • Fix NDT_GLASSLIKE normals (kahrl)
  • Water flowing fixes (gregorycu)
  • Compiler tweaks and warning fixes (ShadowNinja, kwolekr)
  • Fix imprecise serialization of large numbers (ShadowNinja)
  • Fix performance regression (Zeno-)
  • Fix getCraftRecipe returning wrong recipes (sapier)
  • Fix unused (and so, broken) enable_rollback_recording. (nerzhul)
  • Fix .zip extraction (mod store) (ngosang)
  • Fix translation memory leak (ShadowNinja)
  • Fix F7 crash (nerzhul)
  • Fixes to default screenshots in mainmenu (Rui914)
  • Fix map_seed not changed when creating a new world after login to another (fz72)
  • Add modname convention checking, fixes issues with mod enabling (est31, Novatux)
  • Fix problems related to still receiving damage after dying (SmallJoker, gregorycu)

Modding-related changes

  • Add vein and blob ore type (kwolekr)
  • Change assignment to global in a function to warning (rubenwardy)

Vanilla game changes (minetest_game)


  • Mossy cobblestone can now be smelted to stone (MT-Modder)
  • Added straw, crafted with 9 wheat (kilbith)
  • Added obsidian and obsidian brick stairs and slabs (CraigyDavi)


  • Many new textures renewed (kilbith)
  • Changed furnace fire icons (Kalabasa)
  • Added fancy inventory for bones (CraigyDavi)

Master server (server list)

  • Announce MIN/MAX protocol version to server list (est31)

0.4.10 → 0.4.11

0.4.11 was released on December 24, 2014.

New features

Big gameplay changes

  • Added mapgen v5 (paramat)
  • Added enable_build_where_you_stand option (Sokomine)

Smaller gameplay tweaks

  • Added inventory right click drag and drop (sruz25, Zeno)
  • Remove buildable_to nodes without dropping item when replaced by a falling node (Casimir)

Visual changes

  • Reduced time of red screen when damaged (SmallJoker)
  • Added video driver selection to settings menu (sapier, webdesigner97)
  • Removed alpha channel from screenshots (BlockMen)
  • Added node highlighting (RealBadAngel)
  • Added configurable selection box width. Min width = 1, max = 5 (TriBlade9)
  • Changed default halo.png for better visibility (RealBadAngel)
  • Added in-game key change menu (Mushiden)
  • Improved lighting of the wielded item (kahrl, RealBadAngel)
  • Increased step smoothing to fit 1:1 stairs (Calinou)
  • Scale form elements consistently using new font engine by sapier (Zefram)
  • Made dropped items larger and rotate faster (Calinou)
  • Increase third person view distance (Calinou)
  • Made directional fog colors respect tonemap (Taoki)
  • Display serverlist flags as icons (kahrl, kilbith, VanessaE et al.)

Build system changes

  • Added ZLIBWAPI_DLL and LEVELDB_DLL CMake options (sfan5)
  • Removed legacy MINGWM10_DLL CMake option (sfan5)
  • Changed build directory for build bots to '_build' to prevent removal of Android build files (sfan5)
  • Updated 32-bit build bot (OpenAL updated, zlib updated) (sfan5)
  • Added -win64 suffix to build bots for 64-bit Windows builds (sfan5)
  • Updated the cURL the buildbot uses to 7.38.0 (sfan5)
  • Added Android Makefile support for builds without LevelDB (sapier)
  • Improved Travis CI configuration (Mikaela Suomalainen)
  • Added gettext to Travis build (ShadowNinja)
  • Build for win32 & win64 on Travis too (sfan5)
  • Update MinGW toolchain downloads used by Travis (sfan5)
  • Fixed various build issues on Windows/MSVC (SmallJoker), Android (sapier, Kodexky), Mac OS X (Pavel Puchkin)

Logistical changes

  • Don't unload blocks if save failed (kwolekr)
  • Don't copy back already generated blocks on map generation (kwolekr)
  • Moved MapBlock (de)serializing code out of Database class (sfan5)
  • Don't include cmake_config_githash.h into files that don't need it (sfan5)
  • Moved #includes from version.h to version.cpp (kahrl)
  • Improved timeout calculation when packets are lost (sapier)
  • Refactored a section of ban.cpp (Selat)
  • Allowed use all 6 faces for special tiles (RealBadAngel)
  • Saved previously generated blocks on Mapgen blitback (kwolekr)
  • Refactored Settings (ShadowNinja, Zeno, kwolekr)
  • Added setting groups (used for NoiseParams) and multiline entries (kwolekr)
  • Added NodeResolver and cleaned up node name -> content ID resolution system (kwolekr)
  • Added support for eased 3d noise (kwolekr)
  • Added notice when only minimal is installed (rubenwardy)
  • Split up mapgen.cpp (kwolekr)
  • Refactored the_game (Zeno)
  • Added Generator Element Management framework (kwolekr)
  • Cleaned up rollback (ShadowNinja)
  • Refactored main.cpp (Zeno)
  • Rewrote generate notification mechanism (kwolekr)
  • Rewrote fs::GetDirListing(file), fixing a potential buffer overflow (kahrl)

Other changes

  • Removed math mapgen (proller)
  • Removed indev mapgen (proller)
  • Removed proller from credits (proller)
  • Updated default control documentation (BlockMen)
  • Made lighting CPU-only by removing finalColorBlend implementation from shaders (RealBadAngel)
  • Added /dummyball <count> command to the minimal game (kahrl)
  • Made the LuaJIT exception wrapper handle more exceptions (kahrl)
  • Added missing doc for minetest.get_us_time() (sapier)
  • Made HTTPFetch use the configured bind_address (ShadowNinja)
  • Made config compatible with C++ 2011 (donat_b)
  • Added a .mailmap file (Stefan Beller)
  • Search for subgames using $MINETEST_SUBGAME_PATH (David Thompson)
  • Added Indonesian language (srifqi)
  • Updated translations (kilbith, ShadowNinja)
  • Replaced setting unlimited_player_transfer_distance with player_transfer_distance (SmallJoker)
  • Added last_login field to auth.txt (Ryan Newell)
  • Added tooltips to main menu subgames button bar (Wuzzy)
  • Added option 'eased' to NoiseParams (SmallJoker)
  • Added (optional) client-side saving of server map to disk (sfan)
  • Added name of node 'pointed at' to debug (rubenwardy, Zeno)
  • Added space between client names in status text (Muhammad Rifqi Priyo Susanto)
  • Disabled loading .mtl files (RealBadAngel)
  • Made biome heat and humidity noise parameters user-configurable (kwolekr)
  • Added paste command (Ctrl-V) in chat console (kahrl)
  • Responsive tooltip offset for Android (Kodexky)
  • Allowed footstep sounds to play for liquid and ladder nodes (Taoki)
  • Added basic support for generating API documentation using Doxygen (Jürgen Doser)
  • Set WM_CLASS window hint for Xorg (kwolekr)


  • Disabled preload_item_visuals by default (ShadowNinja)
  • Sped up mapblock_mesh (RealBadAngel, Zeno)
  • Implemented caching of facedir rotated meshes (controlled by enable_mesh_cache setting) (RealBadAngel)
  • Removed most exceptions from getNode() (and variants) (Zeno)
  • Sped up removing a node (less block mesh updates) (RealBadAngel)
  • Reduced number of extrusion meshes to (usually) 5 instead of one per item (kahrl)
  • Improved VoxelArea variable locality (Wouters Dorian)
  • Optimised functions from CNodeDefManager and VoxelManipulator (Zeno)
  • Optimised serialization, for example by using machine native byte swapping if available (Rafael Reilova)
  • Optimised main client loop (Zeno)
  • Optimised noise implementations (kwolekr)
  • Optimized getLight() by 2x (Zeno)
  • Stopped liquid queue from eating up more and more RAM; also liquid_loop_max now defaults to 100000 (Zeno, celeron55)
  • Changed TileSpec::frames to be std::vector not std::map (unknown, Zeno)

Bug fixes

  • Fixed face shading issues (RealBadAngel)
  • Fixed crash reported here: (Novatux)
  • Fixed flipped textures for drawtype "glasslike" (sapier)
  • Fixed indexing error in timer processing (Zefram)
  • Made tooltip_show_delay=0 work (Zefram)
  • Fixed error handling on inconsistent client ready message (sapier)
  • Fixed texture hack in fences (RealBadAngel)
  • Fixed texture glitches for plants with visual scale > 1.0 (jungle grass) (RealBadAngel)
  • Fixed makeCuboid to apply rotations to all faces when 1 tile is given (RealBadAngel)
  • Fixed display of interior of glasslike_framed node when its not defined (RealBadAngel)
  • Fixed LuaVoxelManipulator memory leak (Zeno-)
  • Fixed seeds corrupting world creation menu formspec (ShadowNinja)
  • Made face shading correct for all possible lighting modes (RealBadAngel)
  • Fixed liquid sources and flowing surfaces having different brightness (RealBadAngel)
  • Fixed main menu game initialization (BlockMen)
  • Made safeWriteToFile() remove empty file if there is an error (Selat)
  • Don't call player events without having player to do a event for (sapier)
  • Fixed "ghost" blocks if block update is "on wire" while player digs nodes (sapier)
  • Added player name length checks (sapier)
  • Fixed chat messages capturing mouse interactions for menu/formspecs (sapier)
  • Fixed segmentation fault if popping from empty stack (L-system trees) (Zeno)
  • Fixed interlaced 3D mode second image being flipped when compiling with Irrlicht 1.8+ (sapier)
  • Fixed only one texture being updated on window resize, breaking side-by-side and top-bottom 3D modes (sapier)
  • Fixed access to invalid data when receiving empty packets (sapier)
  • Fixed some locking bugs (kahrl, ShadowNinja)
  • Use round if falling node is misplaced (SmallJoker)
  • Fixed and simplified player modification checks (ShadowNinja)
  • Fixed unit tests failing if IPv6 not available (Zeno)
  • Fixed wield mesh getting clipped by camera far value (kahrl)
  • Fixed raillike rendering bug on Android (Kodexky)
  • Don't corrupt stepheight when setting other properties (Ciaran Gultnieks)
  • Fixed mouse events getting passed from a table's scrollbar to its parent (kahrl)
  • Fixed minetest.place_schematic() when defined by a Lua table (kwolekr)
  • Ignore .name directories and files in main menu (SmallJoker)
  • Fixed some typos (sapier, rubenwardy, William Teder, ShadowNinja, kahrl, Zeno)

Modding-related changes

  • New drawtypes: mesh (RealBadAngel), firelike (TriBlade9), glasslike_framed_optional (BlockMen)
  • New texture modifiers: ^[mask (sfan5), ^[colorize (BlockMen)
  • New formspec element: scrollbar (sapier)
  • Allowed non-integer sizes for item_image[] (Zefram)
  • Added texture grouping via ( ... ) (sfan5)
  • Added mod profiling support (sapier)
  • Added compression API (ShadowNinja)
  • Added update of the Mapgen VoxelManipulator on buffer invalidation (kwolekr)
  • Added LuaVoxelManip methods: get_node_at() and set_node_at() (kwolekr)
  • Simplified and optimized schematic replacements (ShadowNinja)
  • Made dump's output prettier (ShadowNinja)
  • Added collision_box node property (RealBadAngel)
  • Added warning when creating a global variable (unless it has the same name as the current mod) (ShadowNinja)
  • Added minetest.copy_table(table), vector.apply(v, func) and math.sign(x, tolerance) (SmallJoker)
  • Improved documentation for remove_item, string_to_pos, dig_node, on_step, get_meta (Ciaran Gultnieks)
  • Added minetest.clear_registered_biomes() (kwolekr)
  • Added new noise parameters: flags and lacunarity (kwolekr)
  • Added support for NoiseParams in minetest.get_perlin() (kwolekr)
  • Exposed mapgen chunksize in on_mapgen_init callbacks (kwolekr)

Vanilla game changes (minetest_game)


  • Made opened trapdoor climbable (Zefram)
  • Made doors form double-doors with other doors of any kind (Zefram)
  • Added filled buckets to creative inventory (Zefram)
  • Enabled dungeon generation by default (Amaz1)
  • Improved handling of boats (paramat)
  • Added pine trees, with needles, tree, wood and saplings (paramat, PilzAdam)
  • Made player-placed leaves not decay (PilzAdam)
  • Reworked infotext of furnace (PilzAdam)
  • Added Obsidian Bricks (HybridDog)
  • Changed controls of screwdriver (tenplus1, PilzAdam)


  • Changed ingot textures (Nore)
  • Made TNT smoke round (ShadowNinja)
  • Made fire use new fire drawtype (BlockMen)
  • Added new textures for cobble and furnace (Neuromancer56, BlockMen)
  • Added new textures for grass (BlockMen, Philipbenr)
  • Made glass use new, optional framed drawtype (BlockMen)
  • Added new textures for apples, chests, dirt, desert stone bricks, HP bar, snowballs (BlockMen)
  • Added new textures for ores, vessels, grass (plant), leaves and ladders (kilbith)
  • Added new textures for flowers (RHRhino)
  • Added new textures for doors (Amaz1)
  • Changed soil textures to use an overlay over default_dirt.png (PilzAdam)
  • Added new textures for soil (PilzAdam)
  • Added a bit white to crack texture (ShadowNinja)
  • Made signs a 3D box, instead of just a 2D plane (Calinou)

Bug fixes

  • Fixed crafting recipe for iron bars (BlockMen)
  • Added protection support to TNT (BlockMen)
  • Retain sign text when editing is aborted via Esc (Zefram)
  • Fixed Desert Sand Soil dropping itself (Amaz1)
  • Consistently use group:stick in tool recipes (Zefram)
  • Fixed boats flying upwards (paramat)
  • Fixed hoes wearing out in creative mode (BlockMen)
  • Fixed brown dye being in yellow color group (BlockMen)
  • Fixed player staying attached when removing boat (BlockMen)
  • Removed “leaked” global variables (PenguinDad, kaeza, CraigyDavi, PilzAdam)
  • Fixed various bugs with fire sounds (PilzAdam)
  • Fixed possible stacking of books in bookshelf (MT-Modder)
  • Fixed soil drying out if nearby water is unloaded (PilzAdam)
  • Fixed rotating of locked doors to bypass them (PilzAdam)
  • Fixed screwdriver overriding bits in param2 that are not used for rotation (PilzAdam)


  • Added enable_tnt setting (ShadowNinja, Yepoleb)
  • Optimized TNT explosion (ShadowNinja)
  • Added option for custom opening and closing sound for doors (Jat15, Zefram)
  • Removed generation of flowers, papyrus, cactus and grass (plant) generation from other mapgenerators than v6 (paramat)
  • Removed ore definitions for indev mapgen (paramat)
  • Added all saplings to group sapling (PilzAdam)
  • Allowed the group book to be placed in bookshelf (PilzAdam)
  • Added a minetest.conf.example with all settings from minetest_game, that can be changed in mintest.conf (PilzAdam)
  • Removed remains of weather and finite liquids (PilzAdam)
  • Restructured and moved furnace code to furnace.lua (PilzAdam)

Master server (server list)

  • Announce mg_name from map_meta.txt instead of minetest.conf (kahrl)
Personal tools